mm-commits Archive on lore.kernel.org
 help / color / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: guro@fb.com, hannes@cmpxchg.org, hughd@google.com,
	mhocko@kernel.org, mm-commits@vger.kernel.org, vbabka@suse.cz
Subject: + mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.patch added to -mm tree
Date: Thu, 16 Jul 2020 16:09:43 -0700
Message-ID: <20200716230943.tTYEQKnbM%akpm@linux-foundation.org> (raw)
In-Reply-To: <20200703151445.b6a0cfee402c7c5c4651f1b1@linux-foundation.org>


The patch titled
     Subject: mm: vmstat: fix /proc/sys/vm/stat_refresh generating false warnings
has been added to the -mm tree.  Its filename is
     mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.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: Roman Gushchin <guro@fb.com>
Subject: mm: vmstat: fix /proc/sys/vm/stat_refresh generating false warnings

I've noticed a number of warnings like "vmstat_refresh: nr_free_cma -5" or
"vmstat_refresh: nr_zone_write_pending -11" on our production hosts.  The
numbers of these warnings were relatively low and stable, so it didn't
look like we are systematically leaking the counters.  The corresponding
vmstat counters also looked sane.

These warnings are generated by the vmstat_refresh() function, which
assumes that atomic zone and numa counters can't go below zero.  However,
on a SMP machine it's not quite right: due to per-cpu caching it can in
theory be as low as -(zone threshold) * NR_CPUs.

For instance, let's say all cma pages are in use and NR_FREE_CMA_PAGES
reached 0.  Then we've reclaimed a small number of cma pages on each CPU
except CPU0, so that most percpu NR_FREE_CMA_PAGES counters are slightly
positive (the atomic counter is still 0).  Then somebody on CPU0 consumes
all these pages.  The number of pages can easily exceed the threshold and
a negative value will be committed to the atomic counter.

To fix the problem and avoid generating false warnings, let's just relax
the condition and warn only if the value is less than minus the maximum
theoretically possible drift value, which is 125 * number of online CPUs. 
It will still allow to catch systematic leaks, but will not generate bogus
warnings.

Link: http://lkml.kernel.org/r/20200714173920.3319063-1-guro@fb.com
Signed-off-by: Roman Gushchin <guro@fb.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 Documentation/admin-guide/sysctl/vm.rst |    4 +-
 mm/vmstat.c                             |   30 +++++++++++++---------
 2 files changed, 21 insertions(+), 13 deletions(-)

--- a/Documentation/admin-guide/sysctl/vm.rst~mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings
+++ a/Documentation/admin-guide/sysctl/vm.rst
@@ -822,8 +822,8 @@ e.g. cat /proc/sys/vm/stat_refresh /proc
 
 As a side-effect, it also checks for negative totals (elsewhere reported
 as 0) and "fails" with EINVAL if any are found, with a warning in dmesg.
-(At time of writing, a few stats are known sometimes to be found negative,
-with no ill effects: errors and warnings on these stats are suppressed.)
+(On a SMP machine some stats can temporarily become negative, with no ill
+effects: errors and warnings on these stats are suppressed.)
 
 
 numa_stat
--- a/mm/vmstat.c~mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings
+++ a/mm/vmstat.c
@@ -169,6 +169,8 @@ EXPORT_SYMBOL(vm_node_stat);
 
 #ifdef CONFIG_SMP
 
