From: Mike Rapoport <rppt@kernel.org>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: linux-kernel@vger.kernel.org,
Alexander Gordeev <agordeev@linux.ibm.com>,
Andreas Larsson <andreas@gaisler.com>,
Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>, Borislav Petkov <bp@alien8.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Dan Williams <dan.j.williams@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Heiko Carstens <hca@linux.ibm.com>,
Huacai Chen <chenhuacai@kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Palmer Dabbelt <palmer@dabbelt.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Herring <robh@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Thomas Gleixner <tglx@linutronix.de>,
Vasily Gorbik <gor@linux.ibm.com>, Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-cxl@vger.kernel.org,
nvdimm@lists.linux.dev, devicetree@vger.kernel.org,
linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org
Subject: Re: [PATCH 15/17] mm: make numa_memblks more self-contained
Date: Sat, 20 Jul 2024 15:32:34 +0300 [thread overview]
Message-ID: <ZpuuYnMCd8RRZEcH@kernel.org> (raw)
In-Reply-To: <20240719190712.00001307@Huawei.com>
On Fri, Jul 19, 2024 at 07:07:12PM +0100, Jonathan Cameron wrote:
> On Tue, 16 Jul 2024 14:13:44 +0300
> Mike Rapoport <rppt@kernel.org> wrote:
>
> > From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> >
> > Introduce numa_memblks_init() and move some code around to avoid several
> > global variables in numa_memblks.
>
> Hi Mike,
>
> Adding the effectively always on memblock_force_top_down
> deserves a comment on why. I assume because you are going to do
> something with it later?
Yes, arch_numa sets it to false. I'll add a note in the changelog.
> There also seems to be more going on in here such as the change to
> get_pfn_range_for_nid() Perhaps break this up so each
> change can have an explanation.
Ok.
> >
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> > ---
> > arch/x86/mm/numa.c | 53 ++++---------------------
> > include/linux/numa_memblks.h | 9 +----
> > mm/numa_memblks.c | 77 +++++++++++++++++++++++++++---------
> > 3 files changed, 68 insertions(+), 71 deletions(-)
> >
> > diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> > index 3848e68d771a..16bc703c9272 100644
> > --- a/arch/x86/mm/numa.c
> > +++ b/arch/x86/mm/numa.c
> > @@ -115,30 +115,19 @@ void __init setup_node_to_cpumask_map(void)
> > pr_debug("Node to cpumask map for %u nodes\n", nr_node_ids);
> > }
> >
> > -static int __init numa_register_memblks(struct numa_meminfo *mi)
> > +static int __init numa_register_nodes(void)
> > {
> > - int i, nid, err;
> > -
> > - err = numa_register_meminfo(mi);
> > - if (err)
> > - return err;
> > + int nid;
> >
> > if (!memblock_validate_numa_coverage(SZ_1M))
> > return -EINVAL;
> >
> > /* Finally register nodes. */
> > for_each_node_mask(nid, node_possible_map) {
> > - u64 start = PFN_PHYS(max_pfn);
> > - u64 end = 0;
> > -
> > - for (i = 0; i < mi->nr_blks; i++) {
> > - if (nid != mi->blk[i].nid)
> > - continue;
> > - start = min(mi->blk[i].start, start);
> > - end = max(mi->blk[i].end, end);
> > - }
> > + unsigned long start_pfn, end_pfn;
> >
> > - if (start >= end)
> > + get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
>
> It's not immediately obvious to me that this code is equivalent so I'd
> prefer it in a separate patch with some description of why
> it is a valid change.
Will do.
> > + if (start_pfn >= end_pfn)
> > continue;
> >
> > alloc_node_data(nid);
> > @@ -178,39 +167,11 @@ static int __init numa_init(int (*init_func)(void))
> > for (i = 0; i < MAX_LOCAL_APIC; i++)
> > set_apicid_to_node(i, NUMA_NO_NODE);
> >
> > - nodes_clear(numa_nodes_parsed);
> > - nodes_clear(node_possible_map);
> > - nodes_clear(node_online_map);
> > - memset(&numa_meminfo, 0, sizeof(numa_meminfo));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.memory,
> > - NUMA_NO_NODE));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.reserved,
> > - NUMA_NO_NODE));
> > - /* In case that parsing SRAT failed. */
> > - WARN_ON(memblock_clear_hotplug(0, ULLONG_MAX));
> > - numa_reset_distance();
> > -
> > - ret = init_func();
> > - if (ret < 0)
> > - return ret;
> > -
> > - /*
> > - * We reset memblock back to the top-down direction
> > - * here because if we configured ACPI_NUMA, we have
> > - * parsed SRAT in init_func(). It is ok to have the
> > - * reset here even if we did't configure ACPI_NUMA
> > - * or acpi numa init fails and fallbacks to dummy
> > - * numa init.
> > - */
> > - memblock_set_bottom_up(false);
> > -
> > - ret = numa_cleanup_meminfo(&numa_meminfo);
> > + ret = numa_memblks_init(init_func, /* memblock_force_top_down */ true);
> The comment in parameter list seems unnecessary.
> Maybe add a comment above the call instead if need to call that out?
I'll drop it for now.
> > if (ret < 0)
> > return ret;
> >
> > - numa_emulation(&numa_meminfo, numa_distance_cnt);
> > -
> > - ret = numa_register_memblks(&numa_meminfo);
> > + ret = numa_register_nodes();
> > if (ret < 0)
> > return ret;
> >
>
> > diff --git a/mm/numa_memblks.c b/mm/numa_memblks.c
> > index e0039549aaac..640f3a3ce0ee 100644
> > --- a/mm/numa_memblks.c
> > +++ b/mm/numa_memblks.c
> > @@ -7,13 +7,27 @@
> > #include <linux/numa.h>
> > #include <linux/numa_memblks.h>
> >
>
> > +/*
> > + * Set nodes, which have memory in @mi, in *@nodemask.
> > + */
> > +static void __init numa_nodemask_from_meminfo(nodemask_t *nodemask,
> > + const struct numa_meminfo *mi)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(mi->blk); i++)
> > + if (mi->blk[i].start != mi->blk[i].end &&
> > + mi->blk[i].nid != NUMA_NO_NODE)
> > + node_set(mi->blk[i].nid, *nodemask);
> > +}
>
> The code move doesn't have an obvious purpose. Maybe call that
> out in the patch description if it is needed for a future patch.
> Or do it in two goes so first just adds the static, 2nd shuffles
> the code.
Before the move numa_nodemask_from_meminfo() was global so it was ok to
define it after its callers.
I'll split this into a separate commit.
--
Sincerely yours,
Mike.
WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: linux-kernel@vger.kernel.org,
Alexander Gordeev <agordeev@linux.ibm.com>,
Andreas Larsson <andreas@gaisler.com>,
Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>, Borislav Petkov <bp@alien8.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Dan Williams <dan.j.williams@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Heiko Carstens <hca@linux.ibm.com>,
Huacai Chen <chenhuacai@kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Palmer Dabbelt <palmer@dabbelt.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Rob Herring <robh@kernel.org>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Thomas Gleixner <tglx@linutronix.de>,
Vasily Gorbik <gor@linux.ibm.com>, Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-cxl@vger.kernel.org,
nvdimm@lists.linux.dev, devicetree@vger.kernel.org,
linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org
Subject: Re: [PATCH 15/17] mm: make numa_memblks more self-contained
Date: Sat, 20 Jul 2024 15:32:34 +0300 [thread overview]
Message-ID: <ZpuuYnMCd8RRZEcH@kernel.org> (raw)
In-Reply-To: <20240719190712.00001307@Huawei.com>
On Fri, Jul 19, 2024 at 07:07:12PM +0100, Jonathan Cameron wrote:
> On Tue, 16 Jul 2024 14:13:44 +0300
> Mike Rapoport <rppt@kernel.org> wrote:
>
> > From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> >
> > Introduce numa_memblks_init() and move some code around to avoid several
> > global variables in numa_memblks.
>
> Hi Mike,
>
> Adding the effectively always on memblock_force_top_down
> deserves a comment on why. I assume because you are going to do
> something with it later?
Yes, arch_numa sets it to false. I'll add a note in the changelog.
> There also seems to be more going on in here such as the change to
> get_pfn_range_for_nid() Perhaps break this up so each
> change can have an explanation.
Ok.
> >
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> > ---
> > arch/x86/mm/numa.c | 53 ++++---------------------
> > include/linux/numa_memblks.h | 9 +----
> > mm/numa_memblks.c | 77 +++++++++++++++++++++++++++---------
> > 3 files changed, 68 insertions(+), 71 deletions(-)
> >
> > diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> > index 3848e68d771a..16bc703c9272 100644
> > --- a/arch/x86/mm/numa.c
> > +++ b/arch/x86/mm/numa.c
> > @@ -115,30 +115,19 @@ void __init setup_node_to_cpumask_map(void)
> > pr_debug("Node to cpumask map for %u nodes\n", nr_node_ids);
> > }
> >
> > -static int __init numa_register_memblks(struct numa_meminfo *mi)
> > +static int __init numa_register_nodes(void)
> > {
> > - int i, nid, err;
> > -
> > - err = numa_register_meminfo(mi);
> > - if (err)
> > - return err;
> > + int nid;
> >
> > if (!memblock_validate_numa_coverage(SZ_1M))
> > return -EINVAL;
> >
> > /* Finally register nodes. */
> > for_each_node_mask(nid, node_possible_map) {
> > - u64 start = PFN_PHYS(max_pfn);
> > - u64 end = 0;
> > -
> > - for (i = 0; i < mi->nr_blks; i++) {
> > - if (nid != mi->blk[i].nid)
> > - continue;
> > - start = min(mi->blk[i].start, start);
> > - end = max(mi->blk[i].end, end);
> > - }
> > + unsigned long start_pfn, end_pfn;
> >
> > - if (start >= end)
> > + get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
>
> It's not immediately obvious to me that this code is equivalent so I'd
> prefer it in a separate patch with some description of why
> it is a valid change.
Will do.
> > + if (start_pfn >= end_pfn)
> > continue;
> >
> > alloc_node_data(nid);
> > @@ -178,39 +167,11 @@ static int __init numa_init(int (*init_func)(void))
> > for (i = 0; i < MAX_LOCAL_APIC; i++)
> > set_apicid_to_node(i, NUMA_NO_NODE);
> >
> > - nodes_clear(numa_nodes_parsed);
> > - nodes_clear(node_possible_map);
> > - nodes_clear(node_online_map);
> > - memset(&numa_meminfo, 0, sizeof(numa_meminfo));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.memory,
> > - NUMA_NO_NODE));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.reserved,
> > - NUMA_NO_NODE));
> > - /* In case that parsing SRAT failed. */
> > - WARN_ON(memblock_clear_hotplug(0, ULLONG_MAX));
> > - numa_reset_distance();
> > -
> > - ret = init_func();
> > - if (ret < 0)
> > - return ret;
> > -
> > - /*
> > - * We reset memblock back to the top-down direction
> > - * here because if we configured ACPI_NUMA, we have
> > - * parsed SRAT in init_func(). It is ok to have the
> > - * reset here even if we did't configure ACPI_NUMA
> > - * or acpi numa init fails and fallbacks to dummy
> > - * numa init.
> > - */
> > - memblock_set_bottom_up(false);
> > -
> > - ret = numa_cleanup_meminfo(&numa_meminfo);
> > + ret = numa_memblks_init(init_func, /* memblock_force_top_down */ true);
> The comment in parameter list seems unnecessary.
> Maybe add a comment above the call instead if need to call that out?
I'll drop it for now.
> > if (ret < 0)
> > return ret;
> >
> > - numa_emulation(&numa_meminfo, numa_distance_cnt);
> > -
> > - ret = numa_register_memblks(&numa_meminfo);
> > + ret = numa_register_nodes();
> > if (ret < 0)
> > return ret;
> >
>
> > diff --git a/mm/numa_memblks.c b/mm/numa_memblks.c
> > index e0039549aaac..640f3a3ce0ee 100644
> > --- a/mm/numa_memblks.c
> > +++ b/mm/numa_memblks.c
> > @@ -7,13 +7,27 @@
> > #include <linux/numa.h>
> > #include <linux/numa_memblks.h>
> >
>
> > +/*
> > + * Set nodes, which have memory in @mi, in *@nodemask.
> > + */
> > +static void __init numa_nodemask_from_meminfo(nodemask_t *nodemask,
> > + const struct numa_meminfo *mi)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(mi->blk); i++)
> > + if (mi->blk[i].start != mi->blk[i].end &&
> > + mi->blk[i].nid != NUMA_NO_NODE)
> > + node_set(mi->blk[i].nid, *nodemask);
> > +}
>
> The code move doesn't have an obvious purpose. Maybe call that
> out in the patch description if it is needed for a future patch.
> Or do it in two goes so first just adds the static, 2nd shuffles
> the code.
Before the move numa_nodemask_from_meminfo() was global so it was ok to
define it after its callers.
I'll split this into a separate commit.
--
Sincerely yours,
Mike.
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: nvdimm@lists.linux.dev, x86@kernel.org,
Andreas Larsson <andreas@gaisler.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
linux-mips@vger.kernel.org, linux-mm@kvack.org,
sparclinux@vger.kernel.org,
Alexander Gordeev <agordeev@linux.ibm.com>,
Will Deacon <will@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-arch@vger.kernel.org, Rob Herring <robh@kernel.org>,
Vasily Gorbik <gor@linux.ibm.com>,
linux-sh@vger.kernel.org, Huacai Chen <chenhuacai@kernel.org>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
linux-acpi@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
devicetree@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
linux-s390@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
Borislav Petkov <bp@alien8.de>,
linux-cxl@vger.kernel.org, loongarch@lists.linux.dev,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
Dan Williams <dan.j.williams@intel.com>,
linux-arm-kernel@lists.infradead.org,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
Palmer Dabbelt <palmer@dabbelt.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 15/17] mm: make numa_memblks more self-contained
Date: Sat, 20 Jul 2024 15:32:34 +0300 [thread overview]
Message-ID: <ZpuuYnMCd8RRZEcH@kernel.org> (raw)
In-Reply-To: <20240719190712.00001307@Huawei.com>
On Fri, Jul 19, 2024 at 07:07:12PM +0100, Jonathan Cameron wrote:
> On Tue, 16 Jul 2024 14:13:44 +0300
> Mike Rapoport <rppt@kernel.org> wrote:
>
> > From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> >
> > Introduce numa_memblks_init() and move some code around to avoid several
> > global variables in numa_memblks.
>
> Hi Mike,
>
> Adding the effectively always on memblock_force_top_down
> deserves a comment on why. I assume because you are going to do
> something with it later?
Yes, arch_numa sets it to false. I'll add a note in the changelog.
> There also seems to be more going on in here such as the change to
> get_pfn_range_for_nid() Perhaps break this up so each
> change can have an explanation.
Ok.
> >
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> > ---
> > arch/x86/mm/numa.c | 53 ++++---------------------
> > include/linux/numa_memblks.h | 9 +----
> > mm/numa_memblks.c | 77 +++++++++++++++++++++++++++---------
> > 3 files changed, 68 insertions(+), 71 deletions(-)
> >
> > diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> > index 3848e68d771a..16bc703c9272 100644
> > --- a/arch/x86/mm/numa.c
> > +++ b/arch/x86/mm/numa.c
> > @@ -115,30 +115,19 @@ void __init setup_node_to_cpumask_map(void)
> > pr_debug("Node to cpumask map for %u nodes\n", nr_node_ids);
> > }
> >
> > -static int __init numa_register_memblks(struct numa_meminfo *mi)
> > +static int __init numa_register_nodes(void)
> > {
> > - int i, nid, err;
> > -
> > - err = numa_register_meminfo(mi);
> > - if (err)
> > - return err;
> > + int nid;
> >
> > if (!memblock_validate_numa_coverage(SZ_1M))
> > return -EINVAL;
> >
> > /* Finally register nodes. */
> > for_each_node_mask(nid, node_possible_map) {
> > - u64 start = PFN_PHYS(max_pfn);
> > - u64 end = 0;
> > -
> > - for (i = 0; i < mi->nr_blks; i++) {
> > - if (nid != mi->blk[i].nid)
> > - continue;
> > - start = min(mi->blk[i].start, start);
> > - end = max(mi->blk[i].end, end);
> > - }
> > + unsigned long start_pfn, end_pfn;
> >
> > - if (start >= end)
> > + get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
>
> It's not immediately obvious to me that this code is equivalent so I'd
> prefer it in a separate patch with some description of why
> it is a valid change.
Will do.
> > + if (start_pfn >= end_pfn)
> > continue;
> >
> > alloc_node_data(nid);
> > @@ -178,39 +167,11 @@ static int __init numa_init(int (*init_func)(void))
> > for (i = 0; i < MAX_LOCAL_APIC; i++)
> > set_apicid_to_node(i, NUMA_NO_NODE);
> >
> > - nodes_clear(numa_nodes_parsed);
> > - nodes_clear(node_possible_map);
> > - nodes_clear(node_online_map);
> > - memset(&numa_meminfo, 0, sizeof(numa_meminfo));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.memory,
> > - NUMA_NO_NODE));
> > - WARN_ON(memblock_set_node(0, ULLONG_MAX, &memblock.reserved,
> > - NUMA_NO_NODE));
> > - /* In case that parsing SRAT failed. */
> > - WARN_ON(memblock_clear_hotplug(0, ULLONG_MAX));
> > - numa_reset_distance();
> > -
> > - ret = init_func();
> > - if (ret < 0)
> > - return ret;
> > -
> > - /*
> > - * We reset memblock back to the top-down direction
> > - * here because if we configured ACPI_NUMA, we have
> > - * parsed SRAT in init_func(). It is ok to have the
> > - * reset here even if we did't configure ACPI_NUMA
> > - * or acpi numa init fails and fallbacks to dummy
> > - * numa init.
> > - */
> > - memblock_set_bottom_up(false);
> > -
> > - ret = numa_cleanup_meminfo(&numa_meminfo);
> > + ret = numa_memblks_init(init_func, /* memblock_force_top_down */ true);
> The comment in parameter list seems unnecessary.
> Maybe add a comment above the call instead if need to call that out?
I'll drop it for now.
> > if (ret < 0)
> > return ret;
> >
> > - numa_emulation(&numa_meminfo, numa_distance_cnt);
> > -
> > - ret = numa_register_memblks(&numa_meminfo);
> > + ret = numa_register_nodes();
> > if (ret < 0)
> > return ret;
> >
>
> > diff --git a/mm/numa_memblks.c b/mm/numa_memblks.c
> > index e0039549aaac..640f3a3ce0ee 100644
> > --- a/mm/numa_memblks.c
> > +++ b/mm/numa_memblks.c
> > @@ -7,13 +7,27 @@
> > #include <linux/numa.h>
> > #include <linux/numa_memblks.h>
> >
>
> > +/*
> > + * Set nodes, which have memory in @mi, in *@nodemask.
> > + */
> > +static void __init numa_nodemask_from_meminfo(nodemask_t *nodemask,
> > + const struct numa_meminfo *mi)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(mi->blk); i++)
> > + if (mi->blk[i].start != mi->blk[i].end &&
> > + mi->blk[i].nid != NUMA_NO_NODE)
> > + node_set(mi->blk[i].nid, *nodemask);
> > +}
>
> The code move doesn't have an obvious purpose. Maybe call that
> out in the patch description if it is needed for a future patch.
> Or do it in two goes so first just adds the static, 2nd shuffles
> the code.
Before the move numa_nodemask_from_meminfo() was global so it was ok to
define it after its callers.
I'll split this into a separate commit.
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2024-07-20 12:35 UTC|newest]
Thread overview: 180+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-16 11:13 [PATCH 00/17] mm: introduce numa_memblks Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 01/17] mm: move kernel/numa.c to mm/ Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-17 14:35 ` David Hildenbrand
2024-07-17 14:35 ` David Hildenbrand
2024-07-17 14:35 ` David Hildenbrand
2024-07-19 13:55 ` Jonathan Cameron
2024-07-19 13:55 ` Jonathan Cameron
2024-07-19 13:55 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 02/17] MIPS: sgi-ip27: make NODE_DATA() the same as on all other architectures Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-17 14:32 ` David Hildenbrand
2024-07-17 14:32 ` David Hildenbrand
2024-07-17 14:32 ` David Hildenbrand
2024-07-19 14:38 ` Jonathan Cameron
2024-07-19 14:38 ` Jonathan Cameron
2024-07-19 14:38 ` Jonathan Cameron
2024-07-22 7:34 ` Mike Rapoport
2024-07-22 7:34 ` Mike Rapoport
2024-07-22 7:34 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 03/17] MIPS: loongson64: rename __node_data to node_data Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 13:07 ` Jiaxun Yang
2024-07-16 13:07 ` Jiaxun Yang
2024-07-16 13:07 ` Jiaxun Yang
2024-07-17 14:33 ` David Hildenbrand
2024-07-17 14:33 ` David Hildenbrand
2024-07-17 14:33 ` David Hildenbrand
2024-07-19 15:27 ` Jonathan Cameron
2024-07-19 15:27 ` Jonathan Cameron
2024-07-19 15:27 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 04/17] arch, mm: move definition of node_data to generic code Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-17 14:35 ` David Hildenbrand
2024-07-17 14:35 ` David Hildenbrand
2024-07-17 14:35 ` David Hildenbrand
2024-07-19 15:39 ` Jonathan Cameron
2024-07-19 15:39 ` Jonathan Cameron
2024-07-19 15:39 ` Jonathan Cameron
2024-07-23 0:15 ` Davidlohr Bueso
2024-07-23 0:15 ` Davidlohr Bueso
2024-07-23 0:15 ` Davidlohr Bueso
2024-07-16 11:13 ` [PATCH 05/17] arch, mm: pull out allocation of NODE_DATA " Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-17 14:42 ` David Hildenbrand
2024-07-17 14:42 ` David Hildenbrand
2024-07-17 14:42 ` David Hildenbrand
2024-07-18 7:02 ` Mike Rapoport
2024-07-18 7:02 ` Mike Rapoport
2024-07-18 7:02 ` Mike Rapoport
2024-07-19 15:07 ` David Hildenbrand
2024-07-19 15:07 ` David Hildenbrand
2024-07-19 15:07 ` David Hildenbrand
2024-07-19 15:34 ` Mike Rapoport
2024-07-19 15:34 ` Mike Rapoport
2024-07-19 15:34 ` Mike Rapoport
2024-07-19 15:46 ` David Hildenbrand
2024-07-19 15:46 ` David Hildenbrand
2024-07-19 15:46 ` David Hildenbrand
2024-07-19 15:51 ` Jonathan Cameron
2024-07-19 15:51 ` Jonathan Cameron
2024-07-19 15:51 ` Jonathan Cameron
2024-07-19 16:07 ` David Hildenbrand
2024-07-19 16:07 ` David Hildenbrand
2024-07-19 16:07 ` David Hildenbrand
2024-07-20 10:24 ` Mike Rapoport
2024-07-20 10:24 ` Mike Rapoport
2024-07-20 10:24 ` Mike Rapoport
2024-07-19 16:11 ` Jonathan Cameron
2024-07-19 16:11 ` Jonathan Cameron
2024-07-19 16:11 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 06/17] x86/numa: simplify numa_distance allocation Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:28 ` Jonathan Cameron
2024-07-19 16:28 ` Jonathan Cameron
2024-07-19 16:28 ` Jonathan Cameron
2024-07-22 7:51 ` Mike Rapoport
2024-07-22 7:51 ` Mike Rapoport
2024-07-22 7:51 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 07/17] x86/numa: move FAKE_NODE_* defines to numa_emu Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:30 ` Jonathan Cameron
2024-07-19 16:30 ` Jonathan Cameron
2024-07-19 16:30 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 08/17] x86/numa_emu: simplify allocation of phys_dist Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:38 ` Jonathan Cameron
2024-07-19 16:38 ` Jonathan Cameron
2024-07-19 16:38 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 09/17] x86/numa_emu: split __apicid_to_node update to a helper function Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:47 ` Jonathan Cameron
2024-07-19 16:47 ` Jonathan Cameron
2024-07-19 16:47 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 10/17] x86/numa_emu: use a helper function to get MAX_DMA32_PFN Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:50 ` Jonathan Cameron
2024-07-19 16:50 ` Jonathan Cameron
2024-07-19 16:50 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 11/17] x86/numa: numa_{add,remove}_cpu: make cpu parameter unsigned Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:57 ` Jonathan Cameron
2024-07-19 16:57 ` Jonathan Cameron
2024-07-19 16:57 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 12/17] mm: introduce numa_memblks Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 18:16 ` Jonathan Cameron
2024-07-19 18:16 ` Jonathan Cameron
2024-07-19 18:16 ` Jonathan Cameron
2024-07-22 8:03 ` Mike Rapoport
2024-07-22 8:03 ` Mike Rapoport
2024-07-22 8:03 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 13/17] mm: move numa_distance and related code from x86 to numa_memblks Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-18 21:46 ` Samuel Holland
2024-07-18 21:46 ` Samuel Holland
2024-07-18 21:46 ` Samuel Holland
2024-07-19 5:55 ` Mike Rapoport
2024-07-19 5:55 ` Mike Rapoport
2024-07-19 5:55 ` Mike Rapoport
2024-07-19 17:48 ` Jonathan Cameron
2024-07-19 17:48 ` Jonathan Cameron
2024-07-19 17:48 ` Jonathan Cameron
2024-07-20 12:25 ` Mike Rapoport
2024-07-20 12:25 ` Mike Rapoport
2024-07-20 12:25 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 14/17] mm: introduce numa_emulation Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 16:03 ` Zi Yan
2024-07-19 16:03 ` Zi Yan
2024-07-19 16:03 ` Zi Yan
2024-07-20 12:09 ` Mike Rapoport
2024-07-20 12:09 ` Mike Rapoport
2024-07-20 12:09 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 15/17] mm: make numa_memblks more self-contained Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 18:07 ` Jonathan Cameron
2024-07-19 18:07 ` Jonathan Cameron
2024-07-19 18:07 ` Jonathan Cameron
2024-07-20 12:32 ` Mike Rapoport [this message]
2024-07-20 12:32 ` Mike Rapoport
2024-07-20 12:32 ` Mike Rapoport
2024-07-22 8:05 ` Mike Rapoport
2024-07-22 8:05 ` Mike Rapoport
2024-07-22 8:05 ` Mike Rapoport
2024-07-16 11:13 ` [PATCH 16/17] arch_numa: switch over to numa_memblks Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 18:16 ` Jonathan Cameron
2024-07-19 18:16 ` Jonathan Cameron
2024-07-19 18:16 ` Jonathan Cameron
2024-07-16 11:13 ` [PATCH 17/17] mm: make range-to-target_node lookup facility a part of numa_memblks Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-16 11:13 ` Mike Rapoport
2024-07-19 18:19 ` Jonathan Cameron
2024-07-19 18:19 ` Jonathan Cameron
2024-07-19 18:19 ` Jonathan Cameron
2024-07-19 13:33 ` [PATCH 00/17] mm: introduce numa_memblks Jonathan Cameron
2024-07-19 13:33 ` Jonathan Cameron
2024-07-19 13:33 ` Jonathan Cameron
2024-07-22 8:08 ` Mike Rapoport
2024-07-22 8:08 ` Mike Rapoport
2024-07-22 8:08 ` Mike Rapoport
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZpuuYnMCd8RRZEcH@kernel.org \
--to=rppt@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=andreas@gaisler.com \
--cc=arnd@arndb.de \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@redhat.com \
--cc=devicetree@vger.kernel.org \
--cc=glaubitz@physik.fu-berlin.de \
--cc=gor@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=hca@linux.ibm.com \
--cc=jiaxun.yang@flygoat.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=nvdimm@lists.linux.dev \
--cc=palmer@dabbelt.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tsbogend@alpha.franken.de \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.