2.6.15 failure on power4 iSeries

will schmidt will_schmidt at vnet.ibm.com
Tue Jan 24 14:18:33 EST 2006


Michael Ellerman wrote:
> I think I might have found what's causing this.

You beat me to the list.. :-)

> 
> On my box at least, we're trying to allocate 0 bytes in finish_device_tree().
>  lmb_alloc() happily does that, and reserves the 0 bytes for us. On my
> machine that reserved region gets coallesced with another and so there's no
> bug, but perhaps on yours it doesn't get coallesced and eventually it blows
> up in reserve_bootmem().
> 
> Prior to benh's n_addrs patch finish_device_tree() wants to allocate 24 bytes,
>  whereas with it it allocates 0 (for iSeries). So that's exposed the bug in
> the lmb code.
> 

I narrowed down the bad lmb entry with size 0 to the finish_device_tree code,. so my test tree now contains this..

#ifdef CONFIG_PPC_ISERIES
         end = start = 0;
#else
         end = start = (unsigned long) __va(lmb_alloc(size, 128));
#endif

and I boot the rest of the way up.     Am not sure what the real fix should be, pretty sure this isnt it. :-)

> This'll show us what's happening:
> 



More information about the Linuxppc64-dev mailing list