+#define MAX_THRESHOLD 125
+
 int calculate_pressure_threshold(struct zone *zone)
 {
 	int threshold;
@@ -186,11 +188,9 @@ int calculate_pressure_threshold(struct
 	threshold = max(1, (int)(watermark_distance / num_online_cpus()));
 
 	/*
-	 * Maximum threshold is 125
+	 * Threshold is capped by MAX_THRESHOLD
 	 */
-	threshold = min(125, threshold);
-
-	return threshold;
+	return min(MAX_THRESHOLD, threshold);
 }
 
 int calculate_normal_threshold(struct zone *zone)
@@ -610,6 +610,9 @@ void dec_node_page_state(struct page *pa
 }
 EXPORT_SYMBOL(dec_node_page_state);
 #else
+
+#define MAX_THRESHOLD 0
+
 /*
  * Use interrupt disable to serialize counter updates
  */
@@ -1810,7 +1813,7 @@ static void refresh_vm_stats(struct work
 int vmstat_refresh(struct ctl_table *table, int write,
 		   void *buffer, size_t *lenp, loff_t *ppos)
 {
-	long val;
+	long val, max_drift;
 	int err;
 	int i;
 
@@ -1821,17 +1824,22 @@ int vmstat_refresh(struct ctl_table *tab
 	 * pages, immediately after running a test.  /proc/sys/vm/stat_refresh,
 	 * which can equally be echo'ed to or cat'ted from (by root),
 	 * can be used to update the stats just before reading them.
-	 *
-	 * Oh, and since global_zone_page_state() etc. are so careful to hide
-	 * transiently negative values, report an error here if any of
-	 * the stats is negative, so we know to go looking for imbalance.
 	 */
 	err = schedule_on_each_cpu(refresh_vm_stats);
 	if (err)
 		return err;
+
+	/*
+	 * Since global_zone_page_state() etc. are so careful to hide
+	 * transiently negative values, report an error here if any of
+	 * the stats is negative and are less than the maximum drift value,
+	 * so we know to go looking for imbalance.
+	 */
+	max_drift = num_online_cpus() * MAX_THRESHOLD;
+
 	for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++) {
 		val = atomic_long_read(&vm_zone_stat[i]);
-		if (val < 0) {
+		if (val < -max_drift) {
 			pr_warn("%s: %s %ld\n",
 				__func__, zone_stat_name(i), val);
 			err = -EINVAL;
@@ -1840,7 +1848,7 @@ int vmstat_refresh(struct ctl_table *tab
 #ifdef CONFIG_NUMA
 	for (i = 0; i < NR_VM_NUMA_STAT_ITEMS; i++) {
 		val = atomic_long_read(&vm_numa_stat[i]);
-		if (val < 0) {
+		if (val < -max_drift) {
 			pr_warn("%s: %s %ld\n",
 				__func__, numa_stat_name(i), val);
 			err = -EINVAL;
_

Patches currently in -mm which might be from guro@fb.com are

mm-kmem-make-memcg_kmem_enabled-irreversible.patch
mm-memcg-factor-out-memcg-and-lruvec-level-changes-out-of-__mod_lruvec_state.patch
mm-memcg-prepare-for-byte-sized-vmstat-items.patch
mm-memcg-convert-vmstat-slab-counters-to-bytes.patch
mm-slub-implement-slub-version-of-obj_to_index.patch
mm-memcg-slab-obj_cgroup-api.patch
mm-memcg-slab-allocate-obj_cgroups-for-non-root-slab-pages.patch
mm-memcg-slab-save-obj_cgroup-for-non-root-slab-objects.patch
mm-memcg-slab-charge-individual-slab-objects-instead-of-pages.patch
mm-memcg-slab-deprecate-memorykmemslabinfo.patch
mm-memcg-slab-move-memcg_kmem_bypass-to-memcontrolh.patch
mm-memcg-slab-use-a-single-set-of-kmem_caches-for-all-accounted-allocations.patch
mm-memcg-slab-simplify-memcg-cache-creation.patch
mm-memcg-slab-remove-memcg_kmem_get_cache.patch
mm-memcg-slab-deprecate-slab_root_caches.patch
mm-memcg-slab-remove-redundant-check-in-memcg_accumulate_slabinfo.patch
mm-memcg-slab-use-a-single-set-of-kmem_caches-for-all-allocations.patch
kselftests-cgroup-add-kernel-memory-accounting-tests.patch
tools-cgroup-add-memcg_slabinfopy-tool.patch
percpu-return-number-of-released-bytes-from-pcpu_free_area.patch
mm-memcg-percpu-account-percpu-memory-to-memory-cgroups.patch
mm-memcg-percpu-per-memcg-percpu-memory-statistics.patch
mm-memcg-percpu-per-memcg-percpu-memory-statistics-v3.patch
mm-memcg-charge-memcg-percpu-memory-to-the-parent-cgroup.patch
kselftests-cgroup-add-perpcu-memory-accounting-test.patch
mm-memcg-slab-remove-unused-argument-by-charge_slab_page.patch
mm-slab-rename-uncharge_slab_page-to-unaccount_slab_page.patch
mm-kmem-switch-to-static_branch_likely-in-memcg_kmem_enabled.patch
mm-memcontrol-avoid-workload-stalls-when-lowering-memoryhigh.patch
mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.patch


  parent reply index

Thread overview: 243+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-03 22:14 incoming Andrew Morton
2020-07-03 22:15 ` [patch 1/5] mm/hugetlb.c: fix pages per hugetlb calculation Andrew Morton
2020-07-03 22:15 ` [patch 2/5] samples/vfs: avoid warning in statx override Andrew Morton
2020-07-03 22:15 ` [patch 3/5] mm/cma.c: use exact_nid true to fix possible per-numa cma leak Andrew Morton
2020-07-03 22:15 ` [patch 4/5] vmalloc: fix the owner argument for the new __vmalloc_node_range callers Andrew Morton
2020-07-03 22:15 ` [patch 5/5] mm/page_alloc: fix documentation error Andrew Morton
2020-07-06 22:41 ` + kasan-remove-kasan_unpoison_stack_above_sp_to.patch added to -mm tree Andrew Morton
2020-07-06 22:41   ` Andrew Morton
2020-07-06 22:46 ` + kasan-fix-kasan-unit-tests-for-tag-based-kasan.patch " Andrew Morton
2020-07-06 22:49 ` + lib-test_bitops-do-the-full-test-during-module-init.patch " Andrew Morton
2020-07-06 23:03 ` [nacked] mm-mremap-format-the-check-in-move_normal_pmd-same-as-move_huge_pmd.patch removed from " Andrew Morton
2020-07-06 23:03 ` [to-be-updated] mm-mremap-it-is-sure-to-have-enough-space-when-extent-meets-requirement.patch " Andrew Morton
2020-07-06 23:03 ` [to-be-updated] mm-mremap-calculate-extent-in-one-place.patch " Andrew Morton
2020-07-06 23:04 ` [to-be-updated] mm-mremap-start-addresses-are-properly-aligned.patch " Andrew Morton
2020-07-06 23:04   ` Andrew Morton
2020-07-06 23:15 ` + mm-page_alloc-skip-setting-nodemask-when-we-are-in-interrupt.patch added to " Andrew Morton
2020-07-06 23:28 ` + mm-debug_vm_pgtable-add-tests-validating-arch-helpers-for-core-mm-features.patch " Andrew Morton
2020-07-06 23:28 ` + mm-debug_vm_pgtable-add-tests-validating-advanced-arch-page-table-helpers.patch " Andrew Morton
2020-07-06 23:28 ` + mm-debug_vm_pgtable-add-debug-prints-for-individual-tests.patch " Andrew Morton
2020-07-06 23:28 ` + documentation-mm-add-descriptions-for-arch-page-table-helpers.patch " Andrew Morton
2020-07-06 23:33 ` [merged] slub-drop-lockdep_assert_held-from-put_map.patch removed from " Andrew Morton
2020-07-06 23:33   ` Andrew Morton
2020-07-06 23:34 ` + slub-drop-lockdep_assert_held-from-put_map.patch added to " Andrew Morton
2020-07-06 23:34   ` Andrew Morton
2020-07-06 23:34 ` [merged] mailmap-add-entry-for-obsolete-email-address.patch removed from " Andrew Morton
2020-07-06 23:36 ` + mm-mmap-optimize-a-branch-judgment-in-ksys_mmap_pgoff.patch added to " Andrew Morton
2020-07-06 23:50 ` + vfs-xattr-mm-shmem-kernfs-release-simple-xattr-entry-in-a-right-way.patch " Andrew Morton
2020-07-06 23:52 ` [to-be-updated] mm-slab-check-gfp_slab_bug_mask-before-alloc_pages-in-kmalloc_order.patch removed from " Andrew Morton
2020-07-06 23:53 ` + mm-slab-check-gfp_slab_bug_mask-before-alloc_pages-in-kmalloc_order.patch added to " Andrew Morton
2020-07-07  1:53 ` mmotm 2020-07-06-18-53 uploaded Andrew Morton
2020-07-07 19:17 ` + mm-avoid-access-flag-update-tlb-flush-for-retried-page-fault.patch added to -mm tree Andrew Morton
2020-07-07 19:20 ` + mm-memcg-slab-remove-unused-argument-by-charge_slab_page.patch " Andrew Morton
2020-07-07 19:20 ` + mm-slab-rename-uncharge_slab_page-to-unaccount_slab_page.patch " Andrew Morton
2020-07-07 19:20 ` + mm-kmem-switch-to-static_branch_likely-in-memcg_kmem_enabled.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-check-return-value-of-sb_getblk.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-dont-allow-getting-deleted-inodes.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-reject-too-large-maximum-file-size.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-set-s_maxbytes-correctly.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-fix-block-limit-check-for-v1-filesystems.patch " Andrew Morton
2020-07-07 19:25 ` + fs-minix-remove-expected-error-message-in-block_to_path.patch " Andrew Morton
2020-07-07 19:27 ` + mm-vmalloc-remove-redundant-asignmnet-in-unmap_kernel_range_noflush.patch " Andrew Morton
2020-07-07 19:28 ` + mm-zswap-move-to-use-crypto_acomp-api-for-hardware-acceleration.patch " Andrew Morton
2020-07-07 19:36 ` + kthread-remove-incorrect-comment-in-kthread_create_on_cpu.patch " Andrew Morton
2020-07-07 19:37 ` + lib-test_lockupc-make-symbol-test_works-static.patch " Andrew Morton
2020-07-07 19:39 ` [failures] kthread-work-could-not-be-queued-when-worker-being-destroyed.patch removed from " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-page_isolation-prefer-the-node-of-the-source-page.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-migrate-move-migration-helper-from-h-to-c.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-hugetlb-unify-migration-callbacks.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-hugetlb-make-hugetlb-migration-callback-cma-aware.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-migrate-make-a-standard-migration-target-allocation-function.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-gup-use-a-standard-migration-target-allocation-callback.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-mempolicy-use-a-standard-migration-target-allocation-callback.patch " Andrew Morton
2020-07-07 19:47 ` [to-be-updated] mm-page_alloc-remove-a-wrapper-for-alloc_migration_target.patch " Andrew Morton
2020-07-07 19:47   ` Andrew Morton
2020-07-07 19:56 ` + mm-hugetlb-avoid-hardcoding-while-checking-if-cma-is-enable.patch added to " Andrew Morton
2020-07-07 20:11 ` [folded-merged] mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-fix.patch removed from " Andrew Morton
2020-07-07 20:11 ` [folded-merged] mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-update.patch " Andrew Morton
2020-07-07 20:12 ` [to-be-updated] mm-vmstat-add-events-for-pmd-based-thp-migration-without-split.patch " Andrew Morton
2020-07-07 20:13 ` + mm-vmstat-add-events-for-thp-migration-without-split.patch added to " Andrew Morton
2020-07-07 22:18 ` + mm-memcg-fix-refcount-error-while-moving-and-swapping.patch " Andrew Morton
2020-07-08 21:48 ` + vfat-fat-msdos-filesystem-replace-http-links-with-https-ones.patch " Andrew Morton
2020-07-08 21:50 ` + kbuild-move-wtype-limits-to-w=2.patch " Andrew Morton
2020-07-08 22:17 ` [to-be-updated] mm-zswap-move-to-use-crypto_acomp-api-for-hardware-acceleration.patch removed from " Andrew Morton
2020-07-08 22:20 ` + mm-remove-unneeded-includes-of-asm-pgalloch-fix.patch added to " Andrew Morton
2020-07-08 22:25 ` + kasan-fix-kasan-unit-tests-for-tag-based-kasan-v4.patch " Andrew Morton
2020-07-08 23:12 ` + mailmap-add-entry-for-mike-rapoport.patch " Andrew Morton
2020-07-08 23:16 ` + mm-mremap-it-is-sure-to-have-enough-space-when-extent-meets-requirement.patch " Andrew Morton
2020-07-08 23:16 ` + mm-mremap-calculate-extent-in-one-place.patch " Andrew Morton
2020-07-08 23:16 ` + mm-mremap-start-addresses-are-properly-aligned.patch " Andrew Morton
2020-07-08 23:16   ` Andrew Morton
2020-07-08 23:16 ` + mm-mremap-use-pmd_addr_end-to-simplify-the-calculate-of-extent.patch " Andrew Morton
2020-07-08 23:41 ` + mm-swap-simplify-alloc_swap_slot_cache.patch " Andrew Morton
2020-07-08 23:41 ` + mm-swap-simplify-enable_swap_slots_cache.patch " Andrew Morton
2020-07-08 23:41 ` + mm-swap-remove-redundant-check-for-swap_slot_cache_initialized.patch " Andrew Morton
2020-07-09  0:06 ` + mm-do-page-fault-accounting-in-handle_mm_fault.patch " Andrew Morton
2020-07-09  0:06   ` Andrew Morton
2020-07-09  0:06 ` + mm-alpha-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-arc-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-arm-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-arm64-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-csky-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-hexagon-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-ia64-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-m68k-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-microblaze-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:06 ` + mm-mips-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-nds32-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-nios2-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-openrisc-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-parisc-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-powerpc-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-riscv-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-s390-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-sh-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-sparc32-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-sparc64-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-x86-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-xtensa-use-general-page-fault-accounting.patch " Andrew Morton
2020-07-09  0:07 ` + mm-clean-up-the-last-pieces-of-page-fault-accountings.patch " Andrew Morton
2020-07-09  0:07   ` Andrew Morton
2020-07-09  0:07 ` + mm-gup-remove-task_struct-pointer-for-all-gup-code.patch " Andrew Morton
2020-07-09  2:04 ` + mm-vmstat-add-events-for-thp-migration-without-split-fix.patch " Andrew Morton
2020-07-09  2:29 ` mmotm 2020-07-08-19-28 uploaded Andrew Morton
2020-07-09  2:29 ` Andrew Morton
2020-07-09 23:09 ` + mm-handle-page-mapping-better-in-dump_page.patch added to -mm tree Andrew Morton
2020-07-09 23:09 ` + mm-dump-compound-page-information-on-a-second-line.patch " Andrew Morton
2020-07-09 23:09 ` + mm-print-head-flags-in-dump_page.patch " Andrew Morton
2020-07-09 23:09 ` + mm-switch-dump_page-to-get_kernel_nofault.patch " Andrew Morton
2020-07-09 23:09 ` + mm-print-the-inode-number-in-dump_page.patch " Andrew Morton
2020-07-09 23:09 ` + mm-print-hashed-address-of-struct-page.patch " Andrew Morton
2020-07-09 23:10 ` + mm-memcontrol-avoid-workload-stalls-when-lowering-memoryhigh.patch " Andrew Morton
2020-07-09 23:46 ` + mm-migrate-optimize-migrate_vma_setup-for-holes.patch " Andrew Morton
2020-07-09 23:46 ` + mm-migrate-add-migrate-shared-test-for-migrate_vma_.patch " Andrew Morton
2020-07-10  0:15 ` + mm-oom-make-the-calculation-of-oom-badness-more-accurate.patch " Andrew Morton
2020-07-10  0:23 ` + mm-close-race-between-munmap-and-expand_upwards-downwards.patch " Andrew Morton
2020-07-10  0:23 ` + mm-close-race-between-munmap-and-expand_upwards-downwards-fix.patch " Andrew Morton
2020-07-10  0:27 ` + mm-vmstat-add-events-for-thp-migration-without-split-fix-2.patch " Andrew Morton
2020-07-10  0:33 ` + iomap-constify-ioreadx-iomem-argument-as-in-generic-implementation.patch " Andrew Morton
2020-07-10  0:33 ` + rtl818x-constify-ioreadx-iomem-argument-as-in-generic-implementation.patch " Andrew Morton
2020-07-10  0:33 ` + ntb-intel-constify-ioreadx-iomem-argument-as-in-generic-implementation.patch " Andrew Morton
2020-07-10  0:33 ` + virtio-pci-constify-ioreadx-iomem-argument-as-in-generic-implementation.patch " Andrew Morton
2020-07-10  0:36 ` + doc-mm-sync-up-oom_score_adj-documentation.patch " Andrew Morton
2020-07-10  0:36   ` Andrew Morton
2020-07-10  0:36 ` + doc-mm-clarify-proc-pid-oom_score-value-range.patch " Andrew Morton
2020-07-10  0:38 ` [to-be-updated] proc-meminfo-avoid-open-coded-reading-of-vm_committed_as.patch removed from " Andrew Morton
2020-07-10  0:38 ` [to-be-updated] mm-utilc-make-vm_memory_committed-more-accurate.patch " Andrew Morton
2020-07-10  0:38 ` [to-be-updated] mm-adjust-vm_committed_as_batch-according-to-vm-overcommit-policy.patch " Andrew Morton
2020-07-10  4:00 ` mmotm 2020-07-09-21-00 uploaded Andrew Morton
2020-07-10 23:27 ` [to-be-updated] mm-hugetlb-avoid-hardcoding-while-checking-if-cma-is-enable.patch removed from -mm tree Andrew Morton
2020-07-10 23:29 ` + mm-hugetlb-avoid-hardcoding-while-checking-if-cma-is-enabled.patch added to " Andrew Morton
2020-07-10 23:32 ` + proc-sysctl-make-protected_-world-readable.patch " Andrew Morton
2020-07-10 23:32 ` [to-be-updated] mm-vmallocc-add-an-error-message-if-two-areas-overlap.patch removed from " Andrew Morton
2020-07-10 23:35 ` + rapidio-rio_mport_cdev-use-array_size-helper-in-copy_fromto_user.patch added to " Andrew Morton
2020-07-14  0:19 ` + mm-vmscan-consistent-update-to-pgrefill.patch " Andrew Morton
2020-07-14  0:24 ` + mm-handle-page-mapping-better-in-dump_page-fix.patch " Andrew Morton
2020-07-14  0:31 ` + tmpfs-per-superblock-i_ino-support.patch " Andrew Morton
2020-07-14  0:31 ` + tmpfs-support-64-bit-inums-per-sb.patch " Andrew Morton
2020-07-14  0:50 ` + mm-thp-replace-http-links-with-https-ones.patch " Andrew Morton
2020-07-14  1:00 ` + mm-memcg-reclaim-more-aggressively-before-high-allocator-throttling.patch " Andrew Morton
2020-07-14  1:00 ` + mm-memcg-unify-reclaim-retry-limits-with-page-allocator.patch " Andrew Morton
2020-07-14  1:03 ` + mm-memcg-avoid-stale-protection-values-when-cgroup-is-above-protection.patch " Andrew Morton
2020-07-14  1:03 ` + mm-memcg-decouple-elowmin-state-mutations-from-protection-checks.patch " Andrew Morton
2020-07-14  1:10 ` + scripts-deprecated_terms-sync-with-inclusive-terms.patch " Andrew Morton
2020-07-14  1:21 ` + mm-page_isolation-prefer-the-node-of-the-source-page.patch " Andrew Morton
2020-07-14  1:21 ` + mm-migrate-move-migration-helper-from-h-to-c.patch " Andrew Morton
2020-07-14  1:21 ` + mm-hugetlb-unify-migration-callbacks.patch " Andrew Morton
2020-07-14  1:21 ` + mm-migrate-clear-__gfp_reclaim-to-make-the-migration-callback-consistent-with-regular-thp-allocations.patch " Andrew Morton
2020-07-14  1:21 ` + mm-migrate-clear-__gfp_reclaim-to-make-the-migration-callback-consistent-with-regular-thp-allocations-fix.patch " Andrew Morton
2020-07-14  1:21 ` + mm-migrate-make-a-standard-migration-target-allocation-function.patch " Andrew Morton
2020-07-14  1:21 ` + mm-mempolicy-use-a-standard-migration-target-allocation-callback.patch " Andrew Morton
2020-07-14  1:21 ` + mm-page_alloc-remove-a-wrapper-for-alloc_migration_target.patch " Andrew Morton
2020-07-14  1:21 ` + mm-memory-failure-remove-a-wrapper-for-alloc_migration_target.patch " Andrew Morton
2020-07-14  1:22 ` + mm-memory_hotplug-remove-a-wrapper-for-alloc_migration_target.patch " Andrew Morton
2020-07-14  1:30 ` + mm-debug_vm_pgtable-add-tests-validating-advanced-arch-page-table-helpers-v5.patch " Andrew Morton
2020-07-14  1:30 ` + documentation-mm-add-descriptions-for-arch-page-table-helpers-v5.patch " Andrew Morton
2020-07-14  1:37 ` + mm-sparse-cleanup-the-code-surrounding-memory_present.patch " Andrew Morton
2020-07-14  1:38 ` + const_structscheckpatch-add-regulator_ops.patch " Andrew Morton
2020-07-14  1:40 ` + fat-fix-fat_ra_init-for-data-clusters-==-0.patch " Andrew Morton
2020-07-14  1:41 ` + mm-vmallocc-remove-bug-from-the-find_va_links.patch " Andrew Morton
2020-07-14  2:49 ` mmotm 2020-07-13-19-49 uploaded Andrew Morton
2020-07-16  0:41 ` + mm-avoid-access-flag-update-tlb-flush-for-retried-page-fault-v2.patch added to -mm tree Andrew Morton
2020-07-16  0:42 ` + fs-ufs-avoid-potential-u32-multiplication-overflow.patch " Andrew Morton
2020-07-16  0:50 ` + x86-mm-use-max-memory-block-size-on-bare-metal-v3.patch " Andrew Morton
2020-07-16 21:28 ` + mm-memcg-slab-fix-memory-leak-at-non-root-kmem_cache-destroy.patch " Andrew Morton
2020-07-16 21:45 ` + mmhwpoison-cleanup-unused-pagehuge-check.patch " Andrew Morton
2020-07-16 21:45 ` + mm-hwpoison-remove-recalculating-hpage.patch " Andrew Morton
2020-07-16 21:45 ` + mmmadvise-call-soft_offline_page-without-mf_count_increased.patch " Andrew Morton
2020-07-16 21:45 ` + mmmadvise-refactor-madvise_inject_error.patch " Andrew Morton
2020-07-16 21:45 ` + mmhwpoison-inject-dont-pin-for-hwpoison_filter.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-un-export-get_hwpoison_page-and-make-it-static.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-kill-put_hwpoison_page.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-remove-mf_count_increased.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-remove-flag-argument-from-soft-offline-functions.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-unify-thp-handling-for-hard-and-soft-offline.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-rework-soft-offline-for-free-pages.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-rework-soft-offline-for-in-use-pages.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-refactor-soft_offline_huge_page-and-__soft_offline_page.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-return-0-if-the-page-is-already-poisoned-in-soft-offline.patch " Andrew Morton
2020-07-16 21:46 ` + mmhwpoison-introduce-mf_msg_unsplit_thp.patch " Andrew Morton
2020-07-16 22:51 ` + linux-sched-mmh-drop-duplicated-words-in-comments.patch " Andrew Morton
2020-07-16 22:51 ` + mm-drop-duplicated-words-in-linux-pgtableh.patch " Andrew Morton
2020-07-16 22:52 ` + mm-drop-duplicated-words-in-linux-mmh.patch " Andrew Morton
2020-07-16 22:52 ` + autofs-fix-doubled-word.patch " Andrew Morton
2020-07-16 23:08 ` + mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings.patch " Andrew Morton
2020-07-16 23:09 ` Andrew Morton [this message]
2020-07-16 23:28 ` + memcg-oom-check-memcg-margin-for-parallel-oom.patch " Andrew Morton
2020-07-16 23:32 ` + mm-memcg-percpu-account-percpu-memory-to-memory-cgroups-fix-2.patch " Andrew Morton
2020-07-16 23:42 ` + ipc-shmc-remove-the-superfluous-break.patch " Andrew Morton
2020-07-16 23:52 ` + mm-thp-replace-http-links-with-https-ones-fix.patch " Andrew Morton
2020-07-17  0:01 ` + scripts-spellingtxt-add-more-spellings-to-spellingtxt.patch " Andrew Morton
2020-07-17  1:53 ` + revert-squashfs-migrate-from-ll_rw_block-usage-to-bio.patch " Andrew Morton
2020-07-17  4:06 ` + revert-squashfs-migrate-from-ll_rw_block-usage-to-bio-fix.patch " Andrew Morton
2020-07-17  5:53 ` mmotm 2020-07-16-22-52 uploaded Andrew Morton
2020-07-17 20:18 ` [folded-merged] revert-squashfs-migrate-from-ll_rw_block-usage-to-bio-fix.patch removed from -mm tree Andrew Morton
2020-07-17 20:18 ` [obsolete] revert-squashfs-migrate-from-ll_rw_block-usage-to-bio.patch " Andrew Morton
2020-07-17 20:20 ` + squashfs-fix-length-field-overlap-check-in-metadata-reading.patch added to " Andrew Morton
2020-07-17 20:35 ` + mm-hugetlb-avoid-hardcoding-while-checking-if-cma-is-enabled-fix.patch " Andrew Morton
2020-07-17 20:49 ` + mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings-fix.patch " Andrew Morton
2020-07-17 21:11 ` + mm-pgtable-make-generic-pgprot_-macros-available-for-no-mmu.patch " Andrew Morton
2020-07-17 21:11 ` + riscv-use-generic-pgprot_-macros-from-linux-pgtableh.patch " Andrew Morton
2020-07-17 21:42 ` + uaccess-add-force_uaccess_beginend-helpers-v2.patch " Andrew Morton
2020-07-17 21:59 ` + mm-sparsemem-enable-vmem_altmap-support-in-vmemmap_populate_basepages.patch " Andrew Morton
2020-07-17 21:59 ` + mm-sparsemem-enable-vmem_altmap-support-in-vmemmap_alloc_block_buf.patch " Andrew Morton
2020-07-17 21:59 ` + arm64-mm-enable-vmem_altmap-support-for-vmemmap-mappings.patch " Andrew Morton
2020-07-17 22:00 ` + ocfs2-fix-remounting-needed-after-setfacl-command.patch " Andrew Morton
2020-07-17 23:03 ` + mm-memcg-slab-use-a-single-set-of-kmem_caches-for-all-allocations-fix.patch " Andrew Morton
2020-07-20 22:55 ` + scripts-decode_stacktrace-strip-basepath-from-all-paths.patch " Andrew Morton
2020-07-20 23:03 ` + mm-vmstat-fix-proc-sys-vm-stat_refresh-generating-false-warnings-fix-2.patch " Andrew Morton
2020-07-20 23:26 ` + mm-gupc-fix-the-comment-of-return-value-for-populate_vma_page_range.patch " Andrew Morton
2020-07-20 23:31 ` + ocfs2-suballoch-delete-a-duplicated-word.patch " Andrew Morton
2020-07-21  0:26 ` + ntfs-fix-ntfs_test_inode-and-ntfs_init_locked_inode-function-type.patch " Andrew Morton
2020-07-21  0:27 ` + highmem-linux-highmemh-fix-duplicated-words-in-a-comment.patch " Andrew Morton
2020-07-21  0:28 ` + clang-linux-compiler-clangh-drop-duplicated-word-in-a-comment.patch " Andrew Morton
2020-07-21  0:30 ` + linux-exportfsh-drop-duplicated-word-in-a-comment.patch " Andrew Morton
2020-07-21  0:30 ` + linux-async_txh-drop-duplicated-word-in-a-comment.patch " Andrew Morton
2020-07-21  0:31 ` + frontswap-linux-frontswaph-drop-duplicated-word-in-a-comment.patch " Andrew Morton
2020-07-21  0:33 ` + memcontrol-drop-duplicate-word-and-fix-spello-in-linux-memcontrolh.patch " Andrew Morton
2020-07-21  0:34 ` + xz-drop-duplicated-word-in-linux-xzh.patch " Andrew Morton
2020-07-21  2:07 ` mmotm 2020-07-20-19-06 uploaded Andrew Morton
2020-07-21 20:49 ` + fork-silence-a-false-postive-warning-in-__mmdrop.patch added to -mm tree Andrew Morton
2020-07-21 20:57 ` + io-mapping-indicate-mapping-failure.patch " Andrew Morton
2020-07-21 20:57 ` + io-mapping-indicate-mapping-failure-fix.patch " Andrew Morton
2020-07-21 21:06 ` + mm-fix-kthread_use_mm-vs-tlb-invalidate.patch " Andrew Morton
2020-07-21 21:06 ` + mm-fix-kthread_use_mm-vs-tlb-invalidate-fix.patch " Andrew Morton
2020-07-21 21:18 ` + kernel-add-a-kernel_wait-helper.patch " Andrew Morton
2020-07-21 21:20 ` + maintainers-add-kcov-section.patch " Andrew Morton
2020-07-21 21:21 ` + mm-hugetlb-avoid-hardcoding-while-checking-if-cma-is-enabled-fix-fix.patch " Andrew Morton
2020-07-24  0:26 ` + scripts-gdb-fix-lx-symbols-gdberror-while-loading-modules.patch " Andrew Morton
2020-07-24  0:47 ` + mm-vmscan-make-active-inactive-ratio-as-1-1-for-anon-lru.patch " Andrew Morton
2020-07-24  0:47 ` + mm-vmscan-protect-the-workingset-on-anonymous-lru.patch " Andrew Morton
2020-07-24  0:47 ` + mm-workingset-prepare-the-workingset-detection-infrastructure-for-anon-lru.patch " Andrew Morton
2020-07-24  0:47 ` + mm-swapcache-support-to-handle-the-shadow-entries.patch " Andrew Morton
2020-07-24  0:47 ` + mm-swap-implement-workingset-detection-for-anonymous-lru.patch " Andrew Morton
2020-07-24  0:47 ` + mm-vmscan-restore-active-inactive-ratio-for-anonymous-lru.patch " Andrew Morton
2020-07-24  0:57 ` + makefile-add-debug-option-to-enable-function-aligned-on-32-bytes.patch " Andrew Morton
2020-07-24  1:09 ` + mm-page_alloc-fix-memalloc_nocma_save-restore-apis.patch " Andrew Morton
2020-07-24  2:12 ` + panic-make-print_oops_end_marker-static.patch " Andrew Morton
2020-07-24  2:20 ` + lib-kconfigdebug-make-test_lockup-depend-on-module.patch " Andrew Morton
2020-07-24  2:20 ` + lib-test_lockupc-fix-return-value-of-test_lockup_init.patch " Andrew Morton
2020-07-24  2:25 ` [merged] sh-add-missing-export_symbol-for-__delay.patch removed from " Andrew Morton
2020-07-24  2:50 ` + revert-revert-mm-vmalloc-modify-struct-vmap_area-to-reduce-its-size.patch added to " Andrew Morton
2020-07-24  2:53 ` + khugepaged-fix-null-pointer-dereference-due-to-race.patch " Andrew Morton
2020-07-24  3:01 ` + mm-mmap-merge-vma-after-call_mmap-if-possible.patch " 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=20200716230943.tTYEQKnbM%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=vbabka@suse.cz \
    /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