diff options
author | hselasky <hselasky@FreeBSD.org> | 2016-05-20 06:54:58 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2016-05-20 06:54:58 +0000 |
commit | 64d010d53317655ede6d212985d499e1b7c7f583 (patch) | |
tree | 5b13ba2b91ef24aa9fc4103002682befe2d95de1 /sys/geom/raid/g_raid.c | |
parent | ad10425ff7c11b0f9841a9ff53859ca0d7800109 (diff) | |
download | FreeBSD-src-64d010d53317655ede6d212985d499e1b7c7f583.zip FreeBSD-src-64d010d53317655ede6d212985d499e1b7c7f583.tar.gz |
Implement TX completion event interleaving.
This patch implements a sysctl which allows setting a factor, N, for
how many work queue elements can be generated before requiring a
completion event. When a completion event happens the code simulates N
completion events instead of only one. When draining a transmit queue,
N-1 NOPs are transmitted at most, to force generation of the final
completion event. Further a timer is running every HZ ticks to flush
any remaining data off the transmit queue when the tx_completion_fact
> 1.
The goal of this feature is to reduce the PCI bandwidth needed when
transmitting data.
Sponsored by: Mellanox Technologies
Tested by: Netflix
MFC after: 1 week
Diffstat (limited to 'sys/geom/raid/g_raid.c')
0 files changed, 0 insertions, 0 deletions