Messages in this thread Patch in this message | | | Date | Wed, 23 Aug 2023 22:16:50 -0700 | From | Saurabh Singh Sengar <> | Subject | Re: [PATCH] x86/numa: Add Devicetree support |
| |
On Fri, Aug 11, 2023 at 10:29:57AM +0000, Saurabh Singh Sengar wrote: > > > > -----Original Message----- > > From: Michael Kelley (LINUX) <mikelley@microsoft.com> > > Sent: Thursday, August 3, 2023 12:19 AM > > To: Saurabh Sengar <ssengar@linux.microsoft.com>; tglx@linutronix.de; > > mingo@redhat.com; bp@alien8.de; dave.hansen@linux.intel.com; > > x86@kernel.org; hpa@zytor.com; luto@kernel.org; peterz@infradead.org; > > linux-kernel@vger.kernel.org > > Subject: [EXTERNAL] RE: [PATCH] x86/numa: Add Devicetree support > > > > From: Saurabh Sengar <ssengar@linux.microsoft.com> Sent: Tuesday, June > > 27, 2023 12:28 AM > > > > > > Hyper-V has usecases where it need to fetch NUMA information from > > > Devicetree. Currently, it is not possible to extract the NUMA > > > information from Devicetree for x86 arch. > > > > > > Add support for Devicetree in the x86_numa_init function, allowing the > > > retrieval of NUMA node information from the Devicetree. > > > > > > Additionally, relocate the x86_dtb_init function before initmem_init > > > to ensure the Devicetree initialization prior to its utilization in > > > x86_numa_init. > > > > > > Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> > > > --- > > > arch/x86/Kconfig | 1 + > > > arch/x86/kernel/setup.c | 2 +- > > > arch/x86/mm/numa.c | 3 +++ > > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index > > > c531b16ee0bf..a2ada193b2d8 100644 > > > --- a/arch/x86/Kconfig > > > +++ b/arch/x86/Kconfig > > > @@ -1567,6 +1567,7 @@ config NUMA > > > depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP) > > > default y if X86_BIGSMP > > > select USE_PERCPU_NUMA_NODE_ID > > > + select OF_NUMA if OF > > > help > > > Enable NUMA (Non-Uniform Memory Access) support. > > > > > > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index > > > fd975a4a5200..940c92a6a5e9 100644 > > > --- a/arch/x86/kernel/setup.c > > > +++ b/arch/x86/kernel/setup.c > > > @@ -1220,6 +1220,7 @@ void __init setup_arch(char **cmdline_p) > > > > > > early_acpi_boot_init(); > > > > > > + x86_dtb_init(); > > > initmem_init(); > > > dma_contiguous_reserve(max_pfn_mapped << PAGE_SHIFT); > > > > > > @@ -1261,7 +1262,6 @@ void __init setup_arch(char **cmdline_p) > > > * Read APIC and some other early information from ACPI tables. > > > */ > > > acpi_boot_init(); > > > - x86_dtb_init(); > > > > > > /* > > > * get boot-time SMP configuration: > > > diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index > > > 2aadb2019b4f..a6d3d331fda2 100644 > > > --- a/arch/x86/mm/numa.c > > > +++ b/arch/x86/mm/numa.c > > > @@ -11,6 +11,7 @@ > > > #include <linux/nodemask.h> > > > #include <linux/sched.h> > > > #include <linux/topology.h> > > > +#include <linux/of.h> > > > > > > #include <asm/e820/api.h> > > > #include <asm/proto.h> > > > @@ -733,6 +734,8 @@ void __init x86_numa_init(void) > > > if (!numa_init(amd_numa_init)) > > > return; > > > #endif > > > + if (acpi_disabled && !numa_init(of_numa_init)) > > > + return; > > > } > > > > > > numa_init(dummy_numa_init); > > > -- > > > 2.34.1 > > > > This looks good to me. I've looked and don't see any obvious issues in > > moving x86_dtb_init() earlier in setup_arch(). But I also know the setup > > ordering can be very tricky to get working correctly with a wide range of > > platforms, and I don't have that expertise. > > But with those caveats, > > > > Reviewed-by: Michael Kelley <mikelley@microsoft.com> > > Hi X86 Maintainers, > > Is this good to be accepted ?
Thomas/Borislav,
Kind reminder to review this.
- Saurabh
> - Saurabh
| |