|
@@ -1536,6 +1536,7 @@ static void tun_rx_batched(struct tun_struct *tun, struct tun_file *tfile,
|
|
|
|
|
|
if (!rx_batched || (!more && skb_queue_empty(queue))) {
|
|
|
local_bh_disable();
|
|
|
+ skb_record_rx_queue(skb, tfile->queue_index);
|
|
|
netif_receive_skb(skb);
|
|
|
local_bh_enable();
|
|
|
return;
|
|
@@ -1555,8 +1556,11 @@ static void tun_rx_batched(struct tun_struct *tun, struct tun_file *tfile,
|
|
|
struct sk_buff *nskb;
|
|
|
|
|
|
local_bh_disable();
|
|
|
- while ((nskb = __skb_dequeue(&process_queue)))
|
|
|
+ while ((nskb = __skb_dequeue(&process_queue))) {
|
|
|
+ skb_record_rx_queue(nskb, tfile->queue_index);
|
|
|
netif_receive_skb(nskb);
|
|
|
+ }
|
|
|
+ skb_record_rx_queue(skb, tfile->queue_index);
|
|
|
netif_receive_skb(skb);
|
|
|
local_bh_enable();
|
|
|
}
|
|
@@ -2451,6 +2455,7 @@ build:
|
|
|
if (!rcu_dereference(tun->steering_prog))
|
|
|
rxhash = __skb_get_hash_symmetric(skb);
|
|
|
|
|
|
+ skb_record_rx_queue(skb, tfile->queue_index);
|
|
|
netif_receive_skb(skb);
|
|
|
|
|
|
stats = get_cpu_ptr(tun->pcpu_stats);
|