diff options
author | David S. Miller <davem@davemloft.net> | 2009-01-27 19:22:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-27 19:22:32 -0500 |
commit | 0c8dfc830aadd978e461dad66c33741b71c6a0be (patch) | |
tree | 19b11c0ed81ffdd91250dcf8a8b9b84126a03ce7 | |
parent | d5a9e24afb4ab38110ebb777588ea0bd0eacbd0a (diff) |
net: Add skb_record_rx_queue() calls to multiqueue capable drivers.
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bnx2.c | 2 | ||||
-rw-r--r-- | drivers/net/bnx2x_main.c | 1 | ||||
-rw-r--r-- | drivers/net/cxgb3/sge.c | 1 | ||||
-rw-r--r-- | drivers/net/igb/igb_main.c | 1 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 1 | ||||
-rw-r--r-- | drivers/net/mlx4/en_rx.c | 1 | ||||
-rw-r--r-- | drivers/net/myri10ge/myri10ge.c | 1 | ||||
-rw-r--r-- | drivers/net/niu.c | 1 | ||||
-rw-r--r-- | drivers/net/qlge/qlge_main.c | 1 | ||||
-rw-r--r-- | drivers/net/s2io.c | 1 | ||||
-rw-r--r-- | drivers/net/sfc/rx.c | 2 |
11 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index fe575b9a9b73..49e0e51a9dfc 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -3007,6 +3007,8 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) | |||
3007 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 3007 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
3008 | } | 3008 | } |
3009 | 3009 | ||
3010 | skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]); | ||
3011 | |||
3010 | #ifdef BCM_VLAN | 3012 | #ifdef BCM_VLAN |
3011 | if (hw_vlan) | 3013 | if (hw_vlan) |
3012 | vlan_hwaccel_receive_skb(skb, bp->vlgrp, vtag); | 3014 | vlan_hwaccel_receive_skb(skb, bp->vlgrp, vtag); |
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 71f81c79d638..88da14c141f4 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
@@ -1325,6 +1325,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp, | |||
1325 | 1325 | ||
1326 | skb->protocol = eth_type_trans(skb, bp->dev); | 1326 | skb->protocol = eth_type_trans(skb, bp->dev); |
1327 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1327 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1328 | skb_record_rx_queue(skb, queue); | ||
1328 | 1329 | ||
1329 | { | 1330 | { |
1330 | struct iphdr *iph; | 1331 | struct iphdr *iph; |
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 8299fb538f25..272a0168f3e9 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -1937,6 +1937,7 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq, | |||
1937 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1937 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
1938 | } else | 1938 | } else |
1939 | skb->ip_summed = CHECKSUM_NONE; | 1939 | skb->ip_summed = CHECKSUM_NONE; |
1940 | skb_record_rx_queue(skb, qs - &adap->sge.qs[0]); | ||
1940 | 1941 | ||
1941 | if (unlikely(p->vlan_valid)) { | 1942 | if (unlikely(p->vlan_valid)) { |
1942 | struct vlan_group *grp = pi->vlan_grp; | 1943 | struct vlan_group *grp = pi->vlan_grp; |
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index e11043d90dbd..bd166803671d 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -3751,6 +3751,7 @@ static void igb_receive_skb(struct igb_ring *ring, u8 status, | |||
3751 | struct igb_adapter * adapter = ring->adapter; | 3751 | struct igb_adapter * adapter = ring->adapter; |
3752 | bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP)); | 3752 | bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP)); |
3753 | 3753 | ||
3754 | skb_record_rx_queue(skb, ring->queue_index); | ||
3754 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { | 3755 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { |
3755 | if (vlan_extracted) | 3756 | if (vlan_extracted) |
3756 | vlan_gro_receive(&ring->napi, adapter->vlgrp, | 3757 | vlan_gro_receive(&ring->napi, adapter->vlgrp, |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 43980dc45e3e..fe4a4d17c4bc 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -414,6 +414,7 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector, | |||
414 | bool is_vlan = (status & IXGBE_RXD_STAT_VP); | 414 | bool is_vlan = (status & IXGBE_RXD_STAT_VP); |
415 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); | 415 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); |
416 | 416 | ||
417 | skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]); | ||
417 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { | 418 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { |
418 | if (adapter->vlgrp && is_vlan && (tag != 0)) | 419 | if (adapter->vlgrp && is_vlan && (tag != 0)) |
419 | vlan_gro_receive(napi, adapter->vlgrp, tag, skb); | 420 | vlan_gro_receive(napi, adapter->vlgrp, tag, skb); |
diff --git a/drivers/net/mlx4/en_rx.c b/drivers/net/mlx4/en_rx.c index ac55ebd2f146..a4130e764991 100644 --- a/drivers/net/mlx4/en_rx.c +++ b/drivers/net/mlx4/en_rx.c | |||
@@ -768,6 +768,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud | |||
768 | 768 | ||
769 | skb->ip_summed = ip_summed; | 769 | skb->ip_summed = ip_summed; |
770 | skb->protocol = eth_type_trans(skb, dev); | 770 | skb->protocol = eth_type_trans(skb, dev); |
771 | skb_record_rx_queue(skb, cq->ring); | ||
771 | 772 | ||
772 | /* Push it up the stack */ | 773 | /* Push it up the stack */ |
773 | if (priv->vlgrp && (be32_to_cpu(cqe->vlan_my_qpn) & | 774 | if (priv->vlgrp && (be32_to_cpu(cqe->vlan_my_qpn) & |
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 2dacb8852dc3..aea9fdaa3cd5 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -1324,6 +1324,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, struct myri10ge_rx_buf *rx, | |||
1324 | skb_shinfo(skb)->nr_frags = 0; | 1324 | skb_shinfo(skb)->nr_frags = 0; |
1325 | } | 1325 | } |
1326 | skb->protocol = eth_type_trans(skb, dev); | 1326 | skb->protocol = eth_type_trans(skb, dev); |
1327 | skb_record_rx_queue(skb, ss - &mgp->ss[0]); | ||
1327 | 1328 | ||
1328 | if (mgp->csum_flag) { | 1329 | if (mgp->csum_flag) { |
1329 | if ((skb->protocol == htons(ETH_P_IP)) || | 1330 | if ((skb->protocol == htons(ETH_P_IP)) || |
diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 4a5a089fa301..2346ca6bf5ba 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c | |||
@@ -3390,6 +3390,7 @@ static int niu_process_rx_pkt(struct niu *np, struct rx_ring_info *rp) | |||
3390 | rp->rx_bytes += skb->len; | 3390 | rp->rx_bytes += skb->len; |
3391 | 3391 | ||
3392 | skb->protocol = eth_type_trans(skb, np->dev); | 3392 | skb->protocol = eth_type_trans(skb, np->dev); |
3393 | skb_record_rx_queue(skb, rp->rx_channel); | ||
3393 | netif_receive_skb(skb); | 3394 | netif_receive_skb(skb); |
3394 | 3395 | ||
3395 | return num_rcr; | 3396 | return num_rcr; |
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index 16eb9dd85286..4ab6e72ea95c 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c | |||
@@ -1436,6 +1436,7 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev, | |||
1436 | qdev->stats.rx_packets++; | 1436 | qdev->stats.rx_packets++; |
1437 | qdev->stats.rx_bytes += skb->len; | 1437 | qdev->stats.rx_bytes += skb->len; |
1438 | skb->protocol = eth_type_trans(skb, ndev); | 1438 | skb->protocol = eth_type_trans(skb, ndev); |
1439 | skb_record_rx_queue(skb, rx_ring - &qdev->rx_ring[0]); | ||
1439 | if (qdev->vlgrp && (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_V)) { | 1440 | if (qdev->vlgrp && (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_V)) { |
1440 | QPRINTK(qdev, RX_STATUS, DEBUG, | 1441 | QPRINTK(qdev, RX_STATUS, DEBUG, |
1441 | "Passing a VLAN packet upstream.\n"); | 1442 | "Passing a VLAN packet upstream.\n"); |
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 2a96a10fd0cf..e0a353f4ec92 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -7542,6 +7542,7 @@ static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) | |||
7542 | 7542 | ||
7543 | sp->mac_control.stats_info->sw_stat.mem_freed += skb->truesize; | 7543 | sp->mac_control.stats_info->sw_stat.mem_freed += skb->truesize; |
7544 | send_up: | 7544 | send_up: |
7545 | skb_record_rx_queue(skb, ring_no); | ||
7545 | queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2)); | 7546 | queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2)); |
7546 | aggregate: | 7547 | aggregate: |
7547 | sp->mac_control.rings[ring_no].rx_bufs_left -= 1; | 7548 | sp->mac_control.rings[ring_no].rx_bufs_left -= 1; |
diff --git a/drivers/net/sfc/rx.c b/drivers/net/sfc/rx.c index a0345b380979..66d7fe3db3e6 100644 --- a/drivers/net/sfc/rx.c +++ b/drivers/net/sfc/rx.c | |||
@@ -575,6 +575,8 @@ void __efx_rx_packet(struct efx_channel *channel, | |||
575 | /* Set the SKB flags */ | 575 | /* Set the SKB flags */ |
576 | skb->ip_summed = CHECKSUM_NONE; | 576 | skb->ip_summed = CHECKSUM_NONE; |
577 | 577 | ||
578 | skb_record_rx_queue(skb, channel->channel); | ||
579 | |||
578 | /* Pass the packet up */ | 580 | /* Pass the packet up */ |
579 | netif_receive_skb(skb); | 581 | netif_receive_skb(skb); |
580 | 582 | ||