Re: mmotm boot panic bootmem-avoid-dma32-zone-by-default.patch

From: Yinghai Lu
Date: Fri Mar 05 2010 - 21:33:22 EST

On 03/05/2010 06:24 PM, Johannes Weiner wrote:
> On Fri, Mar 05, 2010 at 05:50:39PM -0800, Yinghai Lu wrote:
>> On 03/05/2010 03:58 PM, Johannes Weiner wrote:
>>> Hello Yinghai,
>>> On Fri, Mar 05, 2010 at 10:41:56AM -0800, Yinghai Lu wrote:
>>>> On 03/04/2010 09:17 PM, Greg Thelen wrote:
>>>>> On Thu, Mar 4, 2010 at 7:21 PM, Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
>>>>>> On Thu, Mar 04, 2010 at 01:21:41PM -0800, Greg Thelen wrote:
>>>>>>> On several systems I am seeing a boot panic if I use mmotm
>>>>>>> (stamp-2010-03-02-18-38). If I remove
>>>>>>> bootmem-avoid-dma32-zone-by-default.patch then no panic is seen. I
>>>>>>> find that:
>>>>>>> * 2.6.33 boots fine.
>>>>>>> * 2.6.33 + mmotm w/o bootmem-avoid-dma32-zone-by-default.patch: boots fine.
>>>>>>> * 2.6.33 + mmotm (including
>>>>>>> bootmem-avoid-dma32-zone-by-default.patch): panics.
>>>> ...
>>>>> Note: mmotm has been recently updated to stamp-2010-03-04-18-05. I
>>>>> re-tested with 'make defconfig' to confirm the panic with this later
>>>>> mmotm.
>>>> please check
>>>> [PATCH] early_res: double check with updated goal in alloc_memory_core_early
>>>> Johannes Weiner pointed out that new early_res replacement for alloc_bootmem_node
>>>> change the behavoir about goal.
>>>> original bootmem one will try go further regardless of goal.
>>>> and it will break his patch about default goal from MAX_DMA to MAX_DMA32...
>>>> also broke uncommon machines with <=16M of memory.
>>>> (really? our x86 kernel still can run on 16M system?)
>>>> so try again with update goal.
>>> Thanks for the patch, it seems to be correct.
>>> However, I have a more generic question about it, regarding the future of the
>>> early_res allocator.
>>> Did you plan on keeping the bootmem API for longer? Because my impression was,
>>> emulating it is a temporary measure until all users are gone and bootmem can
>>> be finally dropped.
>> that depends on every arch maintainer.
>> user can compare them on x86 to check if...
> Humm, now that is a bit disappointing. Because it means we will never get rid
> of bootmem as long as it works for the other architectures. And your changeset
> just added ~900 lines of code, some of it being a rather ugly compatibility
> layer in bootmem that I hoped could go away again sooner than later.
> I do not know what the upsides for x86 are from no longer using bootmem but it
> would suck from a code maintainance point of view to get stuck half way through
> this transition and have now TWO implementations of the bootmem interface we
> would like to get rid of.

some data, and others can compare them more on x86 systems...

I didn't plan to post this data before you said ....

for my 1T system

text data bss dec hex filename
19185736 4148404 12170736 35504876 21dc2ec vmlinux.nobootmem
Memory: 1058662820k/1075838976k available (11388k kernel code, 2106480k absent, 15069676k reserved, 8589k data, 2744k init
[ 220.947157] calling ip_auto_config+0x0/0x24d @ 1

text data bss dec hex filename
19188441 4153956 12170736 35513133 21de32d vmlinux.bootmem
Memory: 1058662796k/1075838976k available (11388k kernel code, 2106480k absent, 15069700k reserved, 8589k data, 2752k init)
[ 236.765364] calling ip_auto_config+0x0/0x24d @ 1

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at