net/netvsc: allow setting Rx and Tx copy break
authorStephen Hemminger <stephen@networkplumber.org>
Sat, 31 Oct 2020 00:24:08 +0000 (17:24 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 3 Nov 2020 22:35:07 +0000 (23:35 +0100)
commit74a5a6663b5820211b8f4c0a9610ae1f0f8bd497
tree07d68a6c1d036633851f80542ce7b9ab3b8e095b
parent364eb0e46683ad1a8bcf26263d25e4b5ca8c875d
net/netvsc: allow setting Rx and Tx copy break

The values for Rx and Tx copy break should be tunable rather
than hard coded constants.

The rx_copybreak sets the threshold where the driver uses an
external mbuf to avoid having to copy data. Setting 0 for copybreak
will cause driver to always create an external mbuf. Setting
a value greater than the MTU would prevent it from ever making
an external mbuf and always copy. The default value is 256 (bytes).

Likewise the tx_copybreak sets the threshold where the driver
aggregates multiple small packets into one request. If tx_copybreak
is 0 then each packet goes as a VMBus request (no copying).
If tx_copybreak is set larger than the MTU, then all packets smaller
than the chunk size of the VMBus send buffer will be copied; larger
packets always have to go as a single direct request. The default
value is 512 (bytes).

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Long Li <longli@microsoft.com>
doc/guides/nics/netvsc.rst
drivers/net/netvsc/hn_ethdev.c
drivers/net/netvsc/hn_rxtx.c
drivers/net/netvsc/hn_var.h