From: Andrew Morton <akpm@linux-foundation.org>
To: akpm@linux-foundation.org, arnd@arndb.de, corbet@lwn.net,
david@redhat.com, geert@linux-m68k.org, ink@jurassic.park.msu.ru,
linux-mm@kvack.org, mattst88@gmail.com,
mm-commits@vger.kernel.org, rppt@linux.ibm.com, rth@twiddle.net,
torvalds@linux-foundation.org, vgupta@synopsys.com
Subject: [patch 187/192] mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA
Date: Mon, 28 Jun 2021 19:43:01 -0700 [thread overview]
Message-ID: <20210629024301.ICOHlz5nG%akpm@linux-foundation.org> (raw)
In-Reply-To: <20210628193256.008961950a714730751c1423@linux-foundation.org>
From: Mike Rapoport <rppt@linux.ibm.com>
Subject: mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA
After removal of DISCINTIGMEM the NEED_MULTIPLE_NODES and NUMA
configuration options are equivalent.
Drop CONFIG_NEED_MULTIPLE_NODES and use CONFIG_NUMA instead.
Done with
$ sed -i 's/CONFIG_NEED_MULTIPLE_NODES/CONFIG_NUMA/' \
$(git grep -wl CONFIG_NEED_MULTIPLE_NODES)
$ sed -i 's/NEED_MULTIPLE_NODES/NUMA/' \
$(git grep -wl NEED_MULTIPLE_NODES)
with manual tweaks afterwards.
[rppt@linux.ibm.com: fix arm boot crash]
Link: https://lkml.kernel.org/r/YMj9vHhHOiCVN4BF@linux.ibm.com
Link: https://lkml.kernel.org/r/20210608091316.3622-9-rppt@kernel.org
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm64/Kconfig | 2 +-
arch/ia64/Kconfig | 2 +-
arch/mips/Kconfig | 2 +-
arch/mips/include/asm/mmzone.h | 2 +-
arch/mips/include/asm/page.h | 2 +-
arch/mips/mm/init.c | 4 ++--
arch/powerpc/Kconfig | 2 +-
arch/powerpc/include/asm/mmzone.h | 4 ++--
arch/powerpc/kernel/setup_64.c | 2 +-
arch/powerpc/kernel/smp.c | 2 +-
arch/powerpc/kexec/core.c | 4 ++--
arch/powerpc/mm/Makefile | 2 +-
arch/powerpc/mm/mem.c | 4 ++--
arch/riscv/Kconfig | 2 +-
arch/s390/Kconfig | 2 +-
arch/sh/include/asm/mmzone.h | 4 ++--
arch/sh/kernel/topology.c | 2 +-
arch/sh/mm/Kconfig | 2 +-
arch/sh/mm/init.c | 2 +-
arch/sparc/Kconfig | 2 +-
arch/sparc/include/asm/mmzone.h | 4 ++--
arch/sparc/kernel/smp_64.c | 2 +-
arch/sparc/mm/init_64.c | 12 ++++++------
arch/x86/Kconfig | 2 +-
arch/x86/kernel/setup_percpu.c | 6 +++---
arch/x86/mm/init_32.c | 4 ++--
include/asm-generic/topology.h | 2 +-
include/linux/memblock.h | 6 +++---
include/linux/mm.h | 4 ++--
include/linux/mmzone.h | 6 +++---
kernel/crash_core.c | 2 +-
mm/Kconfig | 9 ---------
mm/memblock.c | 8 ++++----
mm/memory.c | 3 +--
mm/page_alloc.c | 6 +++---
mm/sparse.c | 2 +-
36 files changed, 59 insertions(+), 69 deletions(-)
--- a/arch/arm64/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/arm64/Kconfig
@@ -1035,7 +1035,7 @@ config NODES_SHIFT
int "Maximum NUMA Nodes (as a power of 2)"
range 1 10
default "4"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
help
Specify the maximum number of NUMA Nodes available on the target
system. Increases memory reserved to accommodate various tables.
--- a/arch/ia64/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/ia64/Kconfig
@@ -302,7 +302,7 @@ config NODES_SHIFT
int "Max num nodes shift(3-10)"
range 3 10
default "10"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
help
This option specifies the maximum number of nodes in your SSI system.
MAX_NUMNODES will be 2^(This value).
--- a/arch/mips/include/asm/mmzone.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/mips/include/asm/mmzone.h
@@ -8,7 +8,7 @@
#include <asm/page.h>
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
# include <mmzone.h>
#endif
--- a/arch/mips/include/asm/page.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/mips/include/asm/page.h
@@ -239,7 +239,7 @@ static inline int pfn_valid(unsigned lon
/* pfn_valid is defined in linux/mmzone.h */
-#elif defined(CONFIG_NEED_MULTIPLE_NODES)
+#elif defined(CONFIG_NUMA)
#define pfn_valid(pfn) \
({ \
--- a/arch/mips/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/mips/Kconfig
@@ -2867,7 +2867,7 @@ config RANDOMIZE_BASE_MAX_OFFSET
config NODES_SHIFT
int
default "6"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
config HW_PERF_EVENTS
bool "Enable hardware performance counter support for perf events"
--- a/arch/mips/mm/init.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/mips/mm/init.c
@@ -394,7 +394,7 @@ void maar_init(void)
}
}
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
void __init paging_init(void)
{
unsigned long max_zone_pfns[MAX_NR_ZONES];
@@ -473,7 +473,7 @@ void __init mem_init(void)
0x80000000 - 4, KCORE_TEXT);
#endif
}
-#endif /* !CONFIG_NEED_MULTIPLE_NODES */
+#endif /* !CONFIG_NUMA */
void free_init_pages(const char *what, unsigned long begin, unsigned long end)
{
--- a/arch/powerpc/include/asm/mmzone.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/include/asm/mmzone.h
@@ -18,7 +18,7 @@
* flags field of the struct page
*/
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
extern struct pglist_data *node_data[];
/*
@@ -41,7 +41,7 @@ u64 memory_hotplug_max(void);
#else
#define memory_hotplug_max() memblock_end_of_DRAM()
-#endif /* CONFIG_NEED_MULTIPLE_NODES */
+#endif /* CONFIG_NUMA */
#ifdef CONFIG_FA_DUMP
#define __HAVE_ARCH_RESERVED_KERNEL_PAGES
#endif
--- a/arch/powerpc/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/Kconfig
@@ -671,7 +671,7 @@ config NODES_SHIFT
int
default "8" if PPC64
default "4"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
config USE_PERCPU_NUMA_NODE_ID
def_bool y
--- a/arch/powerpc/kernel/setup_64.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/kernel/setup_64.c
@@ -788,7 +788,7 @@ static void * __init pcpu_alloc_bootmem(
size_t align)
{
const unsigned long goal = __pa(MAX_DMA_ADDRESS);
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int node = early_cpu_to_node(cpu);
void *ptr;
--- a/arch/powerpc/kernel/smp.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/kernel/smp.c
@@ -1047,7 +1047,7 @@ void __init smp_prepare_cpus(unsigned in
zalloc_cpumask_var_node(&per_cpu(cpu_coregroup_map, cpu),
GFP_KERNEL, cpu_to_node(cpu));
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
/*
* numa_node_id() works after this.
*/
--- a/arch/powerpc/kexec/core.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/kexec/core.c
@@ -68,11 +68,11 @@ void machine_kexec_cleanup(struct kimage
void arch_crash_save_vmcoreinfo(void)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
VMCOREINFO_SYMBOL(node_data);
VMCOREINFO_LENGTH(node_data, MAX_NUMNODES);
#endif
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
VMCOREINFO_SYMBOL(contig_page_data);
#endif
#if defined(CONFIG_PPC64) && defined(CONFIG_SPARSEMEM_VMEMMAP)
--- a/arch/powerpc/mm/Makefile~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/mm/Makefile
@@ -13,7 +13,7 @@ obj-y := fault.o mem.o pgtable.o mmap
obj-$(CONFIG_PPC_MMU_NOHASH) += nohash/
obj-$(CONFIG_PPC_BOOK3S_32) += book3s32/
obj-$(CONFIG_PPC_BOOK3S_64) += book3s64/
-obj-$(CONFIG_NEED_MULTIPLE_NODES) += numa.o
+obj-$(CONFIG_NUMA) += numa.o
obj-$(CONFIG_PPC_MM_SLICES) += slice.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
--- a/arch/powerpc/mm/mem.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/powerpc/mm/mem.c
@@ -127,7 +127,7 @@ void __ref arch_remove_memory(int nid, u
}
#endif
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
void __init mem_topology_setup(void)
{
max_low_pfn = max_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT;
@@ -162,7 +162,7 @@ static int __init mark_nonram_nosave(voi
return 0;
}
-#else /* CONFIG_NEED_MULTIPLE_NODES */
+#else /* CONFIG_NUMA */
static int __init mark_nonram_nosave(void)
{
return 0;
--- a/arch/riscv/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/riscv/Kconfig
@@ -332,7 +332,7 @@ config NODES_SHIFT
int "Maximum NUMA Nodes (as a power of 2)"
range 1 10
default "2"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
help
Specify the maximum number of NUMA Nodes available on the target
system. Increases memory reserved to accommodate various tables.
--- a/arch/s390/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/s390/Kconfig
@@ -475,7 +475,7 @@ config NUMA
config NODES_SHIFT
int
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
default "1"
config SCHED_SMT
--- a/arch/sh/include/asm/mmzone.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sh/include/asm/mmzone.h
@@ -2,7 +2,7 @@
#ifndef __ASM_SH_MMZONE_H
#define __ASM_SH_MMZONE_H
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
#include <linux/numa.h>
extern struct pglist_data *node_data[];
@@ -31,7 +31,7 @@ static inline void
setup_bootmem_node(int nid, unsigned long start, unsigned long end)
{
}
-#endif /* CONFIG_NEED_MULTIPLE_NODES */
+#endif /* CONFIG_NUMA */
/* Platform specific mem init */
void __init plat_mem_setup(void);
--- a/arch/sh/kernel/topology.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sh/kernel/topology.c
@@ -46,7 +46,7 @@ static int __init topology_init(void)
{
int i, ret;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
for_each_online_node(i)
register_one_node(i);
#endif
--- a/arch/sh/mm/init.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sh/mm/init.c
@@ -211,7 +211,7 @@ void __init allocate_pgdat(unsigned int
get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
NODE_DATA(nid) = memblock_alloc_try_nid(
sizeof(struct pglist_data),
SMP_CACHE_BYTES, MEMBLOCK_LOW_LIMIT,
--- a/arch/sh/mm/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sh/mm/Kconfig
@@ -120,7 +120,7 @@ config NODES_SHIFT
int
default "3" if CPU_SUBTYPE_SHX3
default "1"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
config ARCH_FLATMEM_ENABLE
def_bool y
--- a/arch/sparc/include/asm/mmzone.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sparc/include/asm/mmzone.h
@@ -2,7 +2,7 @@
#ifndef _SPARC64_MMZONE_H
#define _SPARC64_MMZONE_H
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
#include <linux/cpumask.h>
@@ -13,6 +13,6 @@ extern struct pglist_data *node_data[];
extern int numa_cpu_lookup_table[];
extern cpumask_t numa_cpumask_lookup_table[];
-#endif /* CONFIG_NEED_MULTIPLE_NODES */
+#endif /* CONFIG_NUMA */
#endif /* _SPARC64_MMZONE_H */
--- a/arch/sparc/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sparc/Kconfig
@@ -265,7 +265,7 @@ config NODES_SHIFT
int "Maximum NUMA Nodes (as a power of 2)"
range 4 5 if SPARC64
default "5"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
help
Specify the maximum number of NUMA Nodes available on the target
system. Increases memory reserved to accommodate various tables.
--- a/arch/sparc/kernel/smp_64.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sparc/kernel/smp_64.c
@@ -1546,7 +1546,7 @@ static void * __init pcpu_alloc_bootmem(
size_t align)
{
const unsigned long goal = __pa(MAX_DMA_ADDRESS);
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int node = cpu_to_node(cpu);
void *ptr;
--- a/arch/sparc/mm/init_64.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/sparc/mm/init_64.c
@@ -903,7 +903,7 @@ struct node_mem_mask {
static struct node_mem_mask node_masks[MAX_NUMNODES];
static int num_node_masks;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
struct mdesc_mlgroup {
u64 node;
@@ -1059,7 +1059,7 @@ static void __init allocate_node_data(in
{
struct pglist_data *p;
unsigned long start_pfn, end_pfn;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
NODE_DATA(nid) = memblock_alloc_node(sizeof(struct pglist_data),
SMP_CACHE_BYTES, nid);
@@ -1080,7 +1080,7 @@ static void __init allocate_node_data(in
static void init_node_masks_nonnuma(void)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int i;
#endif
@@ -1090,7 +1090,7 @@ static void init_node_masks_nonnuma(void
node_masks[0].match = 0;
num_node_masks = 1;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
for (i = 0; i < NR_CPUS; i++)
numa_cpu_lookup_table[i] = 0;
@@ -1098,7 +1098,7 @@ static void init_node_masks_nonnuma(void
#endif
}
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
struct pglist_data *node_data[MAX_NUMNODES];
EXPORT_SYMBOL(numa_cpu_lookup_table);
@@ -2487,7 +2487,7 @@ int page_in_phys_avail(unsigned long pad
static void __init register_page_bootmem_info(void)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int i;
for_each_online_node(i)
--- a/arch/x86/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/x86/Kconfig
@@ -1597,7 +1597,7 @@ config NODES_SHIFT
default "10" if MAXSMP
default "6" if X86_64
default "3"
- depends on NEED_MULTIPLE_NODES
+ depends on NUMA
help
Specify the maximum number of NUMA Nodes available on the target
system. Increases memory reserved to accommodate various tables.
--- a/arch/x86/kernel/setup_percpu.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/x86/kernel/setup_percpu.c
@@ -66,7 +66,7 @@ EXPORT_SYMBOL(__per_cpu_offset);
*/
static bool __init pcpu_need_numa(void)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
pg_data_t *last = NULL;
unsigned int cpu;
@@ -101,7 +101,7 @@ static void * __init pcpu_alloc_bootmem(
unsigned long align)
{
const unsigned long goal = __pa(MAX_DMA_ADDRESS);
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int node = early_cpu_to_node(cpu);
void *ptr;
@@ -140,7 +140,7 @@ static void __init pcpu_fc_free(void *pt
static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
if (early_cpu_to_node(from) == early_cpu_to_node(to))
return LOCAL_DISTANCE;
else
--- a/arch/x86/mm/init_32.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/arch/x86/mm/init_32.c
@@ -651,7 +651,7 @@ void __init find_low_pfn_range(void)
highmem_pfn_init();
}
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
void __init initmem_init(void)
{
#ifdef CONFIG_HIGHMEM
@@ -677,7 +677,7 @@ void __init initmem_init(void)
setup_bootmem_allocator();
}
-#endif /* !CONFIG_NEED_MULTIPLE_NODES */
+#endif /* !CONFIG_NUMA */
void __init setup_bootmem_allocator(void)
{
--- a/include/asm-generic/topology.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/include/asm-generic/topology.h
@@ -45,7 +45,7 @@
#endif
#ifndef cpumask_of_node
- #ifdef CONFIG_NEED_MULTIPLE_NODES
+ #ifdef CONFIG_NUMA
#define cpumask_of_node(node) ((node) == 0 ? cpu_online_mask : cpu_none_mask)
#else
#define cpumask_of_node(node) ((void)(node), cpu_online_mask)
--- a/include/linux/memblock.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/include/linux/memblock.h
@@ -50,7 +50,7 @@ struct memblock_region {
phys_addr_t base;
phys_addr_t size;
enum memblock_flags flags;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int nid;
#endif
};
@@ -347,7 +347,7 @@ int __init deferred_page_init_max_thread
int memblock_set_node(phys_addr_t base, phys_addr_t size,
struct memblock_type *type, int nid);
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
static inline void memblock_set_region_node(struct memblock_region *r, int nid)
{
r->nid = nid;
@@ -366,7 +366,7 @@ static inline int memblock_get_region_no
{
return 0;
}
-#endif /* CONFIG_NEED_MULTIPLE_NODES */
+#endif /* CONFIG_NUMA */
/* Flags for memblock allocation APIs */
#define MEMBLOCK_ALLOC_ANYWHERE (~(phys_addr_t)0)
--- a/include/linux/mm.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/include/linux/mm.h
@@ -46,7 +46,7 @@ extern int sysctl_page_lock_unfairness;
void init_mm_internals(void);
-#ifndef CONFIG_NEED_MULTIPLE_NODES /* Don't use mapnrs, do it properly */
+#ifndef CONFIG_NUMA /* Don't use mapnrs, do it properly */
extern unsigned long max_mapnr;
static inline void set_max_mapnr(unsigned long limit)
@@ -2460,7 +2460,7 @@ extern void get_pfn_range_for_nid(unsign
unsigned long *start_pfn, unsigned long *end_pfn);
extern unsigned long find_min_pfn_with_active_regions(void);
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
static inline int early_pfn_to_nid(unsigned long pfn)
{
return 0;
--- a/include/linux/mmzone.h~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/include/linux/mmzone.h
@@ -1043,17 +1043,17 @@ extern int percpu_pagelist_high_fraction
extern char numa_zonelist_order[];
#define NUMA_ZONELIST_ORDER_LEN 16
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
extern struct pglist_data contig_page_data;
#define NODE_DATA(nid) (&contig_page_data)
#define NODE_MEM_MAP(nid) mem_map
-#else /* CONFIG_NEED_MULTIPLE_NODES */
+#else /* CONFIG_NUMA */
#include <asm/mmzone.h>
-#endif /* !CONFIG_NEED_MULTIPLE_NODES */
+#endif /* !CONFIG_NUMA */
extern struct pglist_data *first_online_pgdat(void);
extern struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
--- a/kernel/crash_core.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/kernel/crash_core.c
@@ -455,7 +455,7 @@ static int __init crash_save_vmcoreinfo_
VMCOREINFO_SYMBOL(_stext);
VMCOREINFO_SYMBOL(vmap_area_list);
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
VMCOREINFO_SYMBOL(mem_map);
VMCOREINFO_SYMBOL(contig_page_data);
#endif
--- a/mm/Kconfig~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/mm/Kconfig
@@ -60,15 +60,6 @@ config FLAT_NODE_MEM_MAP
depends on !SPARSEMEM
#
-# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
-# to represent different areas of memory. This variable allows
-# those dependencies to exist individually.
-#
-config NEED_MULTIPLE_NODES
- def_bool y
- depends on NUMA
-
-#
# SPARSEMEM_EXTREME (which is the default) does some bootmem
# allocations when sparse_init() is called. If this cannot
# be done on your architecture, select this option. However,
--- a/mm/memblock.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/mm/memblock.c
@@ -92,7 +92,7 @@
* system initialization completes.
*/
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
struct pglist_data __refdata contig_page_data;
EXPORT_SYMBOL(contig_page_data);
#endif
@@ -607,7 +607,7 @@ repeat:
* area, insert that portion.
*/
if (rbase > base) {
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
WARN_ON(nid != memblock_get_region_node(rgn));
#endif
WARN_ON(flags != rgn->flags);
@@ -1205,7 +1205,7 @@ void __init_memblock __next_mem_pfn_rang
int __init_memblock memblock_set_node(phys_addr_t base, phys_addr_t size,
struct memblock_type *type, int nid)
{
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
int start_rgn, end_rgn;
int i, ret;
@@ -1849,7 +1849,7 @@ static void __init_memblock memblock_dum
size = rgn->size;
end = base + size - 1;
flags = rgn->flags;
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
if (memblock_get_region_node(rgn) != MAX_NUMNODES)
snprintf(nid_buf, sizeof(nid_buf), " on node %d",
memblock_get_region_node(rgn));
--- a/mm/memory.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/mm/memory.c
@@ -90,8 +90,7 @@
#warning Unfortunate NUMA and NUMA Balancing config, growing page-frame for last_cpupid.
#endif
-#ifndef CONFIG_NEED_MULTIPLE_NODES
-/* use the per-pgdat data instead for discontigmem - mbligh */
+#ifndef CONFIG_NUMA
unsigned long max_mapnr;
EXPORT_SYMBOL(max_mapnr);
--- a/mm/page_alloc.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/mm/page_alloc.c
@@ -1634,7 +1634,7 @@ void __free_pages_core(struct page *page
__free_pages_ok(page, order, FPI_TO_TAIL | FPI_SKIP_KASAN_POISON);
}
-#ifdef CONFIG_NEED_MULTIPLE_NODES
+#ifdef CONFIG_NUMA
/*
* During memory init memblocks map pfns to nids. The search is expensive and
@@ -1684,7 +1684,7 @@ int __meminit early_pfn_to_nid(unsigned
return nid;
}
-#endif /* CONFIG_NEED_MULTIPLE_NODES */
+#endif /* CONFIG_NUMA */
void __init memblock_free_pages(struct page *page, unsigned long pfn,
unsigned int order)
@@ -7438,7 +7438,7 @@ static void __ref alloc_node_mem_map(str
pr_debug("%s: node %d, pgdat %08lx, node_mem_map %08lx\n",
__func__, pgdat->node_id, (unsigned long)pgdat,
(unsigned long)pgdat->node_mem_map);
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
/*
* With no DISCONTIG, the global mem_map is just set as node 0's
*/
--- a/mm/sparse.c~mm-replace-config_need_multiple_nodes-with-config_numa
+++ a/mm/sparse.c
@@ -346,7 +346,7 @@ size_t mem_section_usage_size(void)
static inline phys_addr_t pgdat_to_phys(struct pglist_data *pgdat)
{
-#ifndef CONFIG_NEED_MULTIPLE_NODES
+#ifndef CONFIG_NUMA
return __pa_symbol(pgdat);
#else
return __pa(pgdat);
_
next prev parent reply other threads:[~2021-06-29 2:43 UTC|newest]
Thread overview: 202+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-29 2:32 incoming Andrew Morton
2021-06-29 2:33 ` [patch 001/192] mm/gup: fix try_grab_compound_head() race with split_huge_page() Andrew Morton
2021-06-29 2:33 ` [patch 002/192] mm/page_alloc: fix memory map initialization for descending nodes Andrew Morton
2021-06-29 2:33 ` [patch 003/192] mm/page_alloc: correct return value of populated elements if bulk array is populated Andrew Morton
2021-06-29 2:33 ` [patch 004/192] kthread: switch to new kerneldoc syntax for named variable macro argument Andrew Morton
2021-06-29 2:33 ` [patch 005/192] kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() Andrew Morton
2021-06-29 2:33 ` [patch 006/192] ia64: headers: drop duplicated words Andrew Morton
2021-06-29 2:33 ` [patch 007/192] ia64: mca_drv: fix incorrect array size calculation Andrew Morton
2021-06-29 2:33 ` [patch 008/192] streamline_config.pl: make spacing consistent Andrew Morton
2021-06-29 2:33 ` [patch 009/192] streamline_config.pl: add softtabstop=4 for vim users Andrew Morton
2021-06-29 2:33 ` [patch 010/192] scripts/spelling.txt: add more spellings to spelling.txt Andrew Morton
2021-06-29 2:33 ` [patch 011/192] ntfs: fix validity check for file name attribute Andrew Morton
2021-06-29 2:33 ` [patch 012/192] squashfs: add option to panic on errors Andrew Morton
2021-06-29 2:33 ` [patch 013/192] ocfs2: remove unnecessary INIT_LIST_HEAD() Andrew Morton
2021-06-29 2:34 ` [patch 014/192] ocfs2: fix snprintf() checking Andrew Morton
2021-06-29 2:34 ` [patch 015/192] ocfs2: remove redundant assignment to pointer queue Andrew Morton
2021-06-29 2:34 ` [patch 016/192] ocfs2: remove repeated uptodate check for buffer Andrew Morton
2021-06-29 2:34 ` [patch 017/192] ocfs2: replace simple_strtoull() with kstrtoull() Andrew Morton
2021-06-29 2:34 ` [patch 018/192] ocfs2: remove redundant initialization of variable ret Andrew Morton
2021-06-29 2:34 ` [patch 019/192] kernel: watchdog: modify the explanation related to watchdog thread Andrew Morton
2021-06-29 2:34 ` [patch 020/192] doc: " Andrew Morton
2021-06-29 2:34 ` [patch 021/192] doc: watchdog: modify the doc related to "watchdog/%u" Andrew Morton
2021-06-29 2:34 ` [patch 022/192] slab: use __func__ to trace function name Andrew Morton
2021-06-29 2:34 ` [patch 023/192] kunit: make test->lock irq safe Andrew Morton
2021-06-29 2:34 ` [patch 024/192] mm/slub, kunit: add a KUnit test for SLUB debugging functionality Andrew Morton
2021-06-29 2:34 ` [patch 025/192] slub: remove resiliency_test() function Andrew Morton
2021-06-29 2:34 ` [patch 026/192] mm, slub: change run-time assertion in kmalloc_index() to compile-time Andrew Morton
2021-06-29 2:34 ` [patch 027/192] slub: restore slub_debug=- behavior Andrew Morton
2021-06-29 2:34 ` [patch 028/192] slub: actually use 'message' in restore_bytes() Andrew Morton
2021-06-29 2:34 ` [patch 029/192] slub: indicate slab_fix() uses printf formats Andrew Morton
2021-06-29 2:34 ` [patch 030/192] slub: force on no_hash_pointers when slub_debug is enabled Andrew Morton
2021-06-29 2:34 ` [patch 031/192] mm: slub: move sysfs slab alloc/free interfaces to debugfs Andrew Morton
2021-06-29 2:34 ` [patch 032/192] mm/slub: add taint after the errors are printed Andrew Morton
2021-06-29 2:35 ` [patch 033/192] mm/kmemleak: fix possible wrong memory scanning period Andrew Morton
2021-06-29 2:35 ` [patch 034/192] dax: fix ENOMEM handling in grab_mapping_entry() Andrew Morton
2021-06-29 2:35 ` [patch 035/192] tools/vm/page_owner_sort.c: check malloc() return Andrew Morton
2021-06-29 2:35 ` [patch 036/192] mm/debug_vm_pgtable: ensure THP availability via has_transparent_hugepage() Andrew Morton
2021-06-29 2:35 ` [patch 037/192] mm: mmap_lock: use local locks instead of disabling preemption Andrew Morton
2021-06-29 2:35 ` [patch 038/192] mm/page_reporting: fix code style in __page_reporting_request() Andrew Morton
2021-06-29 2:35 ` [patch 039/192] mm/page_reporting: export reporting order as module parameter Andrew Morton
2021-06-29 2:35 ` [patch 040/192] mm/page_reporting: allow driver to specify reporting order Andrew Morton
2021-06-29 2:35 ` [patch 041/192] virtio_balloon: specify page reporting order if needed Andrew Morton
2021-06-29 2:35 ` [patch 042/192] mm: page-writeback: kill get_writeback_state() comments Andrew Morton
2021-06-29 2:35 ` [patch 043/192] mm/page-writeback: Fix performance when BDI's share of ratio is 0 Andrew Morton
2021-06-29 2:35 ` [patch 044/192] mm/page-writeback: update the comment of Dirty position control Andrew Morton
2021-06-29 2:35 ` [patch 045/192] mm/page-writeback: use __this_cpu_inc() in account_page_dirtied() Andrew Morton
2021-06-29 2:35 ` [patch 046/192] writeback, cgroup: do not switch inodes with I_WILL_FREE flag Andrew Morton
2021-06-29 2:35 ` [patch 047/192] writeback, cgroup: add smp_mb() to cgroup_writeback_umount() Andrew Morton
2021-06-29 2:35 ` [patch 048/192] writeback, cgroup: increment isw_nr_in_flight before grabbing an inode Andrew Morton
2021-06-29 2:35 ` [patch 049/192] writeback, cgroup: switch to rcu_work API in inode_switch_wbs() Andrew Morton
2021-06-29 2:35 ` [patch 050/192] writeback, cgroup: keep list of inodes attached to bdi_writeback Andrew Morton
2021-06-29 2:35 ` [patch 051/192] writeback, cgroup: split out the functional part of inode_switch_wbs_work_fn() Andrew Morton
2021-06-29 2:35 ` [patch 052/192] writeback, cgroup: support switching multiple inodes at once Andrew Morton
2021-06-29 2:36 ` [patch 053/192] writeback, cgroup: release dying cgwbs by switching attached inodes Andrew Morton
2021-06-29 2:36 ` [patch 054/192] fs: unexport __set_page_dirty Andrew Morton
2021-06-29 2:36 ` [patch 055/192] fs: move ramfs_aops to libfs Andrew Morton
2021-06-29 2:36 ` [patch 056/192] mm: require ->set_page_dirty to be explicitly wired up Andrew Morton
2021-06-29 2:36 ` [patch 057/192] mm/writeback: move __set_page_dirty() to core mm Andrew Morton
2021-06-29 2:36 ` [patch 058/192] mm/writeback: use __set_page_dirty in __set_page_dirty_nobuffers Andrew Morton
2021-06-29 2:36 ` [patch 059/192] iomap: use __set_page_dirty_nobuffers Andrew Morton
2021-06-29 2:36 ` [patch 060/192] fs: remove anon_set_page_dirty() Andrew Morton
2021-06-29 2:36 ` [patch 061/192] fs: remove noop_set_page_dirty() Andrew Morton
2021-06-29 2:36 ` [patch 062/192] mm: move page dirtying prototypes from mm.h Andrew Morton
2021-06-29 2:36 ` [patch 063/192] mm/gup_benchmark: support threading Andrew Morton
2021-06-29 2:36 ` [patch 064/192] mm: gup: allow FOLL_PIN to scale in SMP Andrew Morton
2021-06-29 2:36 ` [patch 065/192] mm: gup: pack has_pinned in MMF_HAS_PINNED Andrew Morton
2021-06-29 2:36 ` [patch 066/192] mm: pagewalk: fix walk for hugepage tables Andrew Morton
2021-06-29 2:36 ` [patch 067/192] mm/swapfile: use percpu_ref to serialize against concurrent swapoff Andrew Morton
2021-06-29 2:36 ` [patch 068/192] swap: fix do_swap_page() race with swapoff Andrew Morton
2021-06-29 2:36 ` [patch 069/192] mm/swap: remove confusing checking for non_swap_entry() in swap_ra_info() Andrew Morton
2021-06-29 2:36 ` [patch 070/192] mm/shmem: fix shmem_swapin() race with swapoff Andrew Morton
2021-06-29 2:37 ` [patch 071/192] mm/swapfile: move get_swap_page_of_type() under CONFIG_HIBERNATION Andrew Morton
2021-06-29 2:37 ` [patch 072/192] mm/swap: remove unused local variable nr_shadows Andrew Morton
2021-06-29 2:37 ` [patch 073/192] mm/swap_slots.c: delete meaningless forward declarations Andrew Morton
2021-06-29 2:37 ` [patch 074/192] mm, swap: remove unnecessary smp_rmb() in swap_type_to_swap_info() Andrew Morton
2021-06-29 2:37 ` [patch 075/192] mm: free idle swap cache page after COW Andrew Morton
2021-06-29 2:37 ` [patch 076/192] swap: check mapping_empty() for swap cache before being freed Andrew Morton
2021-06-29 2:37 ` [patch 077/192] mm/memcg: move mod_objcg_state() to memcontrol.c Andrew Morton
2021-06-29 2:37 ` [patch 078/192] mm/memcg: cache vmstat data in percpu memcg_stock_pcp Andrew Morton
2021-06-29 2:37 ` [patch 079/192] mm/memcg: improve refill_obj_stock() performance Andrew Morton
2021-06-29 2:37 ` [patch 080/192] mm/memcg: optimize user context object stock access Andrew Morton
2021-06-29 2:37 ` [patch 081/192] mm: memcg/slab: properly set up gfp flags for objcg pointer array Andrew Morton
2021-06-29 2:37 ` [patch 082/192] mm: memcg/slab: create a new set of kmalloc-cg-<n> caches Andrew Morton
2021-06-29 2:37 ` [patch 083/192] mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches Andrew Morton
2021-06-29 2:37 ` [patch 084/192] mm: memcontrol: fix root_mem_cgroup charging Andrew Morton
2021-06-29 2:37 ` [patch 085/192] mm: memcontrol: fix page charging in page replacement Andrew Morton
2021-06-29 2:37 ` [patch 086/192] mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm Andrew Morton
2021-06-29 2:37 ` [patch 087/192] mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec Andrew Morton
2021-06-29 2:37 ` [patch 088/192] mm: memcontrol: simplify lruvec_holds_page_lru_lock Andrew Morton
2021-06-29 2:37 ` [patch 089/192] mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec Andrew Morton
2021-06-29 2:38 ` [patch 090/192] mm: memcontrol: simplify the logic of objcg pinning memcg Andrew Morton
2021-06-29 2:38 ` [patch 091/192] mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock Andrew Morton
2021-06-29 2:38 ` [patch 092/192] mm: vmscan: remove noinline_for_stack Andrew Morton
2021-06-29 2:38 ` [patch 093/192] memcontrol: use flexible-array member Andrew Morton
2021-06-29 2:38 ` [patch 094/192] loop: use worker per cgroup instead of kworker Andrew Morton
2021-06-29 2:38 ` [patch 095/192] mm: charge active memcg when no mm is set Andrew Morton
2021-06-29 2:38 ` [patch 096/192] loop: charge i/o to mem and blk cg Andrew Morton
2021-06-29 2:38 ` [patch 097/192] mm: memcontrol: remove trailing semicolon in macros Andrew Morton
2021-06-29 2:38 ` [patch 098/192] perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC Andrew Morton
2021-06-29 2:38 ` [patch 099/192] binfmt: remove in-tree usage of MAP_EXECUTABLE Andrew Morton
2021-06-29 2:38 ` [patch 100/192] mm: ignore MAP_EXECUTABLE in ksys_mmap_pgoff() Andrew Morton
2021-06-29 2:38 ` [patch 101/192] mm/mmap.c: logic of find_vma_intersection repeated in __do_munmap Andrew Morton
2021-06-29 2:38 ` [patch 102/192] mm/mmap: introduce unlock_range() for code cleanup Andrew Morton
2021-06-29 2:38 ` [patch 103/192] mm/mmap: use find_vma_intersection() in do_mmap() for overlap Andrew Morton
2021-06-29 2:38 ` [patch 104/192] mm/memory.c: fix comment of finish_mkwrite_fault() Andrew Morton
2021-06-29 2:38 ` [patch 105/192] mm: add vma_lookup(), update find_vma_intersection() comments Andrew Morton
2021-06-29 2:38 ` [patch 106/192] drm/i915/selftests: use vma_lookup() in __igt_mmap() Andrew Morton
2021-06-29 2:38 ` [patch 107/192] arch/arc/kernel/troubleshoot: use vma_lookup() instead of find_vma() Andrew Morton
2021-06-29 2:38 ` [patch 108/192] arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection() Andrew Morton
2021-06-29 2:39 ` [patch 109/192] arch/powerpc/kvm/book3s_hv_uvmem: " Andrew Morton
2021-06-29 2:39 ` [patch 110/192] arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma() Andrew Morton
2021-06-29 2:39 ` [patch 111/192] arch/mips/kernel/traps: use vma_lookup() instead of find_vma() Andrew Morton
2021-06-29 2:39 ` [patch 112/192] arch/m68k/kernel/sys_m68k: use vma_lookup() in sys_cacheflush() Andrew Morton
2021-06-29 2:39 ` [patch 113/192] x86/sgx: use vma_lookup() in sgx_encl_find() Andrew Morton
2021-06-29 2:39 ` [patch 114/192] virt/kvm: use vma_lookup() instead of find_vma_intersection() Andrew Morton
2021-06-29 2:39 ` [patch 115/192] vfio: " Andrew Morton
2021-06-29 2:39 ` [patch 116/192] net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive() Andrew Morton
2021-06-29 2:39 ` [patch 117/192] drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages() Andrew Morton
2021-06-29 2:39 ` [patch 118/192] media: videobuf2: use vma_lookup() in get_vaddr_frames() Andrew Morton
2021-06-29 2:39 ` [patch 119/192] misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma() Andrew Morton
2021-06-29 2:39 ` [patch 120/192] kernel/events/uprobes: use vma_lookup() in find_active_uprobe() Andrew Morton
2021-06-29 2:39 ` [patch 121/192] lib/test_hmm: use vma_lookup() in dmirror_migrate() Andrew Morton
2021-06-29 2:39 ` [patch 122/192] mm/ksm: use vma_lookup() in find_mergeable_vma() Andrew Morton
2021-06-29 2:39 ` [patch 123/192] mm/migrate: use vma_lookup() in do_pages_stat_array() Andrew Morton
2021-06-29 2:39 ` [patch 124/192] mm/mremap: use vma_lookup() in vma_to_resize() Andrew Morton
2021-06-29 2:39 ` [patch 125/192] mm/memory.c: use vma_lookup() in __access_remote_vm() Andrew Morton
2021-06-29 2:39 ` [patch 126/192] mm/mempolicy: " Andrew Morton
2021-06-29 2:39 ` [patch 127/192] mm: update legacy flush_tlb_* to use vma Andrew Morton
2021-06-29 2:39 ` [patch 128/192] mm: improve mprotect(R|W) efficiency on pages referenced once Andrew Morton
2021-06-29 17:50 ` Linus Torvalds
2021-06-30 0:12 ` Peter Xu
2021-06-30 1:39 ` Peter Xu
2021-06-30 2:25 ` Linus Torvalds
2021-06-30 16:42 ` Peter Xu
2021-06-30 18:03 ` Linus Torvalds
2021-07-01 1:27 ` Peter Xu
2021-07-01 18:29 ` Linus Torvalds
2021-07-06 1:24 ` Peter Xu
2021-06-29 2:40 ` [patch 129/192] h8300: remove unused variable Andrew Morton
2021-06-29 2:40 ` [patch 130/192] mm/dmapool: use DEVICE_ATTR_RO macro Andrew Morton
2021-06-29 2:40 ` [patch 131/192] mm, tracing: unify PFN format strings Andrew Morton
2021-06-29 2:40 ` [patch 132/192] mm/page_alloc: add an alloc_pages_bulk_array_node() helper Andrew Morton
2021-06-29 2:40 ` [patch 133/192] mm/vmalloc: switch to bulk allocator in __vmalloc_area_node() Andrew Morton
2021-06-29 2:40 ` [patch 134/192] mm/vmalloc: print a warning message first on failure Andrew Morton
2021-06-29 2:40 ` [patch 135/192] mm/vmalloc: remove quoted strings split across lines Andrew Morton
2021-06-29 2:40 ` [patch 136/192] mm/vmalloc: fallback to a single page allocator Andrew Morton
2021-06-29 2:40 ` [patch 137/192] mm: vmalloc: add cond_resched() in __vunmap() Andrew Morton
2021-06-29 2:40 ` [patch 138/192] printk: introduce dump_stack_lvl() Andrew Morton
2021-06-29 2:40 ` [patch 139/192] kasan: use dump_stack_lvl(KERN_ERR) to print stacks Andrew Morton
2021-06-29 2:40 ` [patch 140/192] kasan: test: improve failure message in KUNIT_EXPECT_KASAN_FAIL() Andrew Morton
2021-06-29 2:40 ` [patch 141/192] kasan: allow an architecture to disable inline instrumentation Andrew Morton
2021-06-29 2:40 ` [patch 142/192] kasan: allow architectures to provide an outline readiness check Andrew Morton
2021-06-29 2:40 ` [patch 143/192] mm: define default MAX_PTRS_PER_* in include/pgtable.h Andrew Morton
2021-06-29 2:40 ` [patch 144/192] kasan: use MAX_PTRS_PER_* for early shadow tables Andrew Morton
2021-06-29 2:40 ` [patch 145/192] kasan: rename CONFIG_KASAN_SW_TAGS_IDENTIFY to CONFIG_KASAN_TAGS_IDENTIFY Andrew Morton
2021-06-29 2:40 ` [patch 146/192] kasan: integrate the common part of two KASAN tag-based modes Andrew Morton
2021-06-29 2:40 ` [patch 147/192] kasan: add memory corruption identification support for hardware tag-based mode Andrew Morton
2021-06-29 2:41 ` [patch 148/192] mm: report which part of mem is being freed on initmem case Andrew Morton
2021-06-29 2:41 ` [patch 149/192] mm/mmzone.h: simplify is_highmem_idx() Andrew Morton
2021-06-29 2:41 ` [patch 150/192] mm: make __dump_page static Andrew Morton
2021-06-29 2:41 ` [patch 151/192] mm/page_alloc: bail out on fatal signal during reclaim/compaction retry attempt Andrew Morton
2021-06-29 2:41 ` [patch 152/192] mm/debug: factor PagePoisoned out of __dump_page Andrew Morton
2021-06-29 2:41 ` [patch 153/192] mm/page_owner: constify dump_page_owner Andrew Morton
2021-06-29 2:41 ` [patch 154/192] mm: make compound_head const-preserving Andrew Morton
2021-06-29 2:41 ` [patch 155/192] mm: constify get_pfnblock_flags_mask and get_pfnblock_migratetype Andrew Morton
2021-06-29 2:41 ` [patch 156/192] mm: constify page_count and page_ref_count Andrew Morton
2021-06-29 2:41 ` [patch 157/192] mm: optimise nth_page for contiguous memmap Andrew Morton
2021-06-29 2:41 ` [patch 158/192] mm/page_alloc: switch to pr_debug Andrew Morton
2021-06-29 2:41 ` [patch 159/192] kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21 Andrew Morton
2021-06-29 2:41 ` [patch 160/192] mm/page_alloc: split per cpu page lists and zone stats Andrew Morton
2021-06-29 2:41 ` [patch 161/192] mm/page_alloc: convert per-cpu list protection to local_lock Andrew Morton
2021-06-29 2:41 ` [patch 162/192] mm/vmstat: convert NUMA statistics to basic NUMA counters Andrew Morton
2021-06-29 2:41 ` [patch 163/192] mm/vmstat: inline NUMA event counter updates Andrew Morton
2021-06-29 2:41 ` [patch 164/192] mm/page_alloc: batch the accounting updates in the bulk allocator Andrew Morton
2021-06-29 2:41 ` [patch 165/192] mm/page_alloc: reduce duration that IRQs are disabled for VM counters Andrew Morton
2021-06-29 2:41 ` [patch 166/192] mm/page_alloc: explicitly acquire the zone lock in __free_pages_ok Andrew Morton
2021-06-29 2:42 ` [patch 167/192] mm/page_alloc: avoid conflating IRQs disabled with zone->lock Andrew Morton
2021-06-29 2:42 ` [patch 168/192] mm/page_alloc: update PGFREE outside the zone lock in __free_pages_ok Andrew Morton
2021-06-29 2:42 ` [patch 169/192] mm: page_alloc: dump migrate-failed pages only at -EBUSY Andrew Morton
2021-06-29 2:42 ` [patch 170/192] mm/page_alloc: delete vm.percpu_pagelist_fraction Andrew Morton
2021-06-29 2:42 ` [patch 171/192] mm/page_alloc: disassociate the pcp->high from pcp->batch Andrew Morton
2021-06-29 2:42 ` [patch 172/192] mm/page_alloc: adjust pcp->high after CPU hotplug events Andrew Morton
2021-06-29 2:42 ` [patch 173/192] mm/page_alloc: scale the number of pages that are batch freed Andrew Morton
2021-06-29 2:42 ` [patch 174/192] mm/page_alloc: limit the number of pages on PCP lists when reclaim is active Andrew Morton
2021-06-29 2:42 ` [patch 175/192] mm/page_alloc: introduce vm.percpu_pagelist_high_fraction Andrew Morton
2021-06-29 2:42 ` [patch 176/192] mm: drop SECTION_SHIFT in code comments Andrew Morton
2021-06-29 2:42 ` [patch 177/192] mm/page_alloc: improve memmap_pages dbg msg Andrew Morton
2021-06-29 2:42 ` [patch 178/192] mm/page_alloc: fix counting of managed_pages Andrew Morton
2021-06-29 2:42 ` [patch 179/192] mm/page_alloc: move free_the_page Andrew Morton
2021-06-29 2:42 ` [patch 180/192] alpha: remove DISCONTIGMEM and NUMA Andrew Morton
2021-06-29 2:42 ` [patch 181/192] arc: update comment about HIGHMEM implementation Andrew Morton
2021-06-29 2:42 ` [patch 182/192] arc: remove support for DISCONTIGMEM Andrew Morton
2021-06-29 2:42 ` [patch 183/192] m68k: " Andrew Morton
2021-06-29 2:42 ` [patch 184/192] mm: remove CONFIG_DISCONTIGMEM Andrew Morton
2021-06-29 2:42 ` [patch 185/192] arch, mm: remove stale mentions of DISCONIGMEM Andrew Morton
2021-06-29 2:42 ` [patch 186/192] docs: remove description of DISCONTIGMEM Andrew Morton
2021-06-29 2:43 ` Andrew Morton [this message]
2021-06-29 2:43 ` [patch 188/192] mm: replace CONFIG_FLAT_NODE_MEM_MAP with CONFIG_FLATMEM Andrew Morton
2021-06-29 2:43 ` [patch 189/192] mm/page_alloc: allow high-order pages to be stored on the per-cpu lists Andrew Morton
2021-06-29 2:43 ` [patch 190/192] mm/page_alloc: split pcp->high across all online CPUs for cpuless nodes Andrew Morton
2021-06-29 2:43 ` [patch 191/192] mm,hwpoison: send SIGBUS with error virutal address Andrew Morton
2021-06-29 2:43 ` [patch 192/192] mm,hwpoison: make get_hwpoison_page() call get_any_page() Andrew Morton
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=20210629024301.ICOHlz5nG%akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=corbet@lwn.net \
--cc=david@redhat.com \
--cc=geert@linux-m68k.org \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mattst88@gmail.com \
--cc=mm-commits@vger.kernel.org \
--cc=rppt@linux.ibm.com \
--cc=rth@twiddle.net \
--cc=torvalds@linux-foundation.org \
--cc=vgupta@synopsys.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).