aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-01-27 19:22:32 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-27 19:22:32 -0500
commit0c8dfc830aadd978e461dad66c33741b71c6a0be (patch)
tree19b11c0ed81ffdd91250dcf8a8b9b84126a03ce7
parentd5a9e24afb4ab38110ebb777588ea0bd0eacbd0a (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.c2
-rw-r--r--drivers/net/bnx2x_main.c1
-rw-r--r--drivers/net/cxgb3/sge.c1
-rw-r--r--drivers/net/igb/igb_main.c1
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c1
-rw-r--r--drivers/net/mlx4/en_rx.c1
-rw-r--r--drivers/net/myri10ge/myri10ge.c1
-rw-r--r--drivers/net/niu.c1
-rw-r--r--drivers/net/qlge/qlge_main.c1
-rw-r--r--drivers/net/s2io.c1
-rw-r--r--drivers/net/sfc/rx.c2
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;
7544send_up: 7544send_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));
7546aggregate: 7547aggregate:
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