lkml.org 
[lkml]   [2011]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] slub: Fix sysfs circular locking dependency
On Tue, 11 Jan 2011, Pekka Enberg wrote:

> > > New patch that just covers the slub changes.
> > >
> > > Subject: slub: Avoid use of slub_lock in show_slab_objects()
> > >
> > > The purpose of the locking is to prevent removal and additions
> > > of nodes when statistics are gathered for a slab cache. So we
> > > need to avoid racing with memory hotplug functionality.
> > >
> > > It is enough to take the memory hotplug locks there instead
> > > of the slub_lock.
> > >
> > > online_pages() currently does not acquire the memory_hotplug
> > > lock. Another patch will be submitted by the memory hotplug
> > > authors to take the memory hotplug lock and describe the
> > > uses of the memory hotplug lock to protect against
> > > adding and removal of nodes from non hotplug data structures.
> > >
> > > Signed-off-by: Christoph Lameter<cl@linux.com>
> > Acked-by: David Rientjes<rientjes@google.com>
>
> Is this safe to be applied without the other hotplug parts?
>

It's safe, but not protecting anything since it can race with memory
hot-add and cause inconsistent information to be displayed (since we
iterate over N_NORMAL_MEMORY several times in show_slab_objects() and the
memory hotplug code modifies it). I'm hoping Andrew can push Kame's patch
to add lock_memory_hotplug() to online_pages() either during the merge
window or during -rc1 (it has good justification -- it can race with
memory hot-remove) and this can also be pushed during the rc series (to
fix the lockdep warning).


\
 
 \ /
  Last update: 2011-01-11 09:27    [W:0.073 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site