]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'mm-stable-2025-06-01-14-06' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Jun 2025 23:00:26 +0000 (16:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Jun 2025 23:00:26 +0000 (16:00 -0700)
Pull more MM updates from Andrew Morton:

 - "zram: support algorithm-specific parameters" from Sergey Senozhatsky
   adds infrastructure for passing algorithm-specific parameters into
   zram. A single parameter `winbits' is implemented at this time.

 - "memcg: nmi-safe kmem charging" from Shakeel Butt makes memcg
   charging nmi-safe, which is required by BFP, which can operate in NMI
   context.

 - "Some random fixes and cleanup to shmem" from Kemeng Shi implements
   small fixes and cleanups in the shmem code.

 - "Skip mm selftests instead when kernel features are not present" from
   Zi Yan fixes some issues in the MM selftest code.

 - "mm/damon: build-enable essential DAMON components by default" from
   SeongJae Park reworks DAMON Kconfig to make it easier to enable
   CONFIG_DAMON.

 - "sched/numa: add statistics of numa balance task migration" from Libo
   Chen adds more info into sysfs and procfs files to improve visibility
   into the NUMA balancer's task migration activity.

 - "selftests/mm: cow and gup_longterm cleanups" from Mark Brown
   provides various updates to some of the MM selftests to make them
   play better with the overall containing framework.

* tag 'mm-stable-2025-06-01-14-06' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (43 commits)
  mm/khugepaged: clean up refcount check using folio_expected_ref_count()
  selftests/mm: fix test result reporting in gup_longterm
  selftests/mm: report unique test names for each cow test
  selftests/mm: add helper for logging test start and results
  selftests/mm: use standard ksft_finished() in cow and gup_longterm
  selftests/damon/_damon_sysfs: skip testcases if CONFIG_DAMON_SYSFS is disabled
  sched/numa: add statistics of numa balance task
  sched/numa: fix task swap by skipping kernel threads
  tools/testing: check correct variable in open_procmap()
  tools/testing/vma: add missing function stub
  mm/gup: update comment explaining why gup_fast() disables IRQs
  selftests/mm: two fixes for the pfnmap test
  mm/khugepaged: fix race with folio split/free using temporary reference
  mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
  mmu_notifiers: remove leftover stub macros
  selftests/mm: deduplicate test names in madv_populate
  kcov: rust: add flags for KCOV with Rust
  mm: rust: make CONFIG_MMU ifdefs more narrow
  mmu_gather: move tlb flush for VM_PFNMAP/VM_MIXEDMAP vmas into free_pgtables()
  mm/damon/Kconfig: enable CONFIG_DAMON by default
  ...

22 files changed:
1  2 
Documentation/admin-guide/cgroup-v2.rst
fs/ntfs3/file.c
include/linux/mm.h
include/linux/mm_types.h
include/linux/mmzone.h
include/linux/sched.h
include/linux/uio.h
init/Kconfig
kernel/futex/core.c
kernel/sched/core.c
kernel/sched/debug.c
kernel/sched/fair.c
mm/filemap.c
mm/hugetlb.c
mm/memcontrol.c
mm/mm_init.c
mm/page-writeback.c
mm/shmem.c
mm/truncate.c
scripts/Makefile.kcov
scripts/Makefile.lib
tools/testing/selftests/mm/gup_longterm.c

diff --cc fs/ntfs3/file.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/filemap.c
Simple merge
diff --cc mm/hugetlb.c
Simple merge
diff --cc mm/memcontrol.c
index b90aa3075950f128b887393a4f794eb14071a51e,4e9771e6e3406ebf3bb03d331e125f7fffc6046d..902da8a9c643a070ca323804e557ae5173c688c5
@@@ -571,7 -573,9 +573,9 @@@ static inline void memcg_rstat_updated(
        if (!val)
                return;
  
-       css_rstat_updated(&memcg->css, cpu);
+       /* TODO: add to cgroup update tree once it is nmi-safe. */
+       if (!in_nmi())
 -              cgroup_rstat_updated(memcg->css.cgroup, cpu);
++              css_rstat_updated(&memcg->css, cpu);
        statc_pcpu = memcg->vmstats_percpu;
        for (; statc_pcpu; statc_pcpu = statc->parent_pcpu) {
                statc = this_cpu_ptr(statc_pcpu);
diff --cc mm/mm_init.c
Simple merge
Simple merge
diff --cc mm/shmem.c
index 858cee02ca49ab502ab4504def2c4f26e8b6fd96,4b42419ce6b210cbe4f1f9e7d949a34c67c0cc4c..0c5fb4ffa03aadf8397002f0a55f2e96b8eec5c7
@@@ -1641,10 -1647,10 +1642,10 @@@ try_split
  
                mutex_unlock(&shmem_swaplist_mutex);
                BUG_ON(folio_mapped(folio));
 -              return swap_writepage(&folio->page, wbc);
 +              return swap_writeout(folio, wbc);
        }
-       list_del_init(&info->swaplist);
+       if (!info->swapped)
+               list_del_init(&info->swaplist);
        mutex_unlock(&shmem_swaplist_mutex);
        if (nr_pages > 1)
                goto try_split;
diff --cc mm/truncate.c
Simple merge
index 01616472f43e10bd0283d0430b7976500d4fa440,ddcc3c6dc513e1988aeaf07b8efa106e8dffa640..78305a84ba9d2f4740b0ca8cfd321dda90b40b96
@@@ -1,5 -1,12 +1,11 @@@
  # SPDX-License-Identifier: GPL-2.0-only
 -kcov-flags-$(CONFIG_CC_HAS_SANCOV_TRACE_PC)   += -fsanitize-coverage=trace-pc
 +kcov-flags-y                                  += -fsanitize-coverage=trace-pc
  kcov-flags-$(CONFIG_KCOV_ENABLE_COMPARISONS)  += -fsanitize-coverage=trace-cmp
 -kcov-flags-$(CONFIG_GCC_PLUGIN_SANCOV)                += -fplugin=$(objtree)/scripts/gcc-plugins/sancov_plugin.so
  
+ kcov-rflags-y                                 += -Cpasses=sancov-module
+ kcov-rflags-y                                 += -Cllvm-args=-sanitizer-coverage-level=3
+ kcov-rflags-y                                 += -Cllvm-args=-sanitizer-coverage-trace-pc
+ kcov-rflags-$(CONFIG_KCOV_ENABLE_COMPARISONS) += -Cllvm-args=-sanitizer-coverage-trace-compares
  export CFLAGS_KCOV := $(kcov-flags-y)
+ export RUSTFLAGS_KCOV := $(kcov-rflags-y)
Simple merge