diff options
author | Haiyang Zhang <haiyangz@microsoft.com> | 2014-04-21 14:54:43 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-23 14:48:39 -0400 |
commit | 4baab26129e0540746744232022110dbe9e011e7 (patch) | |
tree | 191b15d289faf1ba4cdaf6005156cbe87a920901 /drivers/net/hyperv/netvsc_drv.c | |
parent | fd0d192be6e814495aec91f357b5801afc3b6262 (diff) | |
download | talos-op-linux-4baab26129e0540746744232022110dbe9e011e7.tar.gz talos-op-linux-4baab26129e0540746744232022110dbe9e011e7.zip |
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.c | 2 |
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); |