Hi Wei,
On 11/08/2021 11:24, Wei Chen wrote:
The code in acpi_scan_nodes can be reused for device tree based
NUMA. So we rename acpi_scan_nodes to numa_scan_nodes for a neutral
function name. As acpi_numa variable is available in ACPU based NUMA
system only, we use CONFIG_ACPI_NUMA to protect it.
Signed-off-by: Wei Chen <wei.c...@arm.com>
---
xen/arch/x86/srat.c | 4 +++-
xen/common/numa.c | 2 +-
xen/include/asm-x86/acpi.h | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index dcebc7adec..3d4d90a622 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -362,7 +362,7 @@ void __init srat_parse_regions(u64 addr)
}
/* Use the information discovered above to actually set up the nodes. */
-int __init acpi_scan_nodes(u64 start, u64 end)
+int __init numa_scan_nodes(u64 start, u64 end)
{
int i;
nodemask_t all_nodes_parsed;
@@ -371,8 +371,10 @@ int __init acpi_scan_nodes(u64 start, u64 end)
for (i = 0; i < MAX_NUMNODES; i++)
cutoff_node(i, start, end);
+#ifdef CONFIG_ACPI_NUMA
if (acpi_numa <= 0)
return -1;
+#endif
Looking at the follow-up patches, I find a bit odd that there is a check
for ACPI but there is none added for DT. Can you explain why?
However, I think this check is going to impair the work to support both
ACPI and DT on Arm because acpi_numa would end up to be 0 so you would
bail out here.
With that in mind, I think this check needs to either go away or replace
by something there is firmware agnostic.
Cheers,
--
Julien Grall