summaryrefslogtreecommitdiffstats
path: root/drivers/net/hyperv/hyperv_net.h
diff options
context:
space:
mode:
authorstephen hemminger2017-03-22 22:50:57 +0100
committerDavid S. Miller2017-03-23 03:38:55 +0100
commitf4f1c23d6e41f5ee4973a6da65cba1e1c536ec29 (patch)
treed23392e3bca366f33c25b3dca2b1f24b7458a630 /drivers/net/hyperv/hyperv_net.h
parentliquidio: fix tx completions in napi poll (diff)
downloadkernel-qcow2-linux-f4f1c23d6e41f5ee4973a6da65cba1e1c536ec29.tar.gz
kernel-qcow2-linux-f4f1c23d6e41f5ee4973a6da65cba1e1c536ec29.tar.xz
kernel-qcow2-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.h1
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;