diff options
author | Petar Penkov <[email protected]> | 2017-09-22 13:49:14 -0700 |
---|---|---|
committer | David S. Miller <[email protected]> | 2017-09-25 20:16:13 -0700 |
commit | 943170998b200190f99d3fe7e771437e2c51f319 (patch) | |
tree | 52b67ebd297eb5996e93b9682f820e8ea5a9612d /net/unix/sysctl_net_unix.c | |
parent | e94cd8113ce63bca34040aae52d0603baf6ec07c (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 <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Mahesh Bandewar <[email protected]>
Cc: Willem de Bruijn <[email protected]>
Cc: [email protected]
Cc: [email protected]
Acked-by: Mahesh Bandewar <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions