Re: [PATCH] slub: Fix sysfs circular locking dependency

From: David Rientjes
Date: Tue Jan 11 2011 - 03:24:26 EST


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@xxxxxxxxx>
> > Acked-by: David Rientjes<rientjes@xxxxxxxxxx>
>
> 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).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/