aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/net_dim.h
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2018-04-24 10:34:36 +0200
committerDavid S. Miller <davem@davemloft.net>2018-04-24 10:02:13 -0400
commitdb688c24eada63b1efe6d0d7d835e5c3bdd71fd3 (patch)
tree3df63f92fef41ce6307e60af071052b78eb147b9 /include/linux/net_dim.h
parentnet: fib_rules: fix l3mdev netlink attr processing (diff)
downloadlinux-dev-db688c24eada63b1efe6d0d7d835e5c3bdd71fd3.tar.xz
linux-dev-db688c24eada63b1efe6d0d7d835e5c3bdd71fd3.zip
vhost_net: use packet weight for rx handler, too
Similar to commit a2ac99905f1e ("vhost-net: set packet weight of tx polling to 2 * vq size"), we need a packet-based limit for handler_rx, too - elsewhere, under rx flood with small packets, tx can be delayed for a very long time, even without busypolling. The pkt limit applied to handle_rx must be the same applied by handle_tx, or we will get unfair scheduling between rx and tx. Tying such limit to the queue length makes it less effective for large queue length values and can introduce large process scheduler latencies, so a constant valued is used - likewise the existing bytes limit. The selected limit has been validated with PVP[1] performance test with different queue sizes: queue size 256 512 1024 baseline 366 354 362 weight 128 715 723 670 weight 256 740 745 733 weight 512 600 460 583 weight 1024 423 427 418 A packet weight of 256 gives peek performances in under all the tested scenarios. No measurable regression in unidirectional performance tests has been detected. [1] https://developers.redhat.com/blog/2017/06/05/measuring-and-comparing-open-vswitch-performance/ Signed-off-by: Paolo Abeni <pabeni@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/net_dim.h')
0 files changed, 0 insertions, 0 deletions