diff options
author | stephen hemminger <stephen@networkplumber.org> | 2017-02-27 21:26:49 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-07 04:13:13 +0300 |
commit | 15a863bf7436124e799ba175a801e25f7b57191e (patch) | |
tree | 09d257a56027a36169f7d61fd316d4d27c16efb7 /drivers/net/hyperv/hyperv_net.h | |
parent | f3dd3f4797652c311df9c074436d420f1ad3566e (diff) | |
download | linux-15a863bf7436124e799ba175a801e25f7b57191e.tar.xz |
netvsc: implement NAPI
Use NAPI (softirq), to handle receive packets and send completions.
Previously this was handled by tasklet.
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 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index d3e73ac158ae..7433b164e513 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -196,6 +196,7 @@ int netvsc_recv_callback(struct net_device *net, const struct ndis_tcp_ip_checksum_info *csum_info, const struct ndis_pkt_8021q_info *vlan); void netvsc_channel_cb(void *context); +int netvsc_poll(struct napi_struct *napi, int budget); int rndis_filter_open(struct netvsc_device *nvdev); int rndis_filter_close(struct netvsc_device *nvdev); int rndis_filter_device_add(struct hv_device *dev, @@ -720,6 +721,7 @@ struct net_device_context { /* Per channel data */ struct netvsc_channel { struct vmbus_channel *channel; + struct napi_struct napi; struct multi_send_data msd; struct multi_recv_comp mrc; atomic_t queue_sends; |