Page MenuHomeFreeBSD

ixl(4): Fix two important RSS bugs.
ClosedPublic

Authored by erj on Feb 5 2016, 10:14 PM.

Details

Summary
  • Change tc_mapping field from 0x8000 to 0x0c00; this allows RSS to hash to 64 queues instead of 16.
  • Set hash_lut_size to 512 before calling filter control; the default size is 128 if that bit is not set.

Related bugzilla: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203445

Test Plan

Test using 8-64 queues (64 threads of 32 byte UDP)

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

erj updated this revision to Diff 13069.Feb 5 2016, 10:14 PM
erj retitled this revision from to ixl(4): Fix two important RSS bugs..
erj updated this object.
erj updated this object.Feb 5 2016, 10:17 PM
adrian added inline comments.Feb 5 2016, 10:21 PM
sys/dev/ixl/if_ixl.c
2763 ↗(On Diff #13069)

hiya,

can you comment what this mapping means? Otherwise it's just a magic constant. :)

erj added inline comments.Feb 5 2016, 11:55 PM
sys/dev/ixl/if_ixl.c
2763 ↗(On Diff #13069)

I guess I could clarify what the 3 bits that are set here are for. But honestly, you should be reading the datasheet to find out what it does.

Until then, it means the number of queues assigned to the VSI for traffic class 0; 2^n of the value bytes/bits 1.1-1.3 is that number. I'll look to see if there's a constant defined in the shared code that I can use, or otherwise create one.

erj updated this revision to Diff 13133.Feb 8 2016, 11:10 PM

Update with no magic number and a better comment.

jeffrey.e.pieper_intel.com edited the test plan for this revision. (Show Details)
jeffrey.e.pieper_intel.com edited edge metadata.
This revision is now accepted and ready to land.Feb 11 2016, 11:01 PM
erj removed a subscriber: gallatin.
gallatin accepted this revision.Feb 18 2016, 3:06 AM
gallatin edited edge metadata.
This revision was automatically updated to reflect the committed changes.