summaryrefslogtreecommitdiffstats
path: root/tools/accounting
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2017-05-17 12:14:45 +0800
committerDavid S. Miller <davem@davemloft.net>2017-05-18 10:07:42 -0400
commitc67df11f6e48061e43e9bf9dade83fe268b47d27 (patch)
tree240db037b0414eda56435162247acabd75dd1477 /tools/accounting
parent3b4ba04acca8f98a62fd014a0826ea10bc93cde3 (diff)
downloadlinux-c67df11f6e48061e43e9bf9dade83fe268b47d27.tar.bz2
vhost_net: try batch dequing from skb array
We used to dequeue one skb during recvmsg() from skb_array, this could be inefficient because of the bad cache utilization and spinlock touching for each packet. This patch tries to batch them by calling batch dequeuing helpers explicitly on the exported skb array and pass the skb back through msg_control for underlayer socket to finish the userspace copying. Batch dequeuing is also the requirement for more batching improvement on receive path. Tests were done by pktgen on tap with XDP1 in guest. Host is Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz. rx batch | pps 0 2.25Mpps 1 2.33Mpps (+3.56%) 4 2.33Mpps (+3.56%) 16 2.35Mpps (+4.44%) 64 2.42Mpps (+7.56%) <- Default rx batching 128 2.40Mpps (+6.67%) 256 2.38Mpps (+5.78%) Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/accounting')
0 files changed, 0 insertions, 0 deletions