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
F173179935: D59798.id187057.diff
Thu, Sep 24, 3:36 AM
F173144417: D59798.diff
Wed, Sep 23, 10:07 PM
Unknown Object (File)
Wed, Sep 23, 7:00 AM
Unknown Object (File)
Wed, Sep 23, 6:54 AM
Unknown Object (File)
Tue, Sep 22, 8:36 AM
Unknown Object (File)
Mon, Sep 21, 10:46 PM
Unknown Object (File)
Mon, Sep 21, 10:19 PM
Unknown Object (File)
Mon, Sep 21, 6:41 PM
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.