Re: BUG: 1bbbbe7 (x86: Exclude E820_RESERVED regions...) PANIC on boot

From: Yinghai Lu
Date: Mon Oct 22 2012 - 16:50:29 EST


On Mon, Oct 22, 2012 at 1:26 PM, H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> wrote:
>>>> 2. partial page:
>>>> E820 or user could pass memmap that is not page aligned.
>>>> old cold will guarded by max_low_pfn and max_pfn. so the end partial
>>>> page will be trimmed down, and memblock can one use it.
>>>> middle partial page will still get covered by directly mapping, and
>>>> memblock still can use them.
>>>> Now we will not map middle partial page and memblock still try to use it
>>>> we could get panic when accessing those pages.
>>>>
>>>> So I would suggest to just revert that temporary patch at this time,
>>>> and later come out one complete patch for stable kernels.
>>>
>>> Hm okay, I was hoping not, but if it has to be ..
>>
>> It's hpa's call.
>
> So the issue is that two E820 RAM ranges (or ACPI, or kernel-reserved)
> are immediately adjacent on a non-page-aligned address?

yes. or the user take out range that is not page aligned.

> Or is there a
> gap in between and memblock is still expecting to use it?

yes, current implementation is. and init_memory_mapping map those partial pages
and holes.

>
> We should not map a partial page at the end of RAM; it is functionally
> lost.

Now we did not, we have max_low_pfn, and max_pfn to cap out end partial page.

> Two immediately adjacent pages could be coalesced, but not a
> partial page that abuts I/O space (and yes, such abortions can happen in
> the real world.)
>
> However, the issue obviously is that what we can realistically put in
> 3.7 or stable is limited at this point.

ok, let's see if we can meet this extreme corner case except user
specify not page aligned "memmap="

Thanks

Yinghai
--
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/