diff for duplicates of <YaVYGCB+I7QLZo0+@fedora> diff --git a/a/1.txt b/N1/1.txt index da1edd8..c19ee10 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -102,7 +102,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (early_cpu_to_node(from) = early_cpu_to_node(to)) +> if (early_cpu_to_node(from) == early_cpu_to_node(to)) > @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void) > > if (pcpu_chosen_fc != PCPU_FC_PAGE) { @@ -178,7 +178,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (cpu_to_node(from) = cpu_to_node(to)) +> if (cpu_to_node(from) == cpu_to_node(to)) > @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void) > rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, > PERCPU_DYNAMIC_RESERVE, 4 << 20, @@ -376,7 +376,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > + if (cpu_to_nd_fn) > + node = cpu_to_nd_fn(cpu); > + -> + if (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { +> + if (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { > + ptr = memblock_alloc_from(size, align, goal); > + } else { > + ptr = memblock_alloc_try_nid(size, align, goal, @@ -433,7 +433,7 @@ implementation where we #ifdef CONFIG_NUMA. > void *base = (void *)ULONG_MAX; > void **areas = NULL; > @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, -> BUG_ON(cpu = NR_CPUS); +> BUG_ON(cpu == NR_CPUS); > > /* allocate space for the whole group */ > - ptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn); @@ -443,7 +443,7 @@ implementation where we #ifdef CONFIG_NUMA. > goto out_free_areas; > @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, > for (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) { -> if (gi->cpu_map[i] = NR_CPUS) { +> if (gi->cpu_map[i] == NR_CPUS) { > /* unused unit, free whole */ > - free_fn(ptr, ai->unit_size); > + pcpu_fc_free(ptr, ai->unit_size); diff --git a/a/content_digest b/N1/content_digest index 6a96756..f80e3b5 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,7 +2,7 @@ "ref\020211121093557.139034-4-wangkefeng.wang@huawei.com\0" "From\0Dennis Zhou <dennis@kernel.org>\0" "Subject\0Re: [PATCH RFC 3/4] mm: percpu: Add generic pcpu_fc_alloc/free funciton\0" - "Date\0Mon, 29 Nov 2021 22:45:44 +0000\0" + "Date\0Mon, 29 Nov 2021 17:45:44 -0500\0" "To\0Kefeng Wang <wangkefeng.wang@huawei.com>\0" "Cc\0akpm@linux-foundation.org" linux-kernel@vger.kernel.org @@ -138,7 +138,7 @@ "> -\n" "> static int pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (early_cpu_to_node(from) = early_cpu_to_node(to))\n" + "> \tif (early_cpu_to_node(from) == early_cpu_to_node(to))\n" "> @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void)\n" "> \n" "> \tif (pcpu_chosen_fc != PCPU_FC_PAGE) {\n" @@ -214,7 +214,7 @@ "> -\n" "> static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (cpu_to_node(from) = cpu_to_node(to))\n" + "> \tif (cpu_to_node(from) == cpu_to_node(to))\n" "> @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void)\n" "> \t\trc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE,\n" "> \t\t\t\t\t PERCPU_DYNAMIC_RESERVE, 4 << 20,\n" @@ -412,7 +412,7 @@ "> +\tif (cpu_to_nd_fn)\n" "> +\t\tnode = cpu_to_nd_fn(cpu);\n" "> +\n" - "> +\tif (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" + "> +\tif (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" "> +\t\tptr = memblock_alloc_from(size, align, goal);\n" "> +\t} else {\n" "> +\t\tptr = memblock_alloc_try_nid(size, align, goal,\n" @@ -469,7 +469,7 @@ "> \tvoid *base = (void *)ULONG_MAX;\n" "> \tvoid **areas = NULL;\n" "> @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" - "> \t\tBUG_ON(cpu = NR_CPUS);\n" + "> \t\tBUG_ON(cpu == NR_CPUS);\n" "> \n" "> \t\t/* allocate space for the whole group */\n" "> -\t\tptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn);\n" @@ -479,7 +479,7 @@ "> \t\t\tgoto out_free_areas;\n" "> @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" "> \t\tfor (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) {\n" - "> \t\t\tif (gi->cpu_map[i] = NR_CPUS) {\n" + "> \t\t\tif (gi->cpu_map[i] == NR_CPUS) {\n" "> \t\t\t\t/* unused unit, free whole */\n" "> -\t\t\t\tfree_fn(ptr, ai->unit_size);\n" "> +\t\t\t\tpcpu_fc_free(ptr, ai->unit_size);\n" @@ -576,4 +576,4 @@ "Thanks,\n" Dennis -3a02095555613d2dd9c3812bd66196e57b659db407004da7bfb8bee5e2d8cd05 +adaff35899c04f034714bb53100fa016a06e6b769cc2fa41dc0afd7b6a14ae9b
diff --git a/a/1.txt b/N2/1.txt index da1edd8..9b8b0f5 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -102,7 +102,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (early_cpu_to_node(from) = early_cpu_to_node(to)) +> if (early_cpu_to_node(from) == early_cpu_to_node(to)) > @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void) > > if (pcpu_chosen_fc != PCPU_FC_PAGE) { @@ -178,7 +178,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (cpu_to_node(from) = cpu_to_node(to)) +> if (cpu_to_node(from) == cpu_to_node(to)) > @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void) > rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, > PERCPU_DYNAMIC_RESERVE, 4 << 20, @@ -376,7 +376,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > + if (cpu_to_nd_fn) > + node = cpu_to_nd_fn(cpu); > + -> + if (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { +> + if (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { > + ptr = memblock_alloc_from(size, align, goal); > + } else { > + ptr = memblock_alloc_try_nid(size, align, goal, @@ -433,7 +433,7 @@ implementation where we #ifdef CONFIG_NUMA. > void *base = (void *)ULONG_MAX; > void **areas = NULL; > @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, -> BUG_ON(cpu = NR_CPUS); +> BUG_ON(cpu == NR_CPUS); > > /* allocate space for the whole group */ > - ptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn); @@ -443,7 +443,7 @@ implementation where we #ifdef CONFIG_NUMA. > goto out_free_areas; > @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, > for (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) { -> if (gi->cpu_map[i] = NR_CPUS) { +> if (gi->cpu_map[i] == NR_CPUS) { > /* unused unit, free whole */ > - free_fn(ptr, ai->unit_size); > + pcpu_fc_free(ptr, ai->unit_size); @@ -539,3 +539,8 @@ Overall this makes sense. Thanks, Dennis + +_______________________________________________ +linux-riscv mailing list +linux-riscv@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-riscv diff --git a/a/content_digest b/N2/content_digest index 6a96756..75cbd3e 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -2,7 +2,7 @@ "ref\020211121093557.139034-4-wangkefeng.wang@huawei.com\0" "From\0Dennis Zhou <dennis@kernel.org>\0" "Subject\0Re: [PATCH RFC 3/4] mm: percpu: Add generic pcpu_fc_alloc/free funciton\0" - "Date\0Mon, 29 Nov 2021 22:45:44 +0000\0" + "Date\0Mon, 29 Nov 2021 17:45:44 -0500\0" "To\0Kefeng Wang <wangkefeng.wang@huawei.com>\0" "Cc\0akpm@linux-foundation.org" linux-kernel@vger.kernel.org @@ -138,7 +138,7 @@ "> -\n" "> static int pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (early_cpu_to_node(from) = early_cpu_to_node(to))\n" + "> \tif (early_cpu_to_node(from) == early_cpu_to_node(to))\n" "> @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void)\n" "> \n" "> \tif (pcpu_chosen_fc != PCPU_FC_PAGE) {\n" @@ -214,7 +214,7 @@ "> -\n" "> static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (cpu_to_node(from) = cpu_to_node(to))\n" + "> \tif (cpu_to_node(from) == cpu_to_node(to))\n" "> @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void)\n" "> \t\trc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE,\n" "> \t\t\t\t\t PERCPU_DYNAMIC_RESERVE, 4 << 20,\n" @@ -412,7 +412,7 @@ "> +\tif (cpu_to_nd_fn)\n" "> +\t\tnode = cpu_to_nd_fn(cpu);\n" "> +\n" - "> +\tif (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" + "> +\tif (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" "> +\t\tptr = memblock_alloc_from(size, align, goal);\n" "> +\t} else {\n" "> +\t\tptr = memblock_alloc_try_nid(size, align, goal,\n" @@ -469,7 +469,7 @@ "> \tvoid *base = (void *)ULONG_MAX;\n" "> \tvoid **areas = NULL;\n" "> @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" - "> \t\tBUG_ON(cpu = NR_CPUS);\n" + "> \t\tBUG_ON(cpu == NR_CPUS);\n" "> \n" "> \t\t/* allocate space for the whole group */\n" "> -\t\tptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn);\n" @@ -479,7 +479,7 @@ "> \t\t\tgoto out_free_areas;\n" "> @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" "> \t\tfor (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) {\n" - "> \t\t\tif (gi->cpu_map[i] = NR_CPUS) {\n" + "> \t\t\tif (gi->cpu_map[i] == NR_CPUS) {\n" "> \t\t\t\t/* unused unit, free whole */\n" "> -\t\t\t\tfree_fn(ptr, ai->unit_size);\n" "> +\t\t\t\tpcpu_fc_free(ptr, ai->unit_size);\n" @@ -574,6 +574,11 @@ "Overall this makes sense.\n" "\n" "Thanks,\n" - Dennis + "Dennis\n" + "\n" + "_______________________________________________\n" + "linux-riscv mailing list\n" + "linux-riscv@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-riscv -3a02095555613d2dd9c3812bd66196e57b659db407004da7bfb8bee5e2d8cd05 +1764e717b36a82251ea889da2d2d12ba30a7c63ee6c6dbeaf8302a4ec4a6ed71
diff --git a/a/1.txt b/N3/1.txt index da1edd8..c19ee10 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -102,7 +102,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (early_cpu_to_node(from) = early_cpu_to_node(to)) +> if (early_cpu_to_node(from) == early_cpu_to_node(to)) > @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void) > > if (pcpu_chosen_fc != PCPU_FC_PAGE) { @@ -178,7 +178,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (cpu_to_node(from) = cpu_to_node(to)) +> if (cpu_to_node(from) == cpu_to_node(to)) > @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void) > rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, > PERCPU_DYNAMIC_RESERVE, 4 << 20, @@ -376,7 +376,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > + if (cpu_to_nd_fn) > + node = cpu_to_nd_fn(cpu); > + -> + if (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { +> + if (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { > + ptr = memblock_alloc_from(size, align, goal); > + } else { > + ptr = memblock_alloc_try_nid(size, align, goal, @@ -433,7 +433,7 @@ implementation where we #ifdef CONFIG_NUMA. > void *base = (void *)ULONG_MAX; > void **areas = NULL; > @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, -> BUG_ON(cpu = NR_CPUS); +> BUG_ON(cpu == NR_CPUS); > > /* allocate space for the whole group */ > - ptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn); @@ -443,7 +443,7 @@ implementation where we #ifdef CONFIG_NUMA. > goto out_free_areas; > @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, > for (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) { -> if (gi->cpu_map[i] = NR_CPUS) { +> if (gi->cpu_map[i] == NR_CPUS) { > /* unused unit, free whole */ > - free_fn(ptr, ai->unit_size); > + pcpu_fc_free(ptr, ai->unit_size); diff --git a/a/content_digest b/N3/content_digest index 6a96756..70263fd 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -2,36 +2,34 @@ "ref\020211121093557.139034-4-wangkefeng.wang@huawei.com\0" "From\0Dennis Zhou <dennis@kernel.org>\0" "Subject\0Re: [PATCH RFC 3/4] mm: percpu: Add generic pcpu_fc_alloc/free funciton\0" - "Date\0Mon, 29 Nov 2021 22:45:44 +0000\0" + "Date\0Mon, 29 Nov 2021 17:45:44 -0500\0" "To\0Kefeng Wang <wangkefeng.wang@huawei.com>\0" - "Cc\0akpm@linux-foundation.org" - linux-kernel@vger.kernel.org + "Cc\0linux-ia64@vger.kernel.org" + dave.hansen@linux.intel.com + linux-mips@vger.kernel.org linux-mm@kvack.org - tj@kernel.org - gregkh@linuxfoundation.org + paulus@samba.org + hpa@zytor.com + sparclinux@vger.kernel.org cl@linux.com - catalin.marinas@arm.com will@kernel.org - tsbogend@alpha.franken.de - mpe@ellerman.id.au - benh@kernel.crashing.org - paulus@samba.org - paul.walmsley@sifive.com - palmer@dabbelt.com - aou@eecs.berkeley.edu - davem@davemloft.net - tglx@linutronix.de + linux-riscv@lists.infradead.org + x86@kernel.org mingo@redhat.com + catalin.marinas@arm.com + aou@eecs.berkeley.edu bp@alien8.de - dave.hansen@linux.intel.com - hpa@zytor.com + paul.walmsley@sifive.com + tglx@linutronix.de linux-arm-kernel@lists.infradead.org - linux-ia64@vger.kernel.org - linux-mips@vger.kernel.org + tsbogend@alpha.franken.de + gregkh@linuxfoundation.org + linux-kernel@vger.kernel.org + palmer@dabbelt.com + tj@kernel.org + akpm@linux-foundation.org linuxppc-dev@lists.ozlabs.org - linux-riscv@lists.infradead.org - sparclinux@vger.kernel.org - " x86@kernel.org\0" + " davem@davemloft.net\0" "\00:1\0" "b\0" "On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote:\n" @@ -138,7 +136,7 @@ "> -\n" "> static int pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (early_cpu_to_node(from) = early_cpu_to_node(to))\n" + "> \tif (early_cpu_to_node(from) == early_cpu_to_node(to))\n" "> @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void)\n" "> \n" "> \tif (pcpu_chosen_fc != PCPU_FC_PAGE) {\n" @@ -214,7 +212,7 @@ "> -\n" "> static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (cpu_to_node(from) = cpu_to_node(to))\n" + "> \tif (cpu_to_node(from) == cpu_to_node(to))\n" "> @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void)\n" "> \t\trc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE,\n" "> \t\t\t\t\t PERCPU_DYNAMIC_RESERVE, 4 << 20,\n" @@ -412,7 +410,7 @@ "> +\tif (cpu_to_nd_fn)\n" "> +\t\tnode = cpu_to_nd_fn(cpu);\n" "> +\n" - "> +\tif (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" + "> +\tif (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" "> +\t\tptr = memblock_alloc_from(size, align, goal);\n" "> +\t} else {\n" "> +\t\tptr = memblock_alloc_try_nid(size, align, goal,\n" @@ -469,7 +467,7 @@ "> \tvoid *base = (void *)ULONG_MAX;\n" "> \tvoid **areas = NULL;\n" "> @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" - "> \t\tBUG_ON(cpu = NR_CPUS);\n" + "> \t\tBUG_ON(cpu == NR_CPUS);\n" "> \n" "> \t\t/* allocate space for the whole group */\n" "> -\t\tptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn);\n" @@ -479,7 +477,7 @@ "> \t\t\tgoto out_free_areas;\n" "> @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" "> \t\tfor (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) {\n" - "> \t\t\tif (gi->cpu_map[i] = NR_CPUS) {\n" + "> \t\t\tif (gi->cpu_map[i] == NR_CPUS) {\n" "> \t\t\t\t/* unused unit, free whole */\n" "> -\t\t\t\tfree_fn(ptr, ai->unit_size);\n" "> +\t\t\t\tpcpu_fc_free(ptr, ai->unit_size);\n" @@ -576,4 +574,4 @@ "Thanks,\n" Dennis -3a02095555613d2dd9c3812bd66196e57b659db407004da7bfb8bee5e2d8cd05 +4e1067710103cc0e17f618c79781403d01a141622d06be959c3e7a367ad6577a
diff --git a/a/1.txt b/N4/1.txt index da1edd8..1bbde99 100644 --- a/a/1.txt +++ b/N4/1.txt @@ -102,7 +102,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (early_cpu_to_node(from) = early_cpu_to_node(to)) +> if (early_cpu_to_node(from) == early_cpu_to_node(to)) > @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void) > > if (pcpu_chosen_fc != PCPU_FC_PAGE) { @@ -178,7 +178,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > - > static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) > { -> if (cpu_to_node(from) = cpu_to_node(to)) +> if (cpu_to_node(from) == cpu_to_node(to)) > @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void) > rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, > PERCPU_DYNAMIC_RESERVE, 4 << 20, @@ -376,7 +376,7 @@ On Sun, Nov 21, 2021 at 05:35:56PM +0800, Kefeng Wang wrote: > + if (cpu_to_nd_fn) > + node = cpu_to_nd_fn(cpu); > + -> + if (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { +> + if (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) { > + ptr = memblock_alloc_from(size, align, goal); > + } else { > + ptr = memblock_alloc_try_nid(size, align, goal, @@ -433,7 +433,7 @@ implementation where we #ifdef CONFIG_NUMA. > void *base = (void *)ULONG_MAX; > void **areas = NULL; > @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, -> BUG_ON(cpu = NR_CPUS); +> BUG_ON(cpu == NR_CPUS); > > /* allocate space for the whole group */ > - ptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn); @@ -443,7 +443,7 @@ implementation where we #ifdef CONFIG_NUMA. > goto out_free_areas; > @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size, > for (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) { -> if (gi->cpu_map[i] = NR_CPUS) { +> if (gi->cpu_map[i] == NR_CPUS) { > /* unused unit, free whole */ > - free_fn(ptr, ai->unit_size); > + pcpu_fc_free(ptr, ai->unit_size); @@ -539,3 +539,8 @@ Overall this makes sense. Thanks, Dennis + +_______________________________________________ +linux-arm-kernel mailing list +linux-arm-kernel@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N4/content_digest index 6a96756..390f274 100644 --- a/a/content_digest +++ b/N4/content_digest @@ -2,7 +2,7 @@ "ref\020211121093557.139034-4-wangkefeng.wang@huawei.com\0" "From\0Dennis Zhou <dennis@kernel.org>\0" "Subject\0Re: [PATCH RFC 3/4] mm: percpu: Add generic pcpu_fc_alloc/free funciton\0" - "Date\0Mon, 29 Nov 2021 22:45:44 +0000\0" + "Date\0Mon, 29 Nov 2021 17:45:44 -0500\0" "To\0Kefeng Wang <wangkefeng.wang@huawei.com>\0" "Cc\0akpm@linux-foundation.org" linux-kernel@vger.kernel.org @@ -138,7 +138,7 @@ "> -\n" "> static int pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (early_cpu_to_node(from) = early_cpu_to_node(to))\n" + "> \tif (early_cpu_to_node(from) == early_cpu_to_node(to))\n" "> @@ -897,8 +853,7 @@ void __init setup_per_cpu_areas(void)\n" "> \n" "> \tif (pcpu_chosen_fc != PCPU_FC_PAGE) {\n" @@ -214,7 +214,7 @@ "> -\n" "> static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)\n" "> {\n" - "> \tif (cpu_to_node(from) = cpu_to_node(to))\n" + "> \tif (cpu_to_node(from) == cpu_to_node(to))\n" "> @@ -1641,9 +1597,7 @@ void __init setup_per_cpu_areas(void)\n" "> \t\trc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE,\n" "> \t\t\t\t\t PERCPU_DYNAMIC_RESERVE, 4 << 20,\n" @@ -412,7 +412,7 @@ "> +\tif (cpu_to_nd_fn)\n" "> +\t\tnode = cpu_to_nd_fn(cpu);\n" "> +\n" - "> +\tif (node = NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" + "> +\tif (node == NUMA_NO_NODE || !node_online(node) || !NODE_DATA(node)) {\n" "> +\t\tptr = memblock_alloc_from(size, align, goal);\n" "> +\t} else {\n" "> +\t\tptr = memblock_alloc_try_nid(size, align, goal,\n" @@ -469,7 +469,7 @@ "> \tvoid *base = (void *)ULONG_MAX;\n" "> \tvoid **areas = NULL;\n" "> @@ -3068,7 +3088,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" - "> \t\tBUG_ON(cpu = NR_CPUS);\n" + "> \t\tBUG_ON(cpu == NR_CPUS);\n" "> \n" "> \t\t/* allocate space for the whole group */\n" "> -\t\tptr = alloc_fn(cpu, gi->nr_units * ai->unit_size, atom_size, cpu_to_nd_fn);\n" @@ -479,7 +479,7 @@ "> \t\t\tgoto out_free_areas;\n" "> @@ -3107,12 +3127,12 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,\n" "> \t\tfor (i = 0; i < gi->nr_units; i++, ptr += ai->unit_size) {\n" - "> \t\t\tif (gi->cpu_map[i] = NR_CPUS) {\n" + "> \t\t\tif (gi->cpu_map[i] == NR_CPUS) {\n" "> \t\t\t\t/* unused unit, free whole */\n" "> -\t\t\t\tfree_fn(ptr, ai->unit_size);\n" "> +\t\t\t\tpcpu_fc_free(ptr, ai->unit_size);\n" @@ -574,6 +574,11 @@ "Overall this makes sense.\n" "\n" "Thanks,\n" - Dennis + "Dennis\n" + "\n" + "_______________________________________________\n" + "linux-arm-kernel mailing list\n" + "linux-arm-kernel@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -3a02095555613d2dd9c3812bd66196e57b659db407004da7bfb8bee5e2d8cd05 +31d7ad5a11a0f19f7991b49fbcb173252c86f7e39faf97c3556c47aac4593a20
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.