Re: Make sure we populate the initroot filesystem late enough
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-02-26 15:54:55
Also in:
lkml
On Sun, 2007-02-25 at 20:17 -0500, David Woodhouse wrote:
On Sun, 2007-02-25 at 16:24 -0800, Linus Torvalds wrote:quoted
Hmm. No, I don't think that should be a problem. free_initmem() only happens at the very, after do_basic_setup() has been run, which includes all the initcall stuff.I'm inclined to agree that it _shouldn't_ be a problem. Nevertheless, even this hack seems sufficient to 'fix' it:
Could be a powerpc specific bug in initrd handling... I'm still traveling so I can't really look at it right now, but I wouldn't be surprised if some of that code did indeed bitrot. Ben.
quoted hunk ↗ jump to hunk
--- arch/powerpc/mm/init_32.c 2007-02-25 20:06:54.000000000 -0500 +++ arch/powerpc/mm/init_32.c.not 2007-02-25 20:06:41.000000000 -0500@@ -243,13 +243,14 @@ void free_initmem(void) #ifdef CONFIG_BLK_DEV_INITRD void free_initrd_mem(unsigned long start, unsigned long end) { if (start < end) - printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10); + printk ("NOT Freeing initrd memory: %ldKiB would be freed\n", (end - start) >> 10); + return; for (; start < end; start += PAGE_SIZE) { ClearPageReserved(virt_to_page(start)); init_page_count(virt_to_page(start)); free_page(start); totalram_pages++; } } #endif