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

From: Pekka Enberg
Date: Tue Jan 11 2011 - 03:29:19 EST


On 1/11/11 10:24 AM, David Rientjes wrote:
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).

I think the two patches should go in the same batch. Andrew, do you want to pick up the slab patch as well or do you want me to pick up Kame's patch?

Pekka

--
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/