summaryrefslogtreecommitdiff
path: root/usr/src/man/man7d
diff options
context:
space:
mode:
authorPaul Winder <pwinder@racktopsystems.com>2020-03-09 13:16:05 +0000
committerPaul Winder <paul@winders.demon.co.uk>2020-04-14 16:40:07 +0100
commit22d052287ba7ed169757650e2eec25fedbae163a (patch)
treecc05c04281562815d8c52d8e2d7f3023d10f3a9f /usr/src/man/man7d
parent63878f749f68d1c188363e0e7a36e7b7e855dff2 (diff)
downloadillumos-gate-22d052287ba7ed169757650e2eec25fedbae163a.tar.gz
12383 Slow down and lock up in mlxcx receive interrupt path
12438 mlxcx should pass receive messages to mac layer more frequently 12439 mlxcx send rings can overflow 12440 mlxcx should not block in the send path 12441 mlxcx default queue sizes are a bit on the small size Reviewed by: Garrett D'Amore <garrett@damore.org> Reviewed by: Andy Stormont <astormont@racktopsystems.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Robert Mustacchi <rm@fingolfin.org> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/man/man7d')
-rw-r--r--usr/src/man/man7d/mlxcx.7d39
1 files changed, 32 insertions, 7 deletions
diff --git a/usr/src/man/man7d/mlxcx.7d b/usr/src/man/man7d/mlxcx.7d
index 5373b5bec5..d7b0cf8ad9 100644
--- a/usr/src/man/man7d/mlxcx.7d
+++ b/usr/src/man/man7d/mlxcx.7d
@@ -11,7 +11,7 @@
.\"
.\" Copyright 2020 the University of Queensland
.\"
-.Dd January 17, 2020
+.Dd April 9, 2020
.Dt MLXCX 7D
.Os
.Sh NAME
@@ -94,8 +94,11 @@ property determines the number of entries on Completion Queues for the device.
The number of entries is calculated as
.Li (1 << cq_size_shift) ,
so a value of 9 would mean 512 entries are created on each Event Queue.
-The default value is
-.Sy 10 .
+The default value is device dependent,
+.Sy 10
+for devices with maximum supported speed of 10Gb/s or less and
+.Sy 12
+for devices with higher supported speeds.
This should be kept very close to the value set for
.Sy rq_size_shift
and
@@ -116,8 +119,11 @@ The number of descriptors is calculated as
.Dv (1 << rq_size_shift) ,
so a value of 9 would mean 512 descriptors are created on each Receive Queue.
This sets the number of packets on RX rings advertised to MAC.
-The default value is
-.Sy 10 .
+The default value is device dependent,
+.Sy 10
+for devices with maximum supported speed of 10Gb/s or less and
+.Sy 12
+for devices with higher supported speeds.
.Ed
.It Sy sq_size_shift
.Bd -filled -compact
@@ -134,8 +140,11 @@ The number of descriptors is calculated as
.Dv (1 << sq_size_shift) ,
so a value of 9 would mean 512 descriptors are created on each Send Queue.
This sets the number of packets on RX rings advertised to MAC.
-The default value is
-.Sy 11 .
+The default value is device dependent,
+.Sy 11
+for devices with maximum supported speed of 10Gb/s or less and
+.Sy 13
+for devices with higher supported speeds.
Note that large packets often occupy more than one descriptor slot on the SQ,
so it is sometimes a good idea to increase this if using a large MTU.
.Ed
@@ -325,6 +334,22 @@ is seldom worth using them for small packets.
The default value is
.Sy 2048 .
.Ed
+.It Sy rx_limit_per_completion
+.Bd -filled -compact
+Minimum:
+.Sy 16 |
+Maximum:
+.Sy 4096
+.Ed
+.Bd -filled
+The
+.Sy rx_limit_per_completion
+property determines the maximum number of packets that
+will be processed on a given completion ring during a single interrupt.
+This is done to try and guarantee some amount of liveness in the system.
+The default value is
+.Sy 256 .
+.Ed
.El
.Sh FILES
.Bl -tag -width Pa