mirror of https://gitee.com/openkylin/linux.git
net: don't bother calling list RX functions on empty lists
Generally the check should be very cheap, as the sk_buff_head is in cache. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5fa12739a5
commit
b9f463d6c9
|
@ -4887,7 +4887,8 @@ static void __netif_receive_skb_list(struct list_head *head)
|
|||
|
||||
/* Handle the previous sublist */
|
||||
list_cut_before(&sublist, head, &skb->list);
|
||||
__netif_receive_skb_list_core(&sublist, pfmemalloc);
|
||||
if (!list_empty(&sublist))
|
||||
__netif_receive_skb_list_core(&sublist, pfmemalloc);
|
||||
pfmemalloc = !pfmemalloc;
|
||||
/* See comments in __netif_receive_skb */
|
||||
if (pfmemalloc)
|
||||
|
@ -4897,7 +4898,8 @@ static void __netif_receive_skb_list(struct list_head *head)
|
|||
}
|
||||
}
|
||||
/* Handle the remaining sublist */
|
||||
__netif_receive_skb_list_core(head, pfmemalloc);
|
||||
if (!list_empty(head))
|
||||
__netif_receive_skb_list_core(head, pfmemalloc);
|
||||
/* Restore pflags */
|
||||
if (pfmemalloc)
|
||||
memalloc_noreclaim_restore(noreclaim_flag);
|
||||
|
@ -5058,6 +5060,8 @@ void netif_receive_skb_list(struct list_head *head)
|
|||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
if (list_empty(head))
|
||||
return;
|
||||
list_for_each_entry(skb, head, list)
|
||||
trace_netif_receive_skb_list_entry(skb);
|
||||
netif_receive_skb_list_internal(head);
|
||||
|
|
Loading…
Reference in New Issue