From: Andrew Morton <akpm@linux-foundation.org>
To: akpm@linux-foundation.org, benh@kernel.crashing.org,
bhe@redhat.com, bp@alien8.de, catalin.marinas@arm.com,
dave.hansen@linux.intel.com, dja@axtens.net,
hbathini@linux.ibm.com, hch@lst.de, jcmvbkbc@gmail.com,
Jonathan.Cameron@huawei.com, kernel@esmil.dk, linux-mm@kvack.org,
linux@armlinux.org.uk, luto@kernel.org, m.szyprowski@samsung.com,
miguel.ojeda.sandonis@gmail.com, mingo@kernel.org,
mingo@redhat.com, mm-commits@vger.kernel.org, monstr@monstr.eu,
mpe@ellerman.id.au, palmer@dabbelt.com, paul.walmsley@sifive.com,
paulus@samba.org, peterz@infradead.org, rppt@linux.ibm.com,
shorne@gmail.com, tglx@linutronix.de,
torvalds@linux-foundation.org, tsbogend@alpha.franken.de,
will@kernel.org, ysato@users.sourceforge.jp
Subject: [patch 177/181] memblock: implement for_each_reserved_mem_region() using __next_mem_region()
Date: Tue, 13 Oct 2020 16:58:25 -0700 [thread overview]
Message-ID: <20201013235825.vSH-L7BPb%akpm@linux-foundation.org> (raw)
In-Reply-To: <20201013164658.3bfd96cc224d8923e66a9f4e@linux-foundation.org>
From: Mike Rapoport <rppt@linux.ibm.com>
Subject: memblock: implement for_each_reserved_mem_region() using __next_mem_region()
Iteration over memblock.reserved with for_each_reserved_mem_region() used
__next_reserved_mem_region() that implemented a subset of
__next_mem_region().
Use __for_each_mem_range() and, essentially, __next_mem_region() with
appropriate parameters to reduce code duplication.
While on it, rename for_each_reserved_mem_region() to
for_each_reserved_mem_range() for consistency.
Link: https://lkml.kernel.org/r/20200818151634.14343-17-rppt@kernel.org
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> [.clang-format]
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Baoquan He <bhe@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Daniel Axtens <dja@axtens.net>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Emil Renner Berthing <kernel@esmil.dk>
Cc: Hari Bathini <hbathini@linux.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
.clang-format | 2 -
arch/arm64/kernel/setup.c | 2 -
drivers/irqchip/irq-gic-v3-its.c | 2 -
include/linux/memblock.h | 12 ++----
mm/memblock.c | 56 ++++++++++-------------------
5 files changed, 27 insertions(+), 47 deletions(-)
--- a/arch/arm64/kernel/setup.c~memblock-implement-for_each_reserved_mem_region-using-__next_mem_region
+++ a/arch/arm64/kernel/setup.c
@@ -257,7 +257,7 @@ static int __init reserve_memblock_reser
if (!memblock_is_region_reserved(mem->start, mem_size))
continue;
- for_each_reserved_mem_region(j, &r_start, &r_end) {
+ for_each_reserved_mem_range(j, &r_start, &r_end) {
resource_size_t start, end;
start = max(PFN_PHYS(PFN_DOWN(r_start)), mem->start);
--- a/.clang-format~memblock-implement-for_each_reserved_mem_region-using-__next_mem_region
+++ a/.clang-format
@@ -273,7 +273,7 @@ ForEachMacros:
- 'for_each_registered_fb'
- 'for_each_requested_gpio'
- 'for_each_requested_gpio_in_range'
- - 'for_each_reserved_mem_region'
+ - 'for_each_reserved_mem_range'
- 'for_each_rtd_codec_dais'
- 'for_each_rtd_codec_dais_rollback'
- 'for_each_rtd_components'
--- a/drivers/irqchip/irq-gic-v3-its.c~memblock-implement-for_each_reserved_mem_region-using-__next_mem_region
+++ a/drivers/irqchip/irq-gic-v3-its.c
@@ -2198,7 +2198,7 @@ static bool gic_check_reserved_range(phy
addr_end = addr + size - 1;
- for_each_reserved_mem_region(i, &start, &end) {
+ for_each_reserved_mem_range(i, &start, &end) {
if (addr >= start && addr_end <= end)
return true;
}
--- a/include/linux/memblock.h~memblock-implement-for_each_reserved_mem_region-using-__next_mem_region
+++ a/include/linux/memblock.h
@@ -132,9 +132,6 @@ void __next_mem_range_rev(u64 *idx, int
struct memblock_type *type_b, phys_addr_t *out_start,
phys_addr_t *out_end, int *out_nid);
-void __next_reserved_mem_region(u64 *idx, phys_addr_t *out_start,
- phys_addr_t *out_end);
-
void __memblock_free_late(phys_addr_t base, phys_addr_t size);
#ifdef CONFIG_HAVE_MEMBLOCK_PHYS_MAP
@@ -224,7 +221,7 @@ static inline void __next_physmem_range(
MEMBLOCK_NONE, p_start, p_end, NULL)
/**
- * for_each_reserved_mem_region - iterate over all reserved memblock areas
+ * for_each_reserved_mem_range - iterate over all reserved memblock areas
* @i: u64 used as loop variable
* @p_start: ptr to phys_addr_t for start address of the range, can be %NULL
* @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
@@ -232,10 +229,9 @@ static inline void __next_physmem_range(
* Walks over reserved areas of memblock. Available as soon as memblock
* is initialized.
*/
-#define for_each_reserved_mem_region(i, p_start, p_end) \
- for (i = 0UL, __next_reserved_mem_region(&i, p_start, p_end); \
- i != (u64)ULLONG_MAX; \
- __next_reserved_mem_region(&i, p_start, p_end))
+#define for_each_reserved_mem_range(i, p_start, p_end) \
+ __for_each_mem_range(i, &memblock.reserved, NULL, NUMA_NO_NODE, \
+ MEMBLOCK_NONE, p_start, p_end, NULL)
static inline bool memblock_is_hotpluggable(struct memblock_region *m)
{
--- a/mm/memblock.c~memblock-implement-for_each_reserved_mem_region-using-__next_mem_region
+++ a/mm/memblock.c
@@ -132,6 +132,14 @@ struct memblock_type physmem = {
};
#endif
+/*
+ * keep a pointer to &memblock.memory in the text section to use it in
+ * __next_mem_range() and its helpers.
+ * For architectures that do not keep memblock data after init, this
+ * pointer will be reset to NULL at memblock_discard()
+ */
+static __refdata struct memblock_type *memblock_memory = &memblock.memory;
+
#define for_each_memblock_type(i, memblock_type, rgn) \
for (i = 0, rgn = &memblock_type->regions[0]; \
i < memblock_type->cnt; \
@@ -402,6 +410,8 @@ void __init memblock_discard(void)
memblock.memory.max);
__memblock_free_late(addr, size);
}
+
+ memblock_memory = NULL;
}
#endif
@@ -952,42 +962,16 @@ int __init_memblock memblock_clear_nomap
return memblock_setclr_flag(base, size, 0, MEMBLOCK_NOMAP);
}
-/**
- * __next_reserved_mem_region - next function for for_each_reserved_region()
- * @idx: pointer to u64 loop variable
- * @out_start: ptr to phys_addr_t for start address of the region, can be %NULL
- * @out_end: ptr to phys_addr_t for end address of the region, can be %NULL
- *
- * Iterate over all reserved memory regions.
- */
-void __init_memblock __next_reserved_mem_region(u64 *idx,
- phys_addr_t *out_start,
- phys_addr_t *out_end)
-{
- struct memblock_type *type = &memblock.reserved;
-
- if (*idx < type->cnt) {
- struct memblock_region *r = &type->regions[*idx];
- phys_addr_t base = r->base;
- phys_addr_t size = r->size;
-
- if (out_start)
- *out_start = base;
- if (out_end)
- *out_end = base + size - 1;
-
- *idx += 1;
- return;
- }
-
- /* signal end of iteration */
- *idx = ULLONG_MAX;
-}
-
-static bool should_skip_region(struct memblock_region *m, int nid, int flags)
+static bool should_skip_region(struct memblock_type *type,
+ struct memblock_region *m,
+ int nid, int flags)
{
int m_nid = memblock_get_region_node(m);
+ /* we never skip regions when iterating memblock.reserved or physmem */
+ if (type != memblock_memory)
+ return false;
+
/* only memory regions are associated with nodes, check it */
if (nid != NUMA_NO_NODE && nid != m_nid)
return true;
@@ -1052,7 +1036,7 @@ void __next_mem_range(u64 *idx, int nid,
phys_addr_t m_end = m->base + m->size;
int m_nid = memblock_get_region_node(m);
- if (should_skip_region(m, nid, flags))
+ if (should_skip_region(type_a, m, nid, flags))
continue;
if (!type_b) {
@@ -1156,7 +1140,7 @@ void __init_memblock __next_mem_range_re
phys_addr_t m_end = m->base + m->size;
int m_nid = memblock_get_region_node(m);
- if (should_skip_region(m, nid, flags))
+ if (should_skip_region(type_a, m, nid, flags))
continue;
if (!type_b) {
@@ -1981,7 +1965,7 @@ static unsigned long __init free_low_mem
memblock_clear_hotplug(0, -1);
- for_each_reserved_mem_region(i, &start, &end)
+ for_each_reserved_mem_range(i, &start, &end)
reserve_bootmem_region(start, end);
/*
_
next prev parent reply other threads:[~2020-10-13 23:58 UTC|newest]
Thread overview: 182+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 23:46 incoming Andrew Morton
2020-10-13 23:47 ` [patch 001/181] compiler-clang: add build check for clang 10.0.1 Andrew Morton
2020-10-13 23:47 ` [patch 002/181] Revert "kbuild: disable clang's default use of -fmerge-all-constants" Andrew Morton
2020-10-13 23:47 ` [patch 003/181] Revert "arm64: bti: Require clang >= 10.0.1 for in-kernel BTI support" Andrew Morton
2020-10-13 23:47 ` [patch 004/181] Revert "arm64: vdso: Fix compilation with clang older than 8" Andrew Morton
2020-10-13 23:47 ` [patch 005/181] Partially revert "ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer" Andrew Morton
2020-10-13 23:47 ` [patch 006/181] kasan: remove mentions of unsupported Clang versions Andrew Morton
2020-10-13 23:47 ` [patch 007/181] compiler-gcc: improve version error Andrew Morton
2020-10-13 23:47 ` [patch 008/181] compiler.h: avoid escaped section names Andrew Morton
2020-10-13 23:48 ` [patch 009/181] export.h: fix section name for CONFIG_TRIM_UNUSED_KSYMS for Clang Andrew Morton
2020-10-13 23:48 ` [patch 010/181] kbuild: doc: describe proper script invocation Andrew Morton
2020-10-13 23:48 ` [patch 011/181] scripts/spelling.txt: increase error-prone spell checking Andrew Morton
2020-10-13 23:48 ` [patch 012/181] scripts/spelling.txt: add "arbitrary" typo Andrew Morton
2020-10-13 23:48 ` [patch 013/181] scripts/decodecode: add the capability to supply the program counter Andrew Morton
2020-10-13 23:48 ` [patch 014/181] ntfs: add check for mft record size in superblock Andrew Morton
2020-10-13 23:48 ` [patch 015/181] ocfs2: delete repeated words in comments Andrew Morton
2020-10-13 23:48 ` [patch 016/181] ocfs2: fix potential soft lockup during fstrim Andrew Morton
2020-10-13 23:48 ` [patch 017/181] fs/xattr.c: fix kernel-doc warnings for setxattr & removexattr Andrew Morton
2020-10-13 23:48 ` [patch 018/181] fs_parse: mark fs_param_bad_value() as static Andrew Morton
2020-10-13 23:48 ` [patch 019/181] mm/slab.c: clean code by removing redundant if condition Andrew Morton
2020-10-13 23:48 ` [patch 020/181] include/linux/slab.h: fix a typo error in comment Andrew Morton
2020-10-13 23:48 ` [patch 021/181] mm/slub.c: branch optimization in free slowpath Andrew Morton
2020-10-13 23:48 ` [patch 022/181] mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc Andrew Morton
2020-10-13 23:48 ` [patch 023/181] mm/slub: make add_full() condition more explicit Andrew Morton
2020-10-13 23:48 ` [patch 024/181] mm/kmemleak: rely on rcu for task stack scanning Andrew Morton
2020-10-13 23:48 ` [patch 025/181] mm,kmemleak-test.c: move kmemleak-test.c to samples dir Andrew Morton
2020-10-13 23:48 ` [patch 026/181] x86/numa: cleanup configuration dependent command-line options Andrew Morton
2020-10-13 23:49 ` [patch 027/181] x86/numa: add 'nohmat' option Andrew Morton
2020-10-13 23:49 ` [patch 028/181] efi/fake_mem: arrange for a resource entry per efi_fake_mem instance Andrew Morton
2020-10-13 23:49 ` [patch 029/181] ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device Andrew Morton
2020-10-13 23:49 ` [patch 030/181] resource: report parent to walk_iomem_res_desc() callback Andrew Morton
2020-10-13 23:49 ` [patch 031/181] mm/memory_hotplug: introduce default phys_to_target_node() implementation Andrew Morton
2020-10-13 23:49 ` [patch 032/181] ACPI: HMAT: attach a device for each soft-reserved range Andrew Morton
2020-10-13 23:49 ` [patch 033/181] device-dax: drop the dax_region.pfn_flags attribute Andrew Morton
2020-10-13 23:49 ` [patch 034/181] device-dax: move instance creation parameters to 'struct dev_dax_data' Andrew Morton
2020-10-13 23:49 ` [patch 035/181] device-dax: make pgmap optional for instance creation Andrew Morton
2020-10-13 23:49 ` [patch 036/181] device-dax/kmem: introduce dax_kmem_range() Andrew Morton
2020-10-13 23:49 ` [patch 037/181] device-dax/kmem: move resource name tracking to drvdata Andrew Morton
2020-10-13 23:49 ` [patch 038/181] device-dax/kmem: replace release_resource() with release_mem_region() Andrew Morton
2020-10-13 23:50 ` [patch 039/181] device-dax: add an allocation interface for device-dax instances Andrew Morton
2020-10-13 23:50 ` [patch 040/181] device-dax: introduce 'struct dev_dax' typed-driver operations Andrew Morton
2020-10-13 23:50 ` [patch 041/181] device-dax: introduce 'seed' devices Andrew Morton
2020-10-13 23:50 ` [patch 042/181] drivers/base: make device_find_child_by_name() compatible with sysfs inputs Andrew Morton
2020-10-13 23:50 ` [patch 043/181] device-dax: add resize support Andrew Morton
2020-10-13 23:50 ` [patch 044/181] mm/memremap_pages: convert to 'struct range' Andrew Morton
2020-10-13 23:50 ` [patch 045/181] mm/memremap_pages: support multiple ranges per invocation Andrew Morton
2020-10-13 23:50 ` [patch 046/181] device-dax: add dis-contiguous resource support Andrew Morton
2020-10-13 23:50 ` [patch 047/181] device-dax: introduce 'mapping' devices Andrew Morton
2020-10-13 23:50 ` [patch 048/181] device-dax: make align a per-device property Andrew Morton
2020-10-13 23:50 ` [patch 049/181] device-dax: add an 'align' attribute Andrew Morton
2020-10-13 23:51 ` [patch 050/181] dax/hmem: introduce dax_hmem.region_idle parameter Andrew Morton
2020-10-13 23:51 ` [patch 051/181] device-dax: add a range mapping allocation attribute Andrew Morton
2020-10-13 23:51 ` [patch 052/181] mm/debug.c: do not dereference i_ino blindly Andrew Morton
2020-10-13 23:51 ` [patch 053/181] mm, dump_page: rename head_mapcount() --> head_compound_mapcount() Andrew Morton
2020-10-13 23:51 ` [patch 054/181] mm: factor find_get_incore_page out of mincore_page Andrew Morton
2020-10-13 23:51 ` [patch 055/181] mm: use find_get_incore_page in memcontrol Andrew Morton
2020-10-13 23:51 ` [patch 056/181] mm: optimise madvise WILLNEED Andrew Morton
2020-10-13 23:51 ` [patch 057/181] proc: optimise smaps for shmem entries Andrew Morton
2020-10-13 23:51 ` [patch 058/181] i915: use find_lock_page instead of find_lock_entry Andrew Morton
2020-10-13 23:51 ` [patch 059/181] mm: convert find_get_entry to return the head page Andrew Morton
2020-10-13 23:51 ` [patch 060/181] mm/shmem: return head page from find_lock_entry Andrew Morton
2020-10-13 23:51 ` [patch 061/181] mm: add find_lock_head Andrew Morton
2020-10-13 23:51 ` [patch 062/181] mm/filemap: fix filemap_map_pages for THP Andrew Morton
2020-10-13 23:51 ` [patch 063/181] mm, fadvise: improve the expensive remote LRU cache draining after FADV_DONTNEED Andrew Morton
2020-10-13 23:51 ` [patch 064/181] mm/gup_benchmark: update the documentation in Kconfig Andrew Morton
2020-10-13 23:51 ` [patch 065/181] mm/gup_benchmark: use pin_user_pages for FOLL_LONGTERM flag Andrew Morton
2020-10-13 23:51 ` [patch 066/181] mm/gup: don't permit users to call get_user_pages with FOLL_LONGTERM Andrew Morton
2020-10-13 23:52 ` [patch 067/181] mm/gup: protect unpin_user_pages() against npages==-ERRNO Andrew Morton
2020-10-13 23:52 ` [patch 068/181] swap: rename SWP_FS to SWAP_FS_OPS to avoid ambiguity Andrew Morton
2020-10-13 23:52 ` [patch 069/181] mm: remove activate_page() from unuse_pte() Andrew Morton
2020-10-13 23:52 ` [patch 070/181] mm: remove superfluous __ClearPageActive() Andrew Morton
2020-10-13 23:52 ` [patch 071/181] mm/swap.c: fix confusing comment in release_pages() Andrew Morton
2020-10-13 23:52 ` [patch 072/181] mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache() Andrew Morton
2020-10-13 23:52 ` [patch 073/181] mm/page_io.c: remove useless out label in __swap_writepage() Andrew Morton
2020-10-13 23:52 ` [patch 074/181] mm/swap.c: fix incomplete comment in lru_cache_add_inactive_or_unevictable() Andrew Morton
2020-10-13 23:52 ` [patch 075/181] mm/swapfile.c: remove unnecessary goto out in _swap_info_get() Andrew Morton
2020-10-13 23:52 ` [patch 076/181] mm/swapfile.c: fix potential memory leak in sys_swapon Andrew Morton
2020-10-13 23:52 ` [patch 077/181] mm/memremap.c: convert devmap static branch to {inc,dec} Andrew Morton
2020-10-13 23:52 ` [patch 078/181] mm: memcontrol: use flex_array_size() helper in memcpy() Andrew Morton
2020-10-13 23:52 ` [patch 079/181] mm: memcontrol: use the preferred form for passing the size of a structure type Andrew Morton
2020-10-13 23:52 ` [patch 080/181] mm: memcg/slab: fix racy access to page->mem_cgroup in mem_cgroup_from_obj() Andrew Morton
2020-10-13 23:52 ` [patch 081/181] mm: memcontrol: correct the comment of mem_cgroup_iter() Andrew Morton
2020-10-13 23:52 ` [patch 082/181] mm/memcg: clean up obsolete enum charge_type Andrew Morton
2020-10-13 23:52 ` [patch 083/181] mm/memcg: simplify mem_cgroup_get_max() Andrew Morton
2020-10-13 23:52 ` [patch 084/181] mm/memcg: unify swap and memsw page counters Andrew Morton
2020-10-13 23:52 ` [patch 085/181] mm: memcontrol: add the missing numa_stat interface for cgroup v2 Andrew Morton
2020-10-13 23:53 ` [patch 086/181] mm/page_counter: correct the obsolete func name in the comment of page_counter_try_charge() Andrew Morton
2020-10-13 23:53 ` [patch 087/181] mm: memcontrol: reword obsolete comment of mem_cgroup_unmark_under_oom() Andrew Morton
2020-10-13 23:53 ` [patch 088/181] mm: memcg/slab: uncharge during kmem_cache_free_bulk() Andrew Morton
2020-10-13 23:53 ` [patch 089/181] mm/memcg: fix device private memcg accounting Andrew Morton
2020-10-13 23:53 ` [patch 090/181] selftests/vm: fix false build success on the second and later attempts Andrew Morton
2020-10-13 23:53 ` [patch 091/181] selftests/vm: fix incorrect gcc invocation in some cases Andrew Morton
2020-10-13 23:53 ` [patch 092/181] mm: account PMD tables like PTE tables Andrew Morton
2020-10-13 23:53 ` [patch 093/181] mm/memory.c: fix typo in __do_fault() comment Andrew Morton
2020-10-13 23:53 ` [patch 094/181] mm/memory.c: replace vmf->vma with variable vma Andrew Morton
2020-10-13 23:53 ` [patch 095/181] mm/mmap: rename __vma_unlink_common() to __vma_unlink() Andrew Morton
2020-10-13 23:53 ` [patch 096/181] mm/mmap: leverage vma_rb_erase_ignore() to implement vma_rb_erase() Andrew Morton
2020-10-13 23:53 ` [patch 097/181] mmap locking API: add mmap_lock_is_contended() Andrew Morton
2020-10-13 23:53 ` [patch 098/181] mm: smaps*: extend smap_gather_stats to support specified beginning Andrew Morton
2020-10-13 23:53 ` [patch 099/181] mm: proc: smaps_rollup: do not stall write attempts on mmap_lock Andrew Morton
2020-10-13 23:53 ` [patch 100/181] mm: move PageDoubleMap bit Andrew Morton
2020-10-13 23:53 ` [patch 101/181] mm: simplify PageDoubleMap with PF_SECOND policy Andrew Morton
2020-10-13 23:53 ` [patch 102/181] mm/mmap: leave adjust_next as virtual address instead of page frame number Andrew Morton
2020-10-13 23:54 ` [patch 103/181] mm/memory.c: fix spello of "function" Andrew Morton
2020-10-13 23:54 ` [patch 104/181] mm/mmap: not necessary to check mapping separately Andrew Morton
2020-10-13 23:54 ` [patch 105/181] mm/mmap: check on file instead of the rb_root_cached of its address_space Andrew Morton
2020-10-13 23:54 ` [patch 106/181] mm: use helper function mapping_allow_writable() Andrew Morton
2020-10-13 23:54 ` [patch 107/181] mm/mmap.c: use helper function allow_write_access() in __remove_shared_vm_struct() Andrew Morton
2020-10-13 23:54 ` [patch 108/181] mm/mmap.c: replace do_brk with do_brk_flags in comment of insert_vm_struct() Andrew Morton
2020-10-13 23:54 ` [patch 109/181] mm: remove src/dst mm parameter in copy_page_range() Andrew Morton
2020-10-13 23:54 ` [patch 110/181] include/linux/huge_mm.h: remove mincore_huge_pmd declaration Andrew Morton
2020-10-13 23:54 ` [patch 111/181] tools/testing/selftests/vm/hmm-tests.c: use the new SKIP() macro Andrew Morton
2020-10-13 23:54 ` [patch 112/181] lib/test_hmm.c: remove unused dmirror_zero_page Andrew Morton
2020-10-13 23:54 ` [patch 113/181] mm/dmapool.c: replace open-coded list_for_each_entry_safe() Andrew Morton
2020-10-13 23:54 ` [patch 114/181] mm/dmapool.c: replace hard coded function name with __func__ Andrew Morton
2020-10-13 23:54 ` [patch 115/181] mm/memory-failure: do pgoff calculation before for_each_process() Andrew Morton
2020-10-13 23:54 ` [patch 116/181] mm/memory-failure.c: remove unused macro `writeback' Andrew Morton
2020-10-13 23:54 ` [patch 117/181] mm/vmalloc.c: update the comment in __vmalloc_area_node() Andrew Morton
2020-10-13 23:54 ` [patch 118/181] mm/vmalloc.c: fix the comment of find_vm_area Andrew Morton
2020-10-13 23:54 ` [patch 119/181] docs/vm: fix 'mm_count' vs 'mm_users' counter confusion Andrew Morton
2020-10-13 23:54 ` [patch 120/181] kasan/kunit: add KUnit Struct to Current Task Andrew Morton
2020-10-13 23:55 ` [patch 121/181] KUnit: KASAN Integration Andrew Morton
2020-10-13 23:55 ` [patch 122/181] KASAN: port KASAN Tests to KUnit Andrew Morton
2020-10-13 23:55 ` [patch 123/181] KASAN: Testing Documentation Andrew Morton
2020-10-13 23:55 ` [patch 124/181] mm: kasan: do not panic if both panic_on_warn and kasan_multishot set Andrew Morton
2020-10-13 23:55 ` [patch 125/181] mm/page_alloc: tweak comments in has_unmovable_pages() Andrew Morton
2020-10-13 23:55 ` [patch 126/181] mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate() Andrew Morton
2020-10-13 23:55 ` [patch 127/181] mm/page_isolation: drop WARN_ON_ONCE() " Andrew Morton
2020-10-13 23:55 ` [patch 128/181] mm/page_isolation: cleanup set_migratetype_isolate() Andrew Morton
2020-10-13 23:55 ` [patch 129/181] virtio-mem: don't special-case ZONE_MOVABLE Andrew Morton
2020-10-13 23:55 ` [patch 130/181] mm: document semantics of ZONE_MOVABLE Andrew Morton
2020-10-13 23:55 ` [patch 131/181] mm, isolation: avoid checking unmovable pages across pageblock boundary Andrew Morton
2020-10-13 23:55 ` [patch 132/181] mm/page_alloc.c: clean code by removing unnecessary initialization Andrew Morton
2020-10-13 23:55 ` [patch 133/181] mm/page_alloc.c: micro-optimization remove unnecessary branch Andrew Morton
2020-10-13 23:55 ` [patch 134/181] mm/page_alloc.c: fix early params garbage value accesses Andrew Morton
2020-10-13 23:55 ` [patch 135/181] mm/page_alloc.c: clean code by merging two functions Andrew Morton
2020-10-13 23:55 ` [patch 136/181] mm/page_alloc.c: __perform_reclaim should return 'unsigned long' Andrew Morton
2020-10-13 23:55 ` [patch 137/181] mmzone: clean code by removing unused macro parameter Andrew Morton
2020-10-13 23:56 ` [patch 138/181] mm: move call to compound_head() in release_pages() Andrew Morton
2020-10-13 23:56 ` [patch 139/181] mm/page_alloc.c: fix freeing non-compound pages Andrew Morton
2020-10-13 23:56 ` [patch 140/181] include/linux/gfp.h: clarify usage of GFP_ATOMIC in !preemptible contexts Andrew Morton
2020-10-13 23:56 ` [patch 141/181] mm/hugetlb.c: make is_hugetlb_entry_hwpoisoned return bool Andrew Morton
2020-10-13 23:56 ` [patch 142/181] mm/hugetlb.c: remove the unnecessary non_swap_entry() Andrew Morton
2020-10-13 23:56 ` [patch 143/181] doc/vm: fix typo in the hugetlb admin documentation Andrew Morton
2020-10-13 23:56 ` [patch 144/181] mm/hugetlb: not necessary to coalesce regions recursively Andrew Morton
2020-10-13 23:56 ` [patch 145/181] mm/hugetlb: remove VM_BUG_ON(!nrg) in get_file_region_entry_from_cache() Andrew Morton
2020-10-13 23:56 ` [patch 146/181] mm/hugetlb: use list_splice to merge two list at once Andrew Morton
2020-10-13 23:56 ` [patch 147/181] mm/hugetlb: count file_region to be added when regions_needed != NULL Andrew Morton
2020-10-13 23:56 ` [patch 148/181] mm/hugetlb: a page from buddy is not on any list Andrew Morton
2020-10-13 23:56 ` [patch 149/181] mm/hugetlb: narrow the hugetlb_lock protection area during preparing huge page Andrew Morton
2020-10-13 23:56 ` [patch 150/181] mm/hugetlb: take the free hpage during the iteration directly Andrew Morton
2020-10-13 23:56 ` [patch 151/181] hugetlb: add lockdep check for i_mmap_rwsem held in huge_pmd_share Andrew Morton
2020-10-13 23:56 ` [patch 152/181] mm/vmscan: fix infinite loop in drop_slab_node Andrew Morton
2020-10-13 23:56 ` [patch 153/181] mm/vmscan: fix comments for isolate_lru_page() Andrew Morton
2020-10-13 23:56 ` [patch 154/181] mm/z3fold.c: use xx_zalloc instead xx_alloc and memset Andrew Morton
2020-10-13 23:56 ` [patch 155/181] mm/zbud: remove redundant initialization Andrew Morton
2020-10-13 23:56 ` [patch 156/181] mm/compaction.c: micro-optimization remove unnecessary branch Andrew Morton
2020-10-13 23:57 ` [patch 157/181] include/linux/compaction.h: clean code by removing unused enum value Andrew Morton
2020-10-13 23:57 ` [patch 158/181] selftests/vm: 8x compaction_test speedup Andrew Morton
2020-10-13 23:57 ` [patch 159/181] mm/mempolicy: remove or narrow the lock on current Andrew Morton
2020-10-13 23:57 ` [patch 160/181] mm: remove unused alloc_page_vma_node() Andrew Morton
2020-10-13 23:57 ` [patch 161/181] mm/mempool: add 'else' to split mutually exclusive case Andrew Morton
2020-10-13 23:57 ` [patch 162/181] KVM: PPC: Book3S HV: simplify kvm_cma_reserve() Andrew Morton
2020-10-13 23:57 ` [patch 163/181] dma-contiguous: simplify cma_early_percent_memory() Andrew Morton
2020-10-13 23:57 ` [patch 164/181] arm, xtensa: simplify initialization of high memory pages Andrew Morton
2020-10-13 23:57 ` [patch 165/181] arm64: numa: simplify dummy_numa_init() Andrew Morton
2020-10-13 23:57 ` [patch 166/181] h8300, nds32, openrisc: simplify detection of memory extents Andrew Morton
2020-10-13 23:57 ` [patch 167/181] riscv: drop unneeded node initialization Andrew Morton
2020-10-13 23:57 ` [patch 168/181] mircoblaze: drop unneeded NUMA and sparsemem initializations Andrew Morton
2020-10-13 23:57 ` [patch 169/181] memblock: make for_each_memblock_type() iterator private Andrew Morton
2020-10-13 23:57 ` [patch 170/181] memblock: make memblock_debug and related functionality private Andrew Morton
2020-10-13 23:57 ` [patch 171/181] memblock: reduce number of parameters in for_each_mem_range() Andrew Morton
2020-10-13 23:58 ` [patch 172/181] arch, mm: replace for_each_memblock() with for_each_mem_pfn_range() Andrew Morton
2020-10-13 23:58 ` [patch 173/181] arch, drivers: replace for_each_membock() with for_each_mem_range() Andrew Morton
2020-10-13 23:58 ` [patch 174/181] x86/setup: simplify initrd relocation and reservation Andrew Morton
2020-10-13 23:58 ` [patch 175/181] x86/setup: simplify reserve_crashkernel() Andrew Morton
2020-10-13 23:58 ` [patch 176/181] memblock: remove unused memblock_mem_size() Andrew Morton
2020-10-13 23:58 ` Andrew Morton [this message]
2020-10-13 23:58 ` [patch 178/181] memblock: use separate iterators for memory and reserved regions Andrew Morton
2020-10-13 23:58 ` [patch 179/181] mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary Andrew Morton
2020-10-13 23:58 ` [patch 180/181] mm/migrate: remove cpages-- in migrate_vma_finalize() Andrew Morton
2020-10-13 23:58 ` [patch 181/181] mm/migrate: remove obsolete comment about device public 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=20201013235825.vSH-L7BPb%akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=benh@kernel.crashing.org \
--cc=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=dja@axtens.net \
--cc=hbathini@linux.ibm.com \
--cc=hch@lst.de \
--cc=jcmvbkbc@gmail.com \
--cc=kernel@esmil.dk \
--cc=linux-mm@kvack.org \
--cc=linux@armlinux.org.uk \
--cc=luto@kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=mm-commits@vger.kernel.org \
--cc=monstr@monstr.eu \
--cc=mpe@ellerman.id.au \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=rppt@linux.ibm.com \
--cc=shorne@gmail.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tsbogend@alpha.franken.de \
--cc=will@kernel.org \
--cc=ysato@users.sourceforge.jp \
/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