|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi numa functions
Xen is using processor_nodes_parsed to record parsed processor nodes
from ACPI table or other firmware provided resource table. This
variable is used in ACPI numa functions directly. In follow-up
patchs, neutral NUMA code will be abstracted and move to other files.
So in this patch, we introduce numa_set_processor_nodes_parsed helper
to decouple processor_nodes_parsed from acpi numa functions.
Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
---
xen/arch/x86/srat.c | 9 +++++++--
xen/include/asm-x86/numa.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index aa07a7e975..9276a52138 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -104,6 +104,11 @@ nodeid_t setup_node(unsigned pxm)
return node;
}
+void __init numa_set_processor_nodes_parsed(nodeid_t node)
+{
+ node_set(node, processor_nodes_parsed);
+}
+
bool __init numa_memblks_available(void)
{
if (num_node_memblks < NR_NODE_MEMBLKS)
@@ -236,7 +241,7 @@ acpi_numa_x2apic_affinity_init(const struct
acpi_srat_x2apic_cpu_affinity *pa)
}
apicid_to_node[pa->apic_id] = node;
- node_set(node, processor_nodes_parsed);
+ numa_set_processor_nodes_parsed(node);
acpi_numa = 1;
if (opt_acpi_verbose)
@@ -271,7 +276,7 @@ acpi_numa_processor_affinity_init(const struct
acpi_srat_cpu_affinity *pa)
return;
}
apicid_to_node[pa->apic_id] = node;
- node_set(node, processor_nodes_parsed);
+ numa_set_processor_nodes_parsed(node);
acpi_numa = 1;
if (opt_acpi_verbose)
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index 78e044a390..295f875a51 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -77,6 +77,7 @@ extern int valid_numa_range(paddr_t start, paddr_t end,
nodeid_t node);
extern bool numa_memblks_available(void);
extern int numa_update_node_memblks(nodeid_t node,
paddr_t start, paddr_t size, bool hotplug);
+extern void numa_set_processor_nodes_parsed(nodeid_t node);
void srat_parse_regions(paddr_t addr);
extern u8 __node_distance(nodeid_t a, nodeid_t b);
--
2.25.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |