diff options
| author | David S. Miller <davem@nuts.ninka.net> | 2002-06-07 09:46:22 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2002-06-07 09:46:22 -0700 |
| commit | d5e15dc8e8365baf78770bd3f97e6727c49de75f (patch) | |
| tree | 0e6bf22b56718b93f1e00a44df9392a1354815af /net/core | |
| parent | 5f6c1284fbb746d91c10191535a341238295974b (diff) | |
skbuff.c: Fix preempt fix lossage from acme cleanups.
Diffstat (limited to 'net/core')
| -rw-r--r-- | net/core/skbuff.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 55c2c805ee71..74cbdeb53734 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -115,6 +115,7 @@ static __inline__ struct sk_buff *skb_head_from_pool(void) unsigned long flags; local_irq_save(flags); + list = &skb_head_pool[smp_processor_id()].list; if (skb_queue_len(list)) @@ -130,13 +131,18 @@ static __inline__ void skb_head_to_pool(struct sk_buff *skb) unsigned long flags; local_irq_save(flags); + list = &skb_head_pool[smp_processor_id()].list; if (skb_queue_len(list) < sysctl_hot_list_len) { __skb_queue_head(list, skb); local_irq_restore(flags); + return; + } + local_irq_restore(flags); + kmem_cache_free(skbuff_head_cache, skb); } |
