From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tang Chen Subject: Re: [PATCH part4 2/4] x86, acpica, acpi: Try to find if SRAT is overrided earlier. Date: Mon, 12 Aug 2013 20:28:21 +0800 Message-ID: <5208D4E5.6030808@gmail.com> References: <1375954883-30225-1-git-send-email-tangchen@cn.fujitsu.com> <1375954883-30225-3-git-send-email-tangchen@cn.fujitsu.com> <5204B93A.6030409@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Yinghai Lu Cc: Tang Chen , Konrad Rzeszutek Wilk , Bob Moore , Lv Zheng , "Rafael J. Wysocki" , Len Brown , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andrew Morton , Tejun Heo , Thomas Renninger , Jiang Liu , Zhang Yanfei , Linux Kernel Mailing List , ACPI Devel Maling List List-Id: linux-acpi@vger.kernel.org On 08/10/2013 07:34 AM, Yinghai Lu wrote: > On Fri, Aug 9, 2013 at 2:41 AM, Tang Chen 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.