mm-commits Archive on lore.kernel.org
 help / color / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: dan.j.williams@intel.com, david@redhat.com,
	gregkh@linuxfoundation.org, heiko.carstens@de.ibm.com,
	kzak@redhat.com, mhocko@kernel.org, mhocko@suse.com,
	mm-commits@vger.kernel.org, ndfont@gmail.com, pbadari@us.ibm.com,
	rafael@kernel.org, rcj@linux.vnet.ibm.com
Subject: + drivers-base-memoryc-indicate-all-memory-blocks-as-removable.patch added to -mm tree
Date: Wed, 12 Feb 2020 18:16:21 -0800
Message-ID: <20200213021621.8O7lvqntm%akpm@linux-foundation.org> (raw)
In-Reply-To: <20200203173311.6269a8be06a05e5a4aa08a93@linux-foundation.org>


The patch titled
     Subject: drivers/base/memory.c: indicate all memory blocks as removable
has been added to the -mm tree.  Its filename is
     drivers-base-memoryc-indicate-all-memory-blocks-as-removable.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/drivers-base-memoryc-indicate-all-memory-blocks-as-removable.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/drivers-base-memoryc-indicate-all-memory-blocks-as-removable.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: David Hildenbrand <david@redhat.com>
Subject: drivers/base/memory.c: indicate all memory blocks as removable

We see multiple issues with the implementation/interface to compute
whether a memory block can be offlined (exposed via
/sys/devices/system/memory/memoryX/removable) and would like to simplify
it (remove the implementation).

1. It runs basically lockless. While this might be good for performance,
   we see possible races with memory offlining that will require at least
   some sort of locking to fix.

2. Nowadays, more false positives are possible. No arch-specific checks
   are performed that validate if memory offlining will not be denied
   right away (and such check will require locking). For example, arm64
   won't allow to offline any memory block that was added during boot -
   which will imply a very high error rate. Other archs have other
   constraints.

3. The interface is inherently racy. E.g., if a memory block is
   detected to be removable (and was not a false positive at that time),
   there is still no guarantee that offlining will actually succeed. So
   any caller already has to deal with false positives.

4. It is unclear which performance benefit this interface actually
   provides. The introducing commit 5c755e9fd813 ("memory-hotplug: add
   sysfs removable attribute for hotplug memory remove") mentioned
	"A user-level agent must be able to identify which sections of
	 memory are likely to be removable before attempting the
	 potentially expensive operation."
   However, no actual performance comparison was included.

Known users:
- lsmem: Will group memory blocks based on the "removable" property. [1]
- chmem: Indirect user. It has a RANGE mode where one can specify
	 removable ranges identified via lsmem to be offlined. However, it
	 also has a "SIZE" mode, which allows a sysadmin to skip the manual
	 "identify removable blocks" step. [2]
- powerpc-utils: Uses the "removable" attribute to skip some memory
		 blocks right away when trying to find some to
		 offline+remove. However, with ballooning enabled, it
		 already skips this information completely (because it
		 once resulted in many false negatives). Therefore, the
		 implementation can deal with false positives properly
		 already. [3]

According to Nathan Fontenot, DLPAR on powerpc is nowadays no longer
driven from userspace via the drmgr command (powerpc-utils). Nowadays
it's managed in the kernel - including onlining/offlining of memory
blocks - triggered by drmgr writing to /sys/kernel/dlpar. So the
affected legacy userspace handling is only active on old kernels. Only ve=
ry
old versions of drmgr on a new kernel (unlikely) might execute slower -
totally acceptable.

With CONFIG_MEMORY_HOTREMOVE, always indicating "removable" should not
break any user space tool. We implement a very bad heuristic now.  Withou=
t
CONFIG_MEMORY_HOTREMOVE we cannot offline anything, so report
"not removable" as before.

Original discussion can be found in [4] ("[PATCH RFC v1] mm:
is_mem_section_removable() overhaul").

Other users of is_mem_section_removable() will be removed next, so that
we can remove is_mem_section_removable() completely.

[1] http://man7.org/linux/man-pages/man1/lsmem.1.html
[2] http://man7.org/linux/man-pages/man8/chmem.8.html
[3] https://github.com/ibm-power-utilities/powerpc-utils
[4] https://lkml.kernel.org/r/20200117105759.27905-1-david@redhat.com

Link: http://lkml.kernel.org/r/20200128093542.6908-1-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Suggested-by: Michal Hocko <mhocko@kernel.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Nathan Fontenot <ndfont@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Karel Zak <kzak@redhat.com>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/base/memory.c |   23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

--- a/drivers/base/memory.c~drivers-base-memoryc-indicate-all-memory-blocks-as-removable
+++ a/drivers/base/memory.c
@@ -105,30 +105,13 @@ static ssize_t phys_index_show(struct de
 }
 
 /*
- * Show whether the memory block is likely to be offlineable (or is already
- * offline). Once offline, the memory block could be removed. The return
- * value does, however, not indicate that there is a way to remove the
- * memory block.
+ * Legacy interface that we cannot remove. Always indicate "removable"
+ * with CONFIG_MEMORY_HOTREMOVE - bad heuristic.
  */
 static ssize_t removable_show(struct device *dev, struct device_attribute *attr,
 			      char *buf)
 {
-	struct memory_block *mem = to_memory_block(dev);
-	unsigned long pfn;
-	int ret = 1, i;
-
-	if (mem->state != MEM_ONLINE)
-		goto out;
-
-	for (i = 0; i < sections_per_block; i++) {
-		if (!present_section_nr(mem->start_section_nr + i))
-			continue;
-		pfn = section_nr_to_pfn(mem->start_section_nr + i);
-		ret &= is_mem_section_removable(pfn, PAGES_PER_SECTION);
-	}

  parent reply index

Thread overview: 244+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-04  1:33 incoming Andrew Morton
2020-02-04  1:33 ` [patch 01/67] ocfs2: fix oops when writing cloned file Andrew Morton
2020-02-04  1:33 ` [patch 02/67] mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section Andrew Morton
2020-02-04  1:33 ` [patch 03/67] fs/proc/page.c: allow inspection of last section and fix end detection Andrew Morton
2020-02-04  1:33 ` [patch 04/67] mm/page_alloc.c: initialize memmap of unavailable memory directly Andrew Morton
2020-02-04  1:33 ` [patch 05/67] mm/page_alloc: fix and rework pfn handling in memmap_init_zone() Andrew Morton
2020-02-04  1:34 ` [patch 06/67] mm: factor out next_present_section_nr() Andrew Morton
     [not found]   ` <CAHk-=widODg0oV6uNrpTvA3tFVN706o-nrWC5XBL9RZ4y3RFcg@mail.gmail.com>
2020-02-04  4:29     ` Andrew Morton
2020-02-04  1:34 ` [patch 07/67] mm/memmap_init: update variable name in memmap_init_zone Andrew Morton
2020-02-04  1:34 ` [patch 08/67] mm/memory_hotplug: poison memmap in remove_pfn_range_from_zone() Andrew Morton
2020-02-04  1:34 ` [patch 09/67] mm/memory_hotplug: we always have a zone in find_(smallest|biggest)_section_pfn Andrew Morton
2020-02-04  1:34 ` [patch 10/67] mm/memory_hotplug: don't check for "all holes" in shrink_zone_span() Andrew Morton
2020-02-04  1:34 ` [patch 11/67] mm/memory_hotplug: drop local variables " Andrew Morton
2020-02-04  1:34 ` [patch 12/67] mm/memory_hotplug: cleanup __remove_pages() Andrew Morton
2020-02-04  1:34 ` [patch 13/67] mm/memory_hotplug: drop valid_start/valid_end from test_pages_in_a_zone() Andrew Morton
2020-02-04  1:34 ` [patch 14/67] smp_mb__{before,after}_atomic(): update Documentation Andrew Morton
2020-02-04  1:34 ` [patch 15/67] ipc/mqueue.c: remove duplicated code Andrew Morton
2020-02-04  1:34 ` [patch 16/67] ipc/mqueue.c: update/document memory barriers Andrew Morton
2020-02-04  1:34 ` [patch 17/67] ipc/msg.c: update and document " Andrew Morton
2020-02-04  1:34 ` [patch 18/67] ipc/sem.c: document and update " Andrew Morton
2020-02-04  1:34 ` [patch 19/67] ipc/msg.c: consolidate all xxxctl_down() functions Andrew Morton
2020-02-04  1:34 ` [patch 20/67] drivers/block/null_blk_main.c: fix layout Andrew Morton
2020-02-04  1:34 ` [patch 21/67] drivers/block/null_blk_main.c: fix uninitialized var warnings Andrew Morton
2020-02-04  1:34 ` [patch 22/67] pinctrl: fix pxa2xx.c build warnings Andrew Morton
2020-02-04  1:34 ` [patch 23/67] mm: remove __krealloc Andrew Morton
2020-02-04  1:35 ` [patch 24/67] mm: add generic p?d_leaf() macros Andrew Morton
2020-02-04  1:35 ` [patch 25/67] arc: mm: add p?d_leaf() definitions Andrew Morton
2020-02-04  1:35 ` [patch 26/67] arm: " Andrew Morton
2020-02-04  1:35 ` [patch 27/67] arm64: " Andrew Morton
2020-02-04  1:35 ` [patch 28/67] mips: " Andrew Morton
2020-02-04  1:35 ` [patch 29/67] powerpc: " Andrew Morton
2020-02-04  1:35 ` [patch 30/67] riscv: " Andrew Morton
2020-02-04  1:35 ` [patch 31/67] s390: " Andrew Morton
2020-02-04  1:35 ` [patch 32/67] sparc: " Andrew Morton
2020-02-04  1:35 ` [patch 33/67] x86: " Andrew Morton
2020-02-04  1:35 ` [patch 34/67] mm: pagewalk: add p4d_entry() and pgd_entry() Andrew Morton
2020-02-04  1:35 ` [patch 35/67] mm: pagewalk: allow walking without vma Andrew Morton
2020-02-04  1:35 ` [patch 36/67] mm: pagewalk: don't lock PTEs for walk_page_range_novma() Andrew Morton
2020-02-04  1:35 ` [patch 37/67] mm: pagewalk: fix termination condition in walk_pte_range() Andrew Morton
2020-02-04  1:36 ` [patch 38/67] mm: pagewalk: add 'depth' parameter to pte_hole Andrew Morton
2020-02-04  1:36 ` [patch 39/67] x86: mm: point to struct seq_file from struct pg_state Andrew Morton
2020-02-04  1:36 ` [patch 40/67] x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct Andrew Morton
2020-02-04  1:36 ` [patch 41/67] x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct Andrew Morton
2020-02-04  1:36 ` [patch 42/67] mm: add generic ptdump Andrew Morton
2020-02-04  1:36 ` [patch 43/67] x86: mm: convert dump_pagetables to use walk_page_range Andrew Morton
2020-02-04  1:36 ` [patch 44/67] arm64: mm: convert mm/dump.c to use walk_page_range() Andrew Morton
2020-02-04  1:36 ` [patch 45/67] arm64: mm: display non-present entries in ptdump Andrew Morton
2020-02-04  1:36 ` [patch 46/67] mm: ptdump: reduce level numbers by 1 in note_page() Andrew Morton
2020-02-04  1:36 ` [patch 47/67] x86: mm: avoid allocating struct mm_struct on the stack Andrew Morton
2020-02-04  1:36 ` [patch 48/67] powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case Andrew Morton
2020-02-04  1:36 ` [patch 49/67] mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush Andrew Morton
2020-02-04  1:36 ` [patch 50/67] asm-generic/tlb: avoid potential double flush Andrew Morton
2020-02-04  1:36 ` [patch 51/67] asm-gemeric/tlb: remove stray function declarations Andrew Morton
2020-02-04  1:36 ` [patch 52/67] asm-generic/tlb: add missing CONFIG symbol Andrew Morton
2020-02-04  1:37 ` [patch 53/67] asm-generic/tlb: rename HAVE_RCU_TABLE_FREE Andrew Morton
2020-02-04  1:37 ` [patch 54/67] asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE Andrew Morton
2020-02-04  1:37 ` [patch 55/67] asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER Andrew Morton
2020-02-04  1:37 ` [patch 56/67] asm-generic/tlb: provide MMU_GATHER_TABLE_FREE Andrew Morton
2020-02-04  1:37 ` [patch 57/67] proc: decouple proc from VFS with "struct proc_ops" Andrew Morton
2020-02-04  1:37 ` [patch 58/67] proc: convert everything to " Andrew Morton
2020-02-04  1:37 ` [patch 59/67] lib/string: add strnchrnul() Andrew Morton
2020-02-04  1:37 ` [patch 60/67] bitops: more BITS_TO_* macros Andrew Morton
2020-02-04  1:37 ` [patch 61/67] lib: add test for bitmap_parse() Andrew Morton
2020-02-04  1:37 ` [patch 62/67] lib: make bitmap_parse_user a wrapper on bitmap_parse Andrew Morton
2020-02-04  1:37 ` [patch 63/67] lib: rework bitmap_parse() Andrew Morton
2020-02-04  1:37 ` [patch 64/67] lib: new testcases for bitmap_parse{_user} Andrew Morton
2020-02-04  1:37 ` [patch 65/67] include/linux/cpumask.h: don't calculate length of the input string Andrew Morton
2020-02-04  1:37 ` [patch 66/67] treewide: remove redundant IS_ERR() before error code check Andrew Morton
2020-02-04  1:37 ` [patch 67/67] ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() Andrew Morton
2020-02-04  1:48 ` [merged] mips-kdb-remove-old-workaround-for-backtracing-on-other-cpus.patch removed from -mm tree Andrew Morton
2020-02-04  1:48 ` [merged] kdb-kdb_current_regs-should-be-private.patch " Andrew Morton
2020-02-04  1:48 ` [merged] kdb-kdb_current_task-shouldnt-be-exported.patch " Andrew Morton
2020-02-04  1:48 ` [merged] kdb-gid-rid-of-implicit-setting-of-the-current-task-regs.patch " Andrew Morton
2020-02-04  1:48 ` [merged] kdb-get-rid-of-confusing-diag-msg-from-rd-if-current-task-has-no-regs.patch " Andrew Morton
2020-02-04  1:49 ` [obsolete] linux-next-git-rejects.patch " Andrew Morton
     [not found] ` <CAHk-=whog86e4fRY_sxHqAos6spwAi_4aFF49S7h5C4XAZM2qw@mail.gmail.com>
2020-02-04  2:46   ` incoming Andrew Morton
2020-02-10  0:55 ` + mm-dont-prepare-anon_vma-if-vma-has-vm_wipeonfork.patch added to -mm tree Andrew Morton
2020-02-10  0:55 ` + revert-mm-rmapc-reuse-mergeable-anon_vma-as-parent-when-fork.patch " Andrew Morton
2020-02-10  0:55 ` + mm-set-vm_next-and-vm_prev-to-null-in-vm_area_dup.patch " Andrew Morton
2020-02-10  1:03 ` + mm-list_lru-fix-a-data-race-in-list_lru_count_one.patch " Andrew Morton
2020-02-10  1:05 ` + mm-frontswap-mark-various-intentional-data-races.patch " Andrew Morton
2020-02-10  1:22 ` + mm-add-mremap_dontunmap-to-mremap.patch " Andrew Morton
2020-02-10  1:35 ` + mm-sparsemem-get-address-to-page-struct-instead-of-address-to-pfn.patch " Andrew Morton
2020-02-10  1:48 ` + mm-swapfile-fix-and-annotate-various-data-races.patch " Andrew Morton
2020-02-10  2:01 ` + mm-page_io-mark-various-intentional-data-races.patch " Andrew Morton
2020-02-10  2:01 ` + mm-swap_state-mark-various-intentional-data-races.patch " Andrew Morton
2020-02-10  4:00 ` + linux-pipe_fs_ih-fix-kernel-doc-warnings-after-wait-was-split.patch " Andrew Morton
2020-02-10  4:16 ` + mm-swap-move-inode_lock-out-of-claim_swapfile.patch " Andrew Morton
2020-02-10  4:20 ` + selftests-vm-add-missed-tests-in-run_vmtests.patch " Andrew Morton
2020-02-10  4:21 ` + mm-memcg-fix-build-error-around-the-usage-of-kmem_caches.patch " Andrew Morton
2020-02-10  4:23 ` + mm-memcontrol-fix-a-data-race-in-scan-count.patch " Andrew Morton
2020-02-10  4:29 ` + get_maintainer-remove-uses-of-p-for-maintainer-name.patch " Andrew Morton
2020-02-10  4:37 ` + scripts-get_maintainerpl-deprioritize-old-fixes-addresses.patch " Andrew Morton
2020-02-11  5:33 ` + mm-vmpressure-dont-need-call-kfree-if-kstrndup-fails.patch " Andrew Morton
2020-02-11  5:34 ` + mm-vmpressure-use-mem_cgroup_is_root-api.patch " Andrew Morton
2020-02-11  5:39 ` + mm-filemap-fix-a-data-race-in-filemap_fault.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-split-get_user_pages_remote-into-two-routines.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-pass-a-flags-arg-to-__gup_device_-functions.patch " Andrew Morton
2020-02-11  5:50 ` + mm-introduce-page_ref_sub_return.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-pass-gup-flags-to-two-more-routines.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-require-foll_get-for-get_user_pages_fast.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-track-foll_pin-pages.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-page-hpage_pinned_refcount-exact-pin-counts-for-huge-pages.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup-proc-vmstat-pin_user_pages-foll_pin-reporting.patch " Andrew Morton
2020-02-11  5:50 ` + mm-gup_benchmark-support-pin_user_pages-and-related-calls.patch " Andrew Morton
2020-02-11  5:50 ` + selftests-vm-run_vmtests-invoke-gup_benchmark-with-basic-foll_pin-coverage.patch " Andrew Morton
2020-02-11  5:50 ` + mm-improve-dump_page-for-compound-pages.patch " Andrew Morton
2020-02-11  5:51 ` + mm-dump_page-additional-diagnostics-for-huge-pinned-pages.patch " Andrew Morton
2020-02-11  6:05 ` + mm-mapping_dirty_helpers-update-huge-page-table-entry-callbacks.patch " Andrew Morton
2020-02-11  6:06 ` + zswap-allow-setting-default-status-compressor-and-allocator-in-kconfig.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-hugetlb_cgroup-reservation-counter.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-interface-for-charge-uncharge-hugetlb-reservations.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-reservation-accounting-for-private-mappings.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb-disable-region_add-file_region-coalescing.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-accounting-for-shared-mappings.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-support-noreserve-mappings.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb-support-file_region-coalescing-again.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-hugetlb_cgroup-reservation-tests.patch " Andrew Morton
2020-02-11 23:19 ` + hugetlb_cgroup-add-hugetlb_cgroup-reservation-docs.patch " Andrew Morton
2020-02-11 23:21 ` + lib-bch-replace-zero-length-array-with-flexible-array-member.patch " Andrew Morton
2020-02-11 23:21 ` + lib-objagg-replace-zero-length-arrays-with-flexible-array-member.patch " Andrew Morton
2020-02-11 23:21 ` + lib-ts_bm-replace-zero-length-array-with-flexible-array-member.patch " Andrew Morton
2020-02-11 23:21 ` + lib-ts_fsm-replace-zero-length-array-with-flexible-array-member.patch " Andrew Morton
2020-02-11 23:21 ` + lib-ts_kmp-replace-zero-length-array-with-flexible-array-member.patch " Andrew Morton
2020-02-11 23:23 ` + mm-rmap-annotate-a-data-race-at-tlb_flush_batched.patch " Andrew Morton
2020-02-11 23:26 ` + mm-mempool-fix-a-data-race-in-mempool_free.patch " Andrew Morton
2020-02-11 23:53 ` + mm-kmemleak-annotate-a-data-race-in-checksum.patch " Andrew Morton
2020-02-12  0:19 ` + mm-adjust-shuffle-code-to-allow-for-future-coalescing.patch " Andrew Morton
2020-02-12  0:19 ` + mm-use-zone-and-order-instead-of-free-area-in-free_list-manipulators.patch " Andrew Morton
2020-02-12  0:19 ` + mm-add-function-__putback_isolated_page.patch " Andrew Morton
2020-02-12  0:19 ` + mm-introduce-reported-pages.patch " Andrew Morton
2020-02-12  0:19 ` + virtio-balloon-pull-page-poisoning-config-out-of-free-page-hinting.patch " Andrew Morton
2020-02-12  0:19 ` + virtio-balloon-add-support-for-providing-free-page-reports-to-host.patch " Andrew Morton
2020-02-12  0:20 ` + mm-page_reporting-rotate-reported-pages-to-the-tail-of-the-list.patch " Andrew Morton
2020-02-12  0:20 ` + mm-page_reporting-add-budget-limit-on-how-many-pages-can-be-reported-per-pass.patch " Andrew Morton
2020-02-12  0:20 ` + mm-page_reporting-add-free-page-reporting-documentation.patch " Andrew Morton
2020-02-12  0:30 ` + mm-page_counter-fix-various-data-races.patch " Andrew Morton
2020-02-12  0:33 ` + memcg-lost-css_put-in-memcg_expand_shrinker_maps.patch " Andrew Morton
2020-02-12 21:16 ` + mm-page_counter-fix-various-data-races-at-memsw.patch " Andrew Morton
2020-02-12 21:16 ` [to-be-updated] mm-page_counter-fix-various-data-races.patch removed from " Andrew Morton
2020-02-12 21:18 ` + mm-swapfilec-fix-comments-for-swapcache_prepare.patch added to " Andrew Morton
2020-02-12 21:22 ` + mm-util-annotate-an-data-race-at-vm_committed_as.patch " Andrew Morton
2020-02-12 22:08 ` + asm-generic-fix-unistd_32h-generation-format.patch " Andrew Morton
2020-02-12 22:26 ` + mm-dont-bother-dropping-mmap_sem-for-zero-size-readahead.patch " Andrew Morton
2020-02-12 22:34 ` + lib-scatterlist-fix-sg_copy_buffer-kerneldoc.patch " Andrew Morton
2020-02-12 22:59 ` + mm-allocate-shrinker_map-on-appropriate-numa-node.patch " Andrew Morton
2020-02-12 23:05 ` + init-cleanup-anon_inodes-and-old-io-schedulers-options.patch " Andrew Morton
2020-02-12 23:10 ` + checkpatch-check-spdx-tags-in-yaml-files.patch " Andrew Morton
2020-02-13  2:16 ` Andrew Morton [this message]
2020-02-13  2:56 ` + mm-refactor-insert_page-to-prepare-for-batched-lock-insert.patch " Andrew Morton
2020-02-13  2:56 ` + mm-add-vm_insert_pages.patch " Andrew Morton
2020-02-13  2:57 ` + mm-add-vm_insert_pages-fix.patch " Andrew Morton
2020-02-13  2:57 ` + net-zerocopy-use-vm_insert_pages-for-tcp-rcv-zerocopy.patch " Andrew Morton
2020-02-13  2:57 ` + net-zerocopy-use-vm_insert_pages-for-tcp-rcv-zerocopy-fix.patch " Andrew Morton
2020-02-14  2:50 ` + mm-add-vm_insert_pages-2.patch " Andrew Morton
2020-02-14  2:52 ` + mm-migratec-no-need-to-check-for-i-start-in-do_pages_move.patch " Andrew Morton
2020-02-14  2:52 ` + mm-migratec-wrap-do_move_pages_to_node-and-store_status.patch " Andrew Morton
2020-02-14  2:52 ` + mm-migratec-check-pagelist-in-move_pages_and_store_status.patch " Andrew Morton
2020-02-14  2:52 ` + mm-migratec-unify-not-queued-for-migration-handling-in-do_pages_move.patch " Andrew Morton
2020-02-14  2:57 ` + mm-migratec-migrate-pg_readahead-flag.patch " Andrew Morton
2020-02-14  2:57 ` + mm-migratec-migrate-pg_readahead-flag-fix.patch " Andrew Morton
2020-02-14  2:58 ` + include-remove-highmemh-from-pagemaph.patch " Andrew Morton
2020-02-14  3:06 ` + mm-kmemleak-annotate-various-data-races-obj-ptr.patch " Andrew Morton
2020-02-14  3:06 ` [to-be-updated] mm-kmemleak-annotate-a-data-race-in-checksum.patch removed from " Andrew Morton
2020-02-14  3:26 ` + mm-swapfile-fix-and-annotate-various-data-races-v2.patch added to " Andrew Morton
2020-02-14  3:27 ` + mm-page_io-mark-various-intentional-data-races-v2.patch " Andrew Morton
2020-02-14  5:10 ` + checkpatch-support-base-commit-format.patch " Andrew Morton
2020-02-14  5:11 ` + checkpatch-prefer-fallthrough-over-fallthrough-comments.patch " Andrew Morton
2020-02-14  5:12 ` + uapi-fix-userspace-breakage-use-__bits_per_long-for-swap.patch " Andrew Morton
2020-02-14  5:15 ` + lib-string-update-match_string-doc-strings-with-correct-behavior.patch " Andrew Morton
2020-02-14  5:16 ` + mm-vmscan-replace-open-codings-to-numa_no_node.patch " Andrew Morton
2020-02-14  5:19 ` + mm-mempolicy-support-mpol_mf_strict-for-huge-page-mapping.patch " Andrew Morton
2020-02-14  5:22 ` + mm-vmscan-dont-round-up-scan-size-for-online-memory-cgroup.patch " Andrew Morton
2020-02-14  5:26 ` + mm-mempolicy-use-vm_bug_on_vma-in-queue_pages_test_walk.patch " Andrew Morton
2020-02-14  5:30 ` + drivers-base-memoryc-drop-section_count.patch " Andrew Morton
2020-02-14  5:31 ` + drivers-base-memoryc-drop-pages_correctly_probed.patch " Andrew Morton
2020-02-14  5:31 ` + mm-page_extc-drop-pfn_present-check-when-onlining.patch " Andrew Morton
2020-02-14  5:41 ` [failures] include-remove-highmemh-from-pagemaph.patch removed from " Andrew Morton
2020-02-14  6:26 ` mmotm 2020-02-13-22-26 uploaded Andrew Morton
2020-02-24  2:45 ` + mm-debug-add-tests-validating-architecture-page-table-helpers.patch added to -mm tree Andrew Morton
2020-02-24  3:20 ` + proc-faster-open-read-close-with-permanent-files.patch " Andrew Morton
2020-02-24  3:24 ` + proc-faster-open-read-close-with-permanent-files-checkpatch-fixes.patch " Andrew Morton
2020-02-24  3:25 ` + psi-move-pf_memstall-into-psi-specific-psi_flags.patch " Andrew Morton
2020-02-24  3:29 ` + mm-hugetlb-fix-a-addressing-exception-caused-by-huge_pte_offset.patch " Andrew Morton
2020-02-24  3:31 ` + ocfs2-there-is-no-need-to-log-twice-in-several-functions.patch " Andrew Morton
2020-02-24  3:31 ` + ocfs2-correct-annotation-from-l_next_rec-to-l_next_free_rec.patch " Andrew Morton
2020-02-24  3:46 ` + hugetlb-support-file_region-coalescing-again-fix-2.patch " Andrew Morton
2020-02-24  3:53 ` + fat-fix-uninit-memory-access-for-partial-initialized-inode.patch " Andrew Morton
2020-02-24  4:08 ` + mm-add-mremap_dontunmap-to-mremap-v7.patch " Andrew Morton
2020-02-24  4:08 ` + selftest-add-mremap_dontunmap-selftest-v7.patch " Andrew Morton
2020-02-24  4:08 ` + selftest-add-mremap_dontunmap-selftest-v7-checkpatch-fixes.patch " Andrew Morton
2020-02-24  4:10 ` + percpu_counter-fix-a-data-race-at-vm_committed_as.patch " Andrew Morton
2020-02-24  4:10 ` + lib-test_lockup-fix-spelling-mistake-iteraions-iterations.patch " Andrew Morton
2020-02-24 21:40 ` + mm-swapfile-fix-data-races-in-try_to_unuse.patch " Andrew Morton
2020-02-24 21:45 ` [nacked] psi-move-pf_memstall-into-psi-specific-psi_flags.patch removed from " Andrew Morton
2020-02-24 21:57 ` + mm-z3fold-do-not-include-rwlockh-directly.patch added to " Andrew Morton
2020-02-24 22:04 ` + mm-hotplug-fix-page-online-with-debug_pagealloc-compiled-but-not-enabled.patch " Andrew Morton
2020-02-24 22:13 ` + mm-vma-add-missing-vma-flag-readable-name-for-vm_sync.patch " Andrew Morton
2020-02-24 22:13 ` + mm-vma-make-vma_is_accessible-available-for-general-use.patch " Andrew Morton
2020-02-24 22:13 ` + mm-vma-replace-all-remaining-open-encodings-with-is_vm_hugetlb_page.patch " Andrew Morton
2020-02-24 22:13 ` + mm-vma-replace-all-remaining-open-encodings-with-vma_is_anonymous.patch " Andrew Morton
2020-02-24 22:14 ` + mm-vma-append-unlikely-while-testing-vma-access-permissions.patch " Andrew Morton
2020-02-24 22:30 ` + samples-hw_breakpoint-drop-hw_breakpoint_r-when-reporting-writes.patch " Andrew Morton
2020-02-24 22:31 ` + samples-hw_breakpoint-drop-use-of-kallsyms_lookup_name.patch " Andrew Morton
2020-02-24 22:31 ` + kallsyms-unexport-kallsyms_lookup_name-and-kallsyms_on_each_symbol.patch " Andrew Morton
2020-02-24 22:55 ` + loop-use-worker-per-cgroup-instead-of-kworker.patch " Andrew Morton
2020-02-24 22:55 ` + mm-charge-active-memcg-when-no-mm-is-set.patch " Andrew Morton
2020-02-24 22:55 ` + loop-charge-i-o-to-mem-and-blk-cg.patch " Andrew Morton
2020-02-24 23:33 ` + mm-mempolicy-checking-hugepage-migration-is-supported-by-arch-in-vma_migratable.patch " Andrew Morton
2020-02-24 23:39 ` + checkpatch-fix-minor-typo-and-mixed-spacetab-in-indentation.patch " Andrew Morton
2020-02-24 23:40 ` + checkpatch-fix-multiple-const-types.patch " Andrew Morton
2020-02-24 23:40 ` + checkpatch-add-command-line-option-for-tab-size.patch " Andrew Morton
2020-02-24 23:43 ` + lib-test_bitmap-make-use-of-exp2_in_bits.patch " Andrew Morton
2020-02-24 23:44 ` + ocfs2-remove-useless-err.patch " Andrew Morton
2020-02-25  0:26 ` + arch-kconfig-update-have_reliable_stacktrace-description.patch " Andrew Morton
2020-02-25  0:32 ` + mm-memcg-slab-introduce-mem_cgroup_from_obj.patch " Andrew Morton
2020-02-25  0:47 ` + mm-kmem-cleanup-__memcg_kmem_charge_memcg-arguments.patch " Andrew Morton
2020-02-25  0:48 ` + mm-kmem-cleanup-memcg_kmem_uncharge_memcg-arguments.patch " Andrew Morton
2020-02-25  0:48 ` + mm-kmem-rename-memcg_kmem_uncharge-into-memcg_kmem_uncharge_page.patch " Andrew Morton
2020-02-25  0:48 ` + mm-kmem-switch-to-nr_pages-in-__memcg_kmem_charge_memcg.patch " Andrew Morton
2020-02-25  0:48 ` + mm-memcg-slab-cache-page-number-in-memcg_uncharge_slab.patch " Andrew Morton
2020-02-25  0:48 ` + mm-kmem-rename-__memcg_kmem_uncharge_memcg-to-__memcg_kmem_uncharge.patch " Andrew Morton
2020-02-25  2:29 ` + mm-memcg-slab-introduce-mem_cgroup_from_obj-v2.patch " Andrew Morton
2020-02-25  2:36 ` + ocfs2-add-missing-annotations-for-ocfs2_refcount_cache_lock-and-ocfs2_refcount_cache_unlock.patch " Andrew Morton
2020-02-25  3:53 ` mmotm 2020-02-24-19-53 uploaded Andrew Morton
2020-02-26  1:06 ` + checkpatch-improve-gerrit-change-id-test.patch added to -mm tree Andrew Morton
2020-02-26  1:55 ` + dma-buf-free-dmabuf-name-in-dma_buf_release.patch " Andrew Morton
     [not found]   ` <CAO_48GFr9-aY4=kRqWB=UkEzPj5fQDip+G1tNZMsT0XoQpBC7Q@mail.gmail.com>
     [not found]     ` <CAKMK7uGvixQ2xoQMt3pvt0OpNXDjDGTvSWsaAppsKrmO_EP3Kg@mail.gmail.com>
2020-02-27  4:20       ` Andrew Morton
2020-02-26  3:42 ` + lib-rbtree-fix-coding-style-of-assignments.patch " Andrew Morton
2020-02-26  3:56 ` + seq_read-info-message-about-buggy-next-functions.patch " Andrew Morton
     [not found]   ` <1583173259.7365.142.camel@lca.pw>
     [not found]     ` <1583177508.7365.144.camel@lca.pw>
2020-03-02 20:42       ` Andrew Morton
2020-02-26  3:56 ` + pstore_ftrace_seq_next-should-increase-position-index.patch " Andrew Morton
     [not found]   ` <07f968e6-02cd-de2a-e868-787e4bedd346@virtuozzo.com>
2020-02-27  4:26     ` Andrew Morton
2020-02-26  3:56 ` + gcov_seq_next-should-increase-position-index.patch " Andrew Morton
2020-02-26  3:56 ` + sysvipc_find_ipc-should-increase-position-index.patch " Andrew Morton
2020-02-27  1:19 ` + mm-bring-sparc-pte_index-semantics-inline-with-other-platforms.patch " Andrew Morton
2020-02-27  1:37 ` + mm-vmscan-fix-data-races-at-kswapd_classzone_idx.patch " Andrew Morton
2020-02-27  1:49 ` + fs-epoll-make-nesting-accounting-safe-for-rt-kernel.patch " Andrew Morton
2020-02-27  3:50 ` + lib-optimize-cpumask_local_spread.patch " Andrew Morton
2020-02-27  4:04 ` + mm-debug-add-tests-validating-architecture-page-table-helpers-fix.patch " Andrew Morton
2020-02-27  4:11 ` + gcov-gcc_4_7-replace-zero-length-array-with-flexible-array-member.patch " Andrew Morton
2020-02-27  4:42 ` + mm-debug-add-tests-validating-architecture-page-table-helpers-fix-2.patch " Andrew Morton
2020-02-27  4:42 ` [to-be-updated] mm-debug-add-tests-validating-architecture-page-table-helpers-fix.patch removed from " Andrew Morton
2020-02-27  4:44 ` + huge-tmpfs-try-to-split_huge_page-when-punching-hole.patch added to " 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=20200213021621.8O7lvqntm%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=david@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=kzak@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mm-commits@vger.kernel.org \
    --cc=ndfont@gmail.com \
    --cc=pbadari@us.ibm.com \
    --cc=rafael@kernel.org \
    --cc=rcj@linux.vnet.ibm.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

mm-commits Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/mm-commits/0 mm-commits/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 mm-commits mm-commits/ https://lore.kernel.org/mm-commits \
		mm-commits@vger.kernel.org
	public-inbox-index mm-commits

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.mm-commits


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git