linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [linux-next][PATCH] mm: slub: work around unneeded lockdep warning
@ 2014-01-24 15:20 Dave Hansen
  2014-01-26  4:41 ` David Rientjes
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Hansen @ 2014-01-24 15:20 UTC (permalink / raw)
  To: linux-mm; +Cc: linux-kernel, Dave Hansen, peterz, penberg, linux


I think this is a next-only thing.  Pekka, can you pick this up,
please?

--

From: Dave Hansen <dave.hansen@linux.intel.com>

The slub code does some setup during early boot in
early_kmem_cache_node_alloc() with some local data.  There is no
possible way that another CPU can see this data, so the slub code
doesn't unnecessarily lock it.  However, some new lockdep asserts
check to make sure that add_partial() _always_ has the list_lock
held.

Just add the locking, even though it is technically unnecessary.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
---

 b/mm/slub.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff -puN mm/slub.c~slub-lockdep-workaround mm/slub.c
--- a/mm/slub.c~slub-lockdep-workaround	2014-01-24 07:19:23.794069012 -0800
+++ b/mm/slub.c	2014-01-24 07:19:23.799069236 -0800
@@ -2890,7 +2890,13 @@ static void early_kmem_cache_node_alloc(
 	init_kmem_cache_node(n);
 	inc_slabs_node(kmem_cache_node, node, page->objects);
 
+	/*
+	 * the lock is for lockdep's sake, not for any actual
+	 * race protection
+	 */
+	spin_lock(&n->list_lock);
 	add_partial(n, page, DEACTIVATE_TO_HEAD);
+	spin_unlock(&n->list_lock);
 }
 
 static void free_kmem_cache_nodes(struct kmem_cache *s)
_

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [linux-next][PATCH] mm: slub: work around unneeded lockdep warning
  2014-01-24 15:20 [linux-next][PATCH] mm: slub: work around unneeded lockdep warning Dave Hansen
@ 2014-01-26  4:41 ` David Rientjes
  0 siblings, 0 replies; 2+ messages in thread
From: David Rientjes @ 2014-01-26  4:41 UTC (permalink / raw)
  To: Dave Hansen; +Cc: linux-mm, linux-kernel, peterz, penberg, linux

On Fri, 24 Jan 2014, Dave Hansen wrote:

> From: Dave Hansen <dave.hansen@linux.intel.com>
> 
> The slub code does some setup during early boot in
> early_kmem_cache_node_alloc() with some local data.  There is no
> possible way that another CPU can see this data, so the slub code
> doesn't unnecessarily lock it.  However, some new lockdep asserts
> check to make sure that add_partial() _always_ has the list_lock
> held.
> 
> Just add the locking, even though it is technically unnecessary.
> 
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Pekka Enberg <penberg@kernel.org>
> Cc: Russell King <linux@arm.linux.org.uk>

Acked-by: David Rientjes <rientjes@google.com>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-01-26  4:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-24 15:20 [linux-next][PATCH] mm: slub: work around unneeded lockdep warning Dave Hansen
2014-01-26  4:41 ` David Rientjes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).