summaryrefslogtreecommitdiff
path: root/include/target
diff options
context:
space:
mode:
authorPetar Penkov <peterpenkov96@gmail.com>2017-09-22 13:49:14 -0700
committerDavid S. Miller <davem@davemloft.net>2017-09-25 20:16:13 -0700
commit943170998b200190f99d3fe7e771437e2c51f319 (patch)
tree52b67ebd297eb5996e93b9682f820e8ea5a9612d /include/target
parente94cd8113ce63bca34040aae52d0603baf6ec07c (diff)
tun: enable NAPI for TUN/TAP driver
Changes TUN driver to use napi_gro_receive() upon receiving packets rather than netif_rx_ni(). Adds flag IFF_NAPI that enables these changes and operation is not affected if the flag is disabled. SKBs are constructed upon packet arrival and are queued to be processed later. The new path was evaluated with a benchmark with the following setup: Open two tap devices and a receiver thread that reads in a loop for each device. Start one sender thread and pin all threads to different CPUs. Send 1M minimum UDP packets to each device and measure sending time for each of the sending methods: napi_gro_receive(): 4.90s netif_rx_ni(): 4.90s netif_receive_skb(): 7.20s Signed-off-by: Petar Penkov <peterpenkov96@gmail.com> Cc: Eric Dumazet <edumazet@google.com> Cc: Mahesh Bandewar <maheshb@google.com> Cc: Willem de Bruijn <willemb@google.com> Cc: davem@davemloft.net Cc: ppenkov@stanford.edu Acked-by: Mahesh Bandewar <maheshb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/target')
0 files changed, 0 insertions, 0 deletions