Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F162703188
D57256.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D57256.diff
View Options
diff --git a/share/man/man9/iflibdd.9 b/share/man/man9/iflibdd.9
--- a/share/man/man9/iflibdd.9
+++ b/share/man/man9/iflibdd.9
@@ -207,6 +207,9 @@
the hardware receive queues.
nrxqs is the number of queues per qset.
nrxqsets is the number of qsets.
+The qset count is not guaranteed to be a power of two, so reduce an
+RSS bucket to a queue with a modulo, not an AND mask, or some queues
+are starved.
.It Fn ifdi_queues_free
Mandatory function that frees the allocated queues and associated transmit
buffers.
diff --git a/sys/net/rss_config.c b/sys/net/rss_config.c
--- a/sys/net/rss_config.c
+++ b/sys/net/rss_config.c
@@ -366,6 +366,10 @@
* NIC drivers can then iterate over the 128 slot RSS
* indirection table and fetch which RSS bucket to
* map it to. This will typically be a CPU queue
+ *
+ * Note: a NIC's RX queue count is not guaranteed to be a power of
+ * two, so reduce the returned bucket to a queue with a modulo, not
+ * an AND mask, or some queues are starved.
*/
u_int
rss_get_indirection_to_bucket(u_int index)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 16, 11:15 PM (14 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35151305
Default Alt Text
D57256.diff (1 KB)
Attached To
Mode
D57256: rss, iflib: document that RX queue counts are not power-of-two
Attached
Detach File
Event Timeline
Log In to Comment