Commit d5e15dc8 authored by David S. Miller's avatar David S. Miller

skbuff.c: Fix preempt fix lossage from acme cleanups.

parent 5f6c1284
...@@ -115,6 +115,7 @@ static __inline__ struct sk_buff *skb_head_from_pool(void) ...@@ -115,6 +115,7 @@ static __inline__ struct sk_buff *skb_head_from_pool(void)
unsigned long flags; unsigned long flags;
local_irq_save(flags); local_irq_save(flags);
list = &skb_head_pool[smp_processor_id()].list; list = &skb_head_pool[smp_processor_id()].list;
if (skb_queue_len(list)) if (skb_queue_len(list))
...@@ -130,13 +131,18 @@ static __inline__ void skb_head_to_pool(struct sk_buff *skb) ...@@ -130,13 +131,18 @@ static __inline__ void skb_head_to_pool(struct sk_buff *skb)
unsigned long flags; unsigned long flags;
local_irq_save(flags); local_irq_save(flags);
list = &skb_head_pool[smp_processor_id()].list; list = &skb_head_pool[smp_processor_id()].list;
if (skb_queue_len(list) < sysctl_hot_list_len) { if (skb_queue_len(list) < sysctl_hot_list_len) {
__skb_queue_head(list, skb); __skb_queue_head(list, skb);
local_irq_restore(flags); local_irq_restore(flags);
return;
}
local_irq_restore(flags); local_irq_restore(flags);
kmem_cache_free(skbuff_head_cache, skb);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment