diff options
author | stephen hemminger <stephen@networkplumber.org> | 2017-03-22 22:50:57 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-23 03:38:55 +0100 |
commit | f4f1c23d6e41f5ee4973a6da65cba1e1c536ec29 (patch) | |
tree | d23392e3bca366f33c25b3dca2b1f24b7458a630 /drivers/net/hyperv/hyperv_net.h | |
parent | liquidio: fix tx completions in napi poll (diff) | |
download | linux-f4f1c23d6e41f5ee4973a6da65cba1e1c536ec29.tar.xz linux-f4f1c23d6e41f5ee4973a6da65cba1e1c536ec29.zip |
netvsc: fix NAPI performance regression
When using NAPI, the single stream performance declined signifcantly
because the poll routine was updating host after every burst
of packets. This excess signalling caused host throttling.
This fix restores the old behavior. Host is only signalled
after the ring has been emptied.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/hyperv_net.h')
-rw-r--r-- | drivers/net/hyperv/hyperv_net.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index 6b5f75217694..a33f2ee86044 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -723,6 +723,7 @@ struct net_device_context { /* Per channel data */ struct netvsc_channel { struct vmbus_channel *channel; + const struct vmpacket_descriptor *desc; struct napi_struct napi; struct multi_send_data msd; struct multi_recv_comp mrc; |