| Date | Mon, 29 May 2006 23:26:54 +0200 | From | Ingo Molnar <> | Subject | [patch 47/61] lock validator: special locking: skb_queue_head_init() |
| |
From: Ingo Molnar <mingo@elte.hu>
teach special (multi-initialized) locking code to the lock validator. Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> --- --- include/linux/skbuff.h | 7 +------ net/core/skbuff.c | 9 +++++++++ 2 files changed, 10 insertions(+), 6 deletions(-)
Index: linux/include/linux/skbuff.h =================================================================== --- linux.orig/include/linux/skbuff.h +++ linux/include/linux/skbuff.h @@ -584,12 +584,7 @@ static inline __u32 skb_queue_len(const return list_->qlen; } -static inline void skb_queue_head_init(struct sk_buff_head *list) -{ - spin_lock_init(&list->lock); - list->prev = list->next = (struct sk_buff *)list; - list->qlen = 0; -} +extern void skb_queue_head_init(struct sk_buff_head *list); /* * Insert an sk_buff at the start of a list. Index: linux/net/core/skbuff.c =================================================================== --- linux.orig/net/core/skbuff.c +++ linux/net/core/skbuff.c @@ -71,6 +71,15 @@ static kmem_cache_t *skbuff_head_cache __read_mostly; static kmem_cache_t *skbuff_fclone_cache __read_mostly; +void skb_queue_head_init(struct sk_buff_head *list) +{ + spin_lock_init(&list->lock); + list->prev = list->next = (struct sk_buff *)list; + list->qlen = 0; +} + +EXPORT_SYMBOL(skb_queue_head_init); + /* * Keep out-of-line to prevent kernel bloat. * __builtin_return_address is not used because it is not always - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|