From: Michael Schmitz <schmitzmic@googlemail.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: David Rientjes <rientjes@google.com>,
James Bottomley <James.Bottomley@suse.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Christoph Lameter <cl@linux.com>,
linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [git pull] m68k SLUB fix for 2.6.39
Date: Sat, 30 Apr 2011 11:35:49 +1200 [thread overview]
Message-ID: <4DBB4B55.7000904@gmail.com> (raw)
In-Reply-To: <BANLkTimT4899xDF99Fj37u_CgnkeBzoFzQ@mail.gmail.com>
Geert Uytterhoeven wrote:
> On Thu, Apr 28, 2011 at 23:41, David Rientjes <rientjes@google.com> wrote:
>
>> On Thu, 28 Apr 2011, James Bottomley wrote:
>>
>>
>>
>>> I think what the N_NORMAL_MEMORY patch did is just make it take a whiile
>>> before you start allocating from that range. Try executing a memory
>>> balloon on the platform; that was how we first demonstrated the problem
>>> on parisc.
>>>
>>>
>> With parisc, you encountered an oops in add_partial() because the
>> kmem_cache_node structure for the memory range returned by page_to_nid()
>> was not allocated. init_kmem_cache_nodes() takes care of this for all
>> memory ranges set in N_NORMAL_MEMORY.
>>
>> Adding Christoph and Pekka to the cc if there is additional concerns about
>> slub on this architecture.
>>
>
> My ARAnyM instance has
>
> System Memory: 276480K
> 14 MB at 0x00000000 (ST-RAM)
> 256 MB at 0x01000000 (alternate RAM)
>
> and 137800KIB of swap, and survived the following program just fine:
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
>
> int main(int argc, char *argv[])
> {
> size_t size = 1048576;
> size_t total = 0;
> void *p;
>
> while (size) {
> p = malloc(size);
> if (!p) {
> printf("Failed to allocate %zu bytes\n", size);
> size /= 2;
> }
> memset(p, 0xaa, size);
> total += size;
> printf("Using %zu / 0x%zx bytes of memory\n", total, total);
> }
>
> printf("Finished!\n");
> return 0;
> }
>
> i.e. the OOM-killer just killed the program after it consumed all
> available virtual
> memory:
>
> Out of memory: Kill process 1727 (malloctest) score 854 or sacrifice child
> Killed process 1727 (malloctest) total-vm:361160kB, anon-rss:224164kB,
> file-rss:0kB
> malloctest: page allocation failure. order:0, mode:0x84d0
>
> So SLUB really seems to work now.
>
Forgot to mention what I did for tests, on all kernels that I could
actually boot: I ran slabinfo -l and slabinfo -T (saved the output in
case anyone wants to analyze that), any kernel that survived this was
considered good in the original bisect. The current fix was also tested
on the actual hardware.
There were quite a few kernels that initially booted but died on the
first slabinfo invocation. They invariably died at the e2fsck stage when
rebooted after that.
Using your test, ARAnyM, 14MB/128MB RAM and 134MB swap:
Out of memory: Kill process 1376 (malloctest) score 944 or sacrifice child
Killed process 1376 (malloctest) total-vm:272756kB, anon-rss:135232kB,
file-rss:0kB
Falcon CT60, 14MB/512MB no swap:
Out of memory: Kill process 8644 (malloctest) score 967 or sacrifice child
Killed process 8644 (malloctest) total-vm:512244kB, anon-rss:510088kB,
file-rss:284kB
HTH,
Michael
next prev parent reply other threads:[~2011-04-29 23:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-28 18:02 [git pull] m68k SLUB fix for 2.6.39 Geert Uytterhoeven
2011-04-28 21:25 ` David Rientjes
2011-04-28 21:34 ` James Bottomley
2011-04-28 21:41 ` David Rientjes
2011-04-29 20:43 ` Geert Uytterhoeven
2011-04-29 23:35 ` Michael Schmitz [this message]
2011-05-03 22:40 ` David Rientjes
2011-05-04 13:59 ` Christoph Lameter
2011-05-04 19:03 ` David Rientjes
2011-05-04 15:02 ` James Bottomley
2011-05-04 19:07 ` David Rientjes
2011-05-09 22:24 ` James Bottomley
2011-05-11 0:08 ` [patch] slub: Revert "[PARISC] slub: fix panic with DISCONTIGMEM" David Rientjes
2011-05-11 7:27 ` Geert Uytterhoeven
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=4DBB4B55.7000904@gmail.com \
--to=schmitzmic@googlemail.com \
--cc=James.Bottomley@suse.de \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rientjes@google.com \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox