skb->ip_summed = CHECKSUM_UNNECESSARY;
                }
 
+               skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]);
+
 #ifdef BCM_VLAN
                if (hw_vlan)
                        vlan_hwaccel_receive_skb(skb, bp->vlgrp, vtag);
 
 
                skb->protocol = eth_type_trans(skb, bp->dev);
                skb->ip_summed = CHECKSUM_UNNECESSARY;
+               skb_record_rx_queue(skb, queue);
 
                {
                        struct iphdr *iph;
 
                skb->ip_summed = CHECKSUM_UNNECESSARY;
        } else
                skb->ip_summed = CHECKSUM_NONE;
+       skb_record_rx_queue(skb, qs - &adap->sge.qs[0]);
 
        if (unlikely(p->vlan_valid)) {
                struct vlan_group *grp = pi->vlan_grp;
 
        struct igb_adapter * adapter = ring->adapter;
        bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP));
 
+       skb_record_rx_queue(skb, ring->queue_index);
        if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
                if (vlan_extracted)
                        vlan_gro_receive(&ring->napi, adapter->vlgrp,
 
        bool is_vlan = (status & IXGBE_RXD_STAT_VP);
        u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
 
+       skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]);
        if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
                if (adapter->vlgrp && is_vlan && (tag != 0))
                        vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
 
 
                skb->ip_summed = ip_summed;
                skb->protocol = eth_type_trans(skb, dev);
+               skb_record_rx_queue(skb, cq->ring);
 
                /* Push it up the stack */
                if (priv->vlgrp && (be32_to_cpu(cqe->vlan_my_qpn) &
 
                skb_shinfo(skb)->nr_frags = 0;
        }
        skb->protocol = eth_type_trans(skb, dev);
+       skb_record_rx_queue(skb, ss - &mgp->ss[0]);
 
        if (mgp->csum_flag) {
                if ((skb->protocol == htons(ETH_P_IP)) ||
 
        rp->rx_bytes += skb->len;
 
        skb->protocol = eth_type_trans(skb, np->dev);
+       skb_record_rx_queue(skb, rp->rx_channel);
        netif_receive_skb(skb);
 
        return num_rcr;
 
        qdev->stats.rx_packets++;
        qdev->stats.rx_bytes += skb->len;
        skb->protocol = eth_type_trans(skb, ndev);
+       skb_record_rx_queue(skb, rx_ring - &qdev->rx_ring[0]);
        if (qdev->vlgrp && (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_V)) {
                QPRINTK(qdev, RX_STATUS, DEBUG,
                        "Passing a VLAN packet upstream.\n");
 
 
        sp->mac_control.stats_info->sw_stat.mem_freed += skb->truesize;
 send_up:
+       skb_record_rx_queue(skb, ring_no);
        queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2));
 aggregate:
        sp->mac_control.rings[ring_no].rx_bufs_left -= 1;
 
        /* Set the SKB flags */
        skb->ip_summed = CHECKSUM_NONE;
 
+       skb_record_rx_queue(skb, channel->channel);
+
        /* Pass the packet up */
        netif_receive_skb(skb);