Re: [PATCHSET x86/numa] x86-64, NUMA: bring sanity to NUMA emulation

From: Yinghai Lu
Date: Tue Feb 15 2011 - 00:46:44 EST


On 02/14/2011 06:28 PM, Ingo Molnar wrote:
>
> * Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>
>> On Mon, Feb 14, 2011 at 11:28 AM, Tejun Heo <tj@xxxxxxxxxx> wrote:
>>> Hello,
>>>
>>> NUMA emulation is quite convoluted involving unnecessary mapping and
>>> reverse mapping between apicids, PXMs, nodes and memory addresses.
>>> This patchset tries to restore some sanity to the whole thing.
>>>
>>> Tested on an opteron NUMA machine which can do both ACPI and AMD
>>> configs. All NUMA configs, emulations, !NUMA and UP work as expected.
>>>
>>> This patchset is on top of tip/x86/numa[1] +
>>> bring-sanity-to-NUMA-configuration patchset[2] and contains the
>>> following 7 patches.
>>>
>>> 0001-x86-64-NUMA-Trivial-changes-to-prepare-for-emulation.patch
>>> 0002-x86-64-NUMA-Build-and-use-direct-emulated-nid-phys-n.patch
>>> 0003-x86-64-NUMA-Make-emulation-code-build-numa_meminfo-a.patch
>>> 0004-x86-64-NUMA-Wrap-node-ID-during-emulation.patch
>>> 0005-x86-64-NUMA-Emulate-directly-from-numa_meminfo.patch
>>> 0006-x86-64-NUMA-Unify-emulated-apicid-node-mapping-trans.patch
>>> 0007-x86-64-NUMA-Unify-emulated-distance-mapping.patch
>>>
>>> The patchset is available in the following git branch.
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git x86_64-numa-emu-unify
>>>
>>> Diffstat follows.
>>>
>>> arch/x86/include/asm/acpi.h | 6
>>> arch/x86/include/asm/amd_nb.h | 4
>>> arch/x86/include/asm/numa_64.h | 1
>>> arch/x86/mm/amdtopology_64.c | 47 ----
>>> arch/x86/mm/numa_64.c | 429 ++++++++++++++++++-----------------------
>>> arch/x86/mm/srat_64.c | 87 --------
>>> 6 files changed, 197 insertions(+), 377 deletions(-)
>>
>> wonder if numa_emu code could be put into one single file like numa_emu.c
>
> That would be nice if it can be done sanely.
>
> We could do it as a delta, on top of these existing patches, to not delay the
> testing of these fixes/improvements, they are looking pretty good (on paper)
> already, do you agree?

yes.

I went through TJ's numa-unify patches, and it looks good to me.
<except that I don't like putting setup_bootmem() etc in numa_register_memblks,
but that could be addressed later>

For the numa-emu-unify, may need David to have a look on them.

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/