Page MenuHomeFreeBSD

mlx4en: Use the common RSS key for programming and queries
ClosedPublic

Authored by kbowling on Fri, Sep 18, 8:42 AM.
Tags
None
Referenced Files
F172513429: D59798.id187041.diff
Fri, Sep 18, 11:23 PM
F172495810: D59798.id187057.diff
Fri, Sep 18, 8:52 PM
F172492636: D59798.diff
Fri, Sep 18, 8:24 PM
F172464451: D59798.diff
Fri, Sep 18, 4:03 PM
F172429758: D59798.id187057.diff
Fri, Sep 18, 10:12 AM
F172429683: D59798.diff
Fri, Sep 18, 10:11 AM
Subscribers

Details

Summary
Replace the private fixed key with rss_getkey().  Copy the common byte
stream directly into the RSS queue-pair context and use the same helper
for SIOCGIFRSSKEY, so hardware programming and hn's query agree.

Change the helper to fill caller-owned storage instead of returning a
pointer to a static key.  Check the fixed hardware and ioctl buffer sizes
at compile time.  Leave RSS masks and queue steering unchanged.

MFC after:      2 weeks
Sponsored by:   BBOX.io

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Nvidia does not maintain the mlx4 driver, and I cannot even test it. Change it on your own discretion.

sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c
2095

Why CTASSERT() and not KASSERT()?

sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c
2095

I mean _Static_assert() of course.

kbowling marked 2 inline comments as done.
This revision was not accepted when it landed; it landed in state Needs Review.Fri, Sep 18, 11:00 PM
This revision was automatically updated to reflect the committed changes.