Messages in this thread | | | Date | Wed, 5 Feb 2014 13:07:05 -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:
> > There's an extremely small overhead of taking this lock, the cache has > > been destroyed and is the process of being torn down, there will be > > absolutely no contention on n->list_lock. > > But why add it if it isn't necessary? You're even disabling interrupts, > which means that you add to the response latency. That is, this change > does affect other aspects of the kernel! >
The functions that manipulate the partial lists was modified by c65c1877bd68 ("slub: use lockdep_assert_held") which replaced commentary with runtime checking on debug kernels with lockdep enabled. I'm not sure adding more code to do the remove_partial() and __remove_partial() variant is the right solution to just bypass the check; if anything, I think we should accept the fact that the comment should have been "requires n->list_lock if the slab cache can be accessed by other cpus" that makes it clear we don't need it for init and destroy paths.
| |