[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi numa functions
+x86 maintainers On Thu, 23 Sep 2021, Wei Chen wrote: > 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 |