Re: [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Toshi, tj,

Really sorry for the delay. There were so many discussions in this thread and
it took me a lot of time to read and follow them.

2013/8/24 Toshi Kani <toshi.kani@xxxxxx>:
......
> On Sat, 2013-08-24 at 00:54 +0800, Zhang Yanfei wrote:
>> > Tang, what do you think?  Are you OK to try Tejun's suggestion as well?
>> >

We have been working on this for a while. And will send the patches soon.
We are trying this idea and will see how it goes.

>>
>> By saying TJ's suggestion, you mean, we will let memblock to control the
>> behaviour, that said, we will do early allocations near the kernel image
>> range before we get the SRAT info?
>
> Right.
>
>> If so, yeah, we have been working on this direction.
>
> Great!
>
>> By doing this, we may
>> have two main changes:
>>
>> 1. change some of memblock's APIs to make it have the ability to allocate
>>    memory from low address.
>> 2. setup kernel page table down-top. Concretely, we first map the memory
>>    just after the kernel image to the top, then, we map 0 - kernel image end.
>>
>> Do you guys think this is reasonable and acceptable?
>
> Have you also looked at Yinghai's comments below?
>
> http://www.spinics.net/lists/linux-mm/msg61362.html
>

We have read the comments from Yinghai. Reordering relocated_initrd and
reserve_crashkernel is doable, and the most difficult part is change the page
tables initialization logic. And as Zhang has mentioned above, we are not sure
if this could be acceptable.

Actually I also stand with Toshi that we should get SRAT earlier. This
will solve
memory hotplug issue, and also the following local page table problem.

And as tj concerned about the stability of the kernel boot sequence, then how
about this:

We don't do acpi_initrd_override() that early in head_32.S and head_64.c. We do
it after early_ioremap is available. I have mentioned this before.

With the help of early_ioremap, which is used by many others, we can copy all
override tables into memory. In my understanding, the page tables setup by
early_ioremap will work just like direct mapping page tables, right ?
Then we unmap
the memory, it is done. And we don't need to split the whole procedure
into fnd & copy.

So to tj, this approach won't affect acpica and very early boot
sequence. Are you OK
with this ?

Thanks.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]