Re: [PATCH v5 00/14] ACPI NUMA support for ARM64
From: Will Deacon
Date: Mon Apr 25 2016 - 07:13:51 EST
Hi David,
On Tue, Apr 19, 2016 at 06:40:25PM -0700, David Daney wrote:
> From: David Daney <david.daney@xxxxxxxxxx>
>
> Based on v16 of device-tree NUMA patch set for arm64 [1],this patch
> set introduce the ACPI based configuration to provide NUMA
> information.
>
> ACPI 5.1 already introduced NUMA support for ARM64, which can get the
> NUMA domain information from SRAT and SLIT table, so parse those two
> tables to get mappings from cpu/mem to numa node configuration and
> system locality.
Whilst I've queued the main NUMA series for arm64, I'd really like to
see more movement on the generic header file cleanups that you posted
separately:
http://lkml.kernel.org/r/1456358528-24213-1-git-send-email-ddaney.cavm@xxxxxxxxx
Given that this ACPI series already requires some significant cross-arch
interaction (which is actually good!), perhaps extending the clean-up
patches to encompass some of the ACPI bits might make sense, and we can
get that queued as a pre-requisite.
Will
> v5 updates:
>
> - Fixed ia64 build failure by gating some unused functions with #if
> CONFIG_{X86,ARM64}.
>
> - Fixed section mismatch errors for X86 case.
>
> - Removed unneeded #include from some files.
>
> - Tested to build cleanly on ARM64, X86_64, IA64
>
> v4 updates:
>
> - Updated from Hanjun Guo's v3 patches.
>
> - Rebased on top of v16 of device-tree NUMA patches.
>
> - Reordered some of the changes so that we don't introduce code and
> then change it several times in the patch set. New code is
> introduced in its final form. Code reused from x86 is first moved
> with no change, and then a separate patch to make any needed
> changes.
>
> - code that is used only by ia64, moved to architecture specific
> files.
>
> v3 updates:
> - Deep investigation about the ACPI_DEBUG_PRINT() and remvoe
> that for acpi/numa.c (patch 2/12)
>
> - Remove the duplicate NULL check for table print (patch 3/12)
>
> - Introduce CONFIG_ACPI_HAS_NUMA_ARCH_FIXUP to remove duplicate
> dummy function for acpi_numa_arch_fixup()
>
> - Solve the problem that the mapping from logical cpu to numa node
> is wrong which spotted out by Lorenzo
>
> - cleanups for x86 and move acpi_numa_slit_init() and some other
> functions to common place, then reduce the duplicate of x86
> and arm64 (patch 7-12/12).
>
> - rebased on top of 4.4 and Ganapat's v9 patch set.
>
> [1]: https://lkml.org/lkml/2016/4/8/571
>
> David Daney (1):
> acpi, numa, srat: Improve SRAT error detection and add messages.
>
> Hanjun Guo (11):
> acpi, numa: Use pr_fmt() instead of printk
> acpi, numa: Replace ACPI_DEBUG_PRINT() with pr_debug()
> acpi, numa: remove duplicate NULL check
> acpi, numa: move acpi_numa_slit_init() to drivers/acpi/numa.c
> arm64, numa: rework numa_add_memblk()
> x86, acpi, numa: cleanup acpi_numa_processor_affinity_init()
> acpi, numa: move bad_srat() and srat_disabled() to
> drivers/acpi/numa.c
> acpi, numa: remove unneeded acpi_numa=1
> acpi, numa: Move acpi_numa_memory_affinity_init() to
> drivers/acpi/numa.c
> arm64, acpi, numa: NUMA support based on SRAT and SLIT
> acpi, numa: Enable ACPI based NUMA on ARM64
>
> Robert Richter (2):
> acpi, numa: Move acpi_numa_arch_fixup() to ia64 only
> arm64, acpi, numa: Default enable ACPI_NUMA with NUMA
>
> arch/arm64/include/asm/acpi.h | 8 ++
> arch/arm64/include/asm/numa.h | 2 +
> arch/arm64/kernel/Makefile | 1 +
> arch/arm64/kernel/acpi_numa.c | 149 ++++++++++++++++++++++++++++
> arch/arm64/kernel/smp.c | 2 +
> arch/arm64/mm/numa.c | 17 ++--
> arch/ia64/include/asm/acpi.h | 3 +
> arch/ia64/kernel/acpi.c | 2 +-
> arch/ia64/kernel/setup.c | 1 +
> arch/x86/include/asm/acpi.h | 1 -
> arch/x86/mm/numa.c | 2 +-
> arch/x86/mm/srat.c | 116 +---------------------
> drivers/acpi/Kconfig | 4 +-
> drivers/acpi/numa.c | 224 ++++++++++++++++++++++++++++++++----------
> drivers/of/of_numa.c | 4 +-
> include/acpi/acpi_numa.h | 4 +
> include/linux/acpi.h | 18 +++-
> 17 files changed, 375 insertions(+), 183 deletions(-)
> create mode 100644 arch/arm64/kernel/acpi_numa.c
>
> --
> 1.7.11.7
>