summaryrefslogtreecommitdiff
path: root/drivers/net/hyperv/netvsc_drv.c
diff options
context:
space:
mode:
authorHaiyang Zhang <haiyangz@microsoft.com>2014-04-22 01:54:43 +0400
committerDavid S. Miller <davem@davemloft.net>2014-04-23 22:48:39 +0400
commit4baab26129e0540746744232022110dbe9e011e7 (patch)
tree191b15d289faf1ba4cdaf6005156cbe87a920901 /drivers/net/hyperv/netvsc_drv.c
parentfd0d192be6e814495aec91f357b5801afc3b6262 (diff)
downloadlinux-4baab26129e0540746744232022110dbe9e011e7.tar.xz
hyperv: Remove recv_pkt_list and lock
Removed recv_pkt_list and lock, and updated related code, so that the locking overhead is reduced especially when multiple channels are in use. The recv_pkt_list isn't actually necessary because the packets are processed sequentially in each channel. It has been replaced by a local variable, and the related lock for this list is also removed. The is_data_pkt field is not used in receive path, so its assignment is cleaned up. Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Reviewed-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/netvsc_drv.c')
-rw-r--r--drivers/net/hyperv/netvsc_drv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 093cf3fc46b8..8f6d53a2ed95 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -638,7 +638,7 @@ int netvsc_recv_callback(struct hv_device *device_obj,
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
packet->vlan_tci);
- skb_record_rx_queue(skb, packet->xfer_page_pkt->channel->
+ skb_record_rx_queue(skb, packet->channel->
offermsg.offer.sub_channel_index %
net->real_num_rx_queues);