Re: [PATCH part4 2/4] x86, acpica, acpi: Try to find if SRAT is overridedearlier.

From: Tang Chen
Date: Mon Aug 12 2013 - 08:29:05 EST


On 08/10/2013 07:34 AM, Yinghai Lu wrote:
On Fri, Aug 9, 2013 at 2:41 AM, Tang Chen<tangchen@xxxxxxxxxxxxxx> wrote:
On 08/09/2013 12:29 AM, Yinghai Lu wrote:
......


Please check if you can reuse first half of my patchset, so find and copy
override table earlier. the copied acpi tables could be near kernel code
range.


I don't think we need to do the finding step at that early time, in
head64.c stage.

Before pagetables are setup, we can use early_ioremap() to map the
memory we want to access. We don't need to use phys addr. We can do
it in setup_arch(), which has nothing to do with 32bit or 64bit.

if override the acpi tables early, you don't need to check firmware srat and
then override srat.
just check last one will be used by kernel.

So you don't need to dig initrd to find srat anymore.

The current logic is find tables in firmware, and override them. I
don't think it is a big deal.

Even if we want to override first, and then skip the table in
firmware (install one time), we still don't need to do it in head64.c,
right ?




Move finding in head64.c stage could help xen/dom0 a bit.
as Konrad is working on patchset with acpi override in xen hypervisor.
We can avoid override acpi table two times. Esp xen like to change
DMAR to XMAR.


Would you please give some more info about this, and explain why finding
override tables in head64.c stage is helpful for xen ?

xen usually can change acpi tables and pass to dom0 kernel. like change DMAR
to hide it to dom0 kernel.

also distribution could have same kernel to support bare metal and dom0.

so if we find the override kernel early in head64.c, dom0 path will not copy
actually as no one try to find that for them.


I don't know the detail, but seeing from your description, doing
override in head64.c may avoid a copy. If doing such a copy in xen
is not that difficult, I think we can do it for now. Modifying
acpi_initrd_override() logic will need to modify a lot of things.

Just like the local node pagetable, I think it is better to do
xen things after memory hotplug is done.

Thanks.

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