Re: [crash] Re: Latest brk patchset

From: Ingo Molnar
Date: Mon Mar 16 2009 - 04:54:39 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> Ingo Molnar wrote:
>> * Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
>>
>>
>>> Ingo Molnar wrote:
>>>
>>>> * Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
>>>>
>>>>
>>>>> H. Peter Anvin wrote:
>>>>>
>>>>>> Well, the semantics are different; the .bss section is zeroed while the
>>>>>> brk isn't, and the brk symbols don't necessarily point to the data
>>>>>> associated with those particular symbols, unlike (of course) the bss.
>>>>>>
>>>>>> It's not a big issue, obviously, it just seems cleaner to me that way.
>>>>>>
>>>>> OK, I just added a couple of changes to:
>>>>>
>>>>> * make the brk reservation symbols have the form ".brk.NAME" to make
>>>>> them inaccessible from C, and to make them look obviously
>>>>> different from normal symbols (more like sections, since it is
>>>>> their size that's more important than their address)
>>>>> * Put all the brk stuff in a .brk section
>>>>> * Mention alignment in the comment for the slop space
>>>>>
>>>>> J
>>>>>
>>>>> The following changes since commit 1e08816af0bc345995c3f26ce4eaba1171ffb531:
>>>>> Ingo Molnar (1):
>>>>> Merge branch 'linus'
>>>>>
>>>>> are available in the git repository at:
>>>>>
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git push/x86/brk
>>>>>
>>>> the previous kit in tip:x86/setup-memory is causing crashes. One of
>>>> them is:
>>>>
>>>> init_memory_mapping: 0000000000000000-00000000377fe000
>>>> 0000000000 - 00377fe000 page 4k
>>>> Kernel panic - not syncing: Cannot
>>>> find space for the kernel page tables Pid: 0, comm:
>>>> swapper Not tainted 2.6.29-rc8-tip-02516-g83219b0-dirty #35476
>>>> Call Trace:
>>>> [<c0128b7b>] panic+0x4b/0x100
>>>> [<c074a989>]
>>>> init_memory_mapping+0x429/0x430
>>>> [<c0cde790>] setup_arch+0x430/0x890
>>>> [<c0148f4e>] ? lockdep_init_map+0x2e/0x150
>>>> [<c036f392>] ?
>>>> __spin_lock_init+0x32/0x60
>>>> [<c01298d0>] ? printk+0x20/0x30
>>>> [<c0cdc966>] start_kernel+0xc6/0x330
>>>> [<c0cdc321>]
>>>> i386_start_kernel+0x41/0x50
>>>>
>>>> full crashlog below, config attached.
>>>>
>>> What branch is this? I'm trying to build with your config with
>>> current tip/master w/ tip/x86/setup-memory merged into it, but "make
>>> ARCH=i386 oldconfig" is asking me about CONFIG_SMP, which makes me
>>> think the config file is incomplete.
>>>
>>
>> just accept the defaults in 'make oldconfig' and you'll get the right
>> config.
>>
>
> Got some build failures due to warnings treated as errors.

Sorry - you need CONFIG_ALLOW_WARNINGS=y. Indeed my tests can
emit !CONFIG_ALLOW_WARNINGS configs.

> And the resulting kernel booted fine under qemu with 1Gbyte of
> memory. I'll try on real hardware a bit later, but it doesn't
> seem like something that should be affected by qemu vs native,
> unless it has something to do with the specific e820 map.

Note that the crash was reproducible and it very clearly went
away when i excluded those commits from tip:master.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/