HomeFreeBSD

Move the IPv4 reassembly queue locking from a single lock to be per-bucket…

Description

Move the IPv4 reassembly queue locking from a single lock to be per-bucket (global).

This significantly improves performance on multi-core servers where there
is any kind of IPv4 reassembly going on.

glebius@ would like to see the locking moved to be attached to the reassembly
bucket, which would make it per-bucket + per-VNET, instead of being global.
I decided to keep it global for now as it's the minimal useful change;
if people agree / wish to migrate it to be per-bucket / per-VNET then please
do feel free to do so. I won't complain.

Thanks to Norse Corp for giving me access to much larger servers
to test this at across the 4 core boxes I have at home.

Differential Revision: https://reviews.freebsd.org/D2095
Reviewed by: glebius (initial comments incorporated into this patch)
MFC after: 2 weeks
Sponsored by: Norse Corp, Inc (hardware)

Details

Provenance
adrianAuthored on
Reviewer
glebius
Differential Revision
D2095: Break out IPv4 reassembly locking into per-hash-bucket locks.
Parents
rS281238: Add EFI boot1 for i386
Branches
Unknown
Tags
Unknown

Event Timeline