From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: "Martin J. Bligh" <mbligh@google.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>, Andy Whitcroft <apw@shadowen.org>,
Linus Torvalds <torvalds@osdl.org>
Subject: Re: Slab panic on 2.6.19-rc3-git5 (-git4 was OK)
Date: Sun, 29 Oct 2006 20:17:55 +1100 [thread overview]
Message-ID: <454471C3.2020005@yahoo.com.au> (raw)
In-Reply-To: <20061029000513.de5af713.akpm@osdl.org>
Andrew Morton wrote:
> On Sat, 28 Oct 2006 22:57:48 -0700
> "Martin J. Bligh" <mbligh@google.com> wrote:
>
>
>>-git4 was fine. -git5 is broken (on PPC64 blade)
>>
>>As -rc2-mm2 seemed fine on this box, I'm guessing it's something
>>that didn't go via Andrew ;-( Looks like it might be something
>>JFS or slab specific. Bigger PPC64 box with different config
>>was OK though.
>>
>>Full log is here: http://test.kernel.org/abat/59046/debug/console.log
>>Good -git4 run: http://test.kernel.org/abat/58997/debug/console.log
>>
>>kernel BUG in cache_grow at mm/slab.c:2705!
>
>
> This?
>
> --- a/mm/vmalloc.c~__vmalloc_area_node-fix
> +++ a/mm/vmalloc.c
> @@ -428,7 +428,8 @@ void *__vmalloc_area_node(struct vm_stru
> area->nr_pages = nr_pages;
> /* Please note that the recursion is strictly bounded. */
> if (array_size > PAGE_SIZE) {
> - pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node);
> + pages = __vmalloc_node(array_size, gfp_mask & ~__GFP_HIGHMEM,
> + PAGE_KERNEL, node);
> area->flags |= VM_VPAGES;
> } else {
> pages = kmalloc_node(array_size,
Don't you actually *want* the page array to be allocated from highmem? So the
gfp mask here should be just for whether we're allowed to sleep / reclaim (ie
gfp_mask & ~(__GFP_DMA|__GFP_DMA32) | (__GFP_HIGHMEM))?
Slab allocations should be (gfp_mask & ~(__GFP_DMA|__GFP_DMA32|__GFP_HIGHMEM)),
which you could mask in __get_vm_area_node
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: "Martin J. Bligh" <mbligh@google.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>, Andy Whitcroft <apw@shadowen.org>,
Linus Torvalds <torvalds@osdl.org>
Subject: Re: Slab panic on 2.6.19-rc3-git5 (-git4 was OK)
Date: Sun, 29 Oct 2006 20:17:55 +1100 [thread overview]
Message-ID: <454471C3.2020005@yahoo.com.au> (raw)
In-Reply-To: <20061029000513.de5af713.akpm@osdl.org>
Andrew Morton wrote:
> On Sat, 28 Oct 2006 22:57:48 -0700
> "Martin J. Bligh" <mbligh@google.com> wrote:
>
>
>>-git4 was fine. -git5 is broken (on PPC64 blade)
>>
>>As -rc2-mm2 seemed fine on this box, I'm guessing it's something
>>that didn't go via Andrew ;-( Looks like it might be something
>>JFS or slab specific. Bigger PPC64 box with different config
>>was OK though.
>>
>>Full log is here: http://test.kernel.org/abat/59046/debug/console.log
>>Good -git4 run: http://test.kernel.org/abat/58997/debug/console.log
>>
>>kernel BUG in cache_grow at mm/slab.c:2705!
>
>
> This?
>
> --- a/mm/vmalloc.c~__vmalloc_area_node-fix
> +++ a/mm/vmalloc.c
> @@ -428,7 +428,8 @@ void *__vmalloc_area_node(struct vm_stru
> area->nr_pages = nr_pages;
> /* Please note that the recursion is strictly bounded. */
> if (array_size > PAGE_SIZE) {
> - pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node);
> + pages = __vmalloc_node(array_size, gfp_mask & ~__GFP_HIGHMEM,
> + PAGE_KERNEL, node);
> area->flags |= VM_VPAGES;
> } else {
> pages = kmalloc_node(array_size,
Don't you actually *want* the page array to be allocated from highmem? So the
gfp mask here should be just for whether we're allowed to sleep / reclaim (ie
gfp_mask & ~(__GFP_DMA|__GFP_DMA32) | (__GFP_HIGHMEM))?
Slab allocations should be (gfp_mask & ~(__GFP_DMA|__GFP_DMA32|__GFP_HIGHMEM)),
which you could mask in __get_vm_area_node
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-10-29 9:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-29 5:57 Slab panic on 2.6.19-rc3-git5 (-git4 was OK) Martin J. Bligh
2006-10-29 5:57 ` Martin J. Bligh
2006-10-29 6:58 ` Pekka Enberg
2006-10-29 6:58 ` Pekka Enberg
2006-10-29 12:46 ` Giridhar Pemmasani
2006-10-29 12:46 ` Giridhar Pemmasani
2006-10-29 15:21 ` Martin J. Bligh
2006-10-29 15:21 ` Martin J. Bligh
2006-10-29 15:53 ` Giridhar Pemmasani
2006-10-29 15:53 ` Giridhar Pemmasani
2006-10-29 7:05 ` Andrew Morton
2006-10-29 7:05 ` Andrew Morton
2006-10-29 9:17 ` Nick Piggin [this message]
2006-10-29 9:17 ` Nick Piggin
2006-10-29 20:53 ` Giridhar Pemmasani
2006-10-29 20:53 ` Giridhar Pemmasani
2006-10-29 17:47 ` Andy Whitcroft
2006-10-29 17:47 ` Andy Whitcroft
2006-10-29 22:59 ` Martin J. Bligh
2006-10-29 22:59 ` Martin J. Bligh
2006-10-30 1:19 ` Linus Torvalds
2006-10-30 1:19 ` Linus Torvalds
2006-10-30 9:53 ` Andy Whitcroft
2006-10-30 9:53 ` Andy Whitcroft
2006-10-30 15:35 ` Andy Whitcroft
2006-10-30 15:35 ` Andy Whitcroft
2006-10-30 15:47 ` Pekka Enberg
2006-10-30 15:47 ` Pekka Enberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=454471C3.2020005@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=apw@shadowen.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mbligh@google.com \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.