[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0804120024470.18799@sbz-30.cs.Helsinki.FI>
Date: Sat, 12 Apr 2008 00:25:21 +0300 (EEST)
From: Pekka J Enberg <penberg@...helsinki.fi>
To: Alexey Dobriyan <adobriyan@...il.com>
cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Christoph Lameter <clameter@....com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Subject: Re: 2.6.25-rc8-mm2: boot hang after "ACPI: using IOAPIC for interrupt
routing"
On Sat, 12 Apr 2008, Alexey Dobriyan wrote:
> > Alexey, can you try passing the 'slub_nomerge' option to the kernel to
> > see if the hang goes away with that?
>
> nomerge doesn't help as well as turning on combinations of SLUB debug options.
Does the following patch fix it?
Pekka
>From 7c7e7e5e7ec07c0a47705b2d21c779c39ba02252 Mon Sep 17 00:00:00 2001
From: Pekka Enberg <penberg@...helsinki.fi>
Date: Fri, 11 Apr 2008 17:17:43 +0300
Subject: [PATCH] slub: add missing slab_unlock() to __kmem_cache_shrink()
If page is not kickable, remember to slab_unlock() before continuing the loop.
Signed-off-by: Pekka Enberg <penberg@...helsinki.fi>
---
mm/slub.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index 4b694a7..f09f1fb 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2926,8 +2926,10 @@ static unsigned long __kmem_cache_shrink(struct kmem_cache *s, int node,
continue;
if (page->inuse) {
- if (!SlabKickable(page))
+ if (!SlabKickable(page)) {
+ slab_unlock(page);
continue;
+ }
if (page->inuse * 100 >=
s->defrag_ratio * page->objects) {
--
1.5.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists