Messages in this thread | | | Date | Wed, 5 Feb 2014 13:25:28 -0800 (PST) | From | David Rientjes <> | Subject | Re: [PATCH v3] slub: fix false-positive lockdep warning in free_partial() |
| |
On Wed, 5 Feb 2014, Steven Rostedt wrote:
> Then add the comment that clears this up. But lets not add spinlocks > just to quiet something if they truly are not needed. > > We use "__" variants all the time. That's really not extra code. > > Heck, if you want, call it remove_freed_partial() that shows that this > version skips the check because it is freed. > > And if you don't want to have remove_freed_partial() being called by > remove_partial() than still keep the "__" variant, add a > "__always_inline" to it, and then do: > > static __always_inline > __remove_partial(struct kmem_cache_node *n, struct page *page) > { > list_del(&page->lru); > n->nr_partial--; > } > > static inline remove_partial(struct kmem_cache_node *n, > struct page *page) > { > lockdep_assert_held(&n->list_lock); > __remove_partial(n, page); > } > > > static inline remove_freed_partial(struct kmem_cache_node *n, > struct page *page) > { > __remove_partial(n, page); > } > > The naming like this documents itself. >
Looks like you've got something prepared already! Mind sending it to Pekka as a patch based on linux-next?
| |