|
[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 |