Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 28 Apr 2023 02:42:02 +0000 (19:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 28 Apr 2023 02:42:02 +0000 (19:42 -0700)
commit7fa8a8ee9400fe8ec188426e40e481717bc5e924
treecc8fd6b4f936ec01e73238643757451e20478c07
parent91ec4b0d11fe115581ce2835300558802ce55e6c
parent4d4b6d66db63ceed399f1fb1a4b24081d2590eb1
Merge tag 'mm-stable-2023-04-27-15-30' of git://git./linux/kernel/git/akpm/mm

Pull MM updates from Andrew Morton:

 - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of
   switching from a user process to a kernel thread.

 - More folio conversions from Kefeng Wang, Zhang Peng and Pankaj
   Raghav.

 - zsmalloc performance improvements from Sergey Senozhatsky.

 - Yue Zhao has found and fixed some data race issues around the
   alteration of memcg userspace tunables.

 - VFS rationalizations from Christoph Hellwig:
     - removal of most of the callers of write_one_page()
     - make __filemap_get_folio()'s return value more useful

 - Luis Chamberlain has changed tmpfs so it no longer requires swap
   backing. Use `mount -o noswap'.

 - Qi Zheng has made the slab shrinkers operate locklessly, providing
   some scalability benefits.

 - Keith Busch has improved dmapool's performance, making part of its
   operations O(1) rather than O(n).

 - Peter Xu adds the UFFD_FEATURE_WP_UNPOPULATED feature to userfaultd,
   permitting userspace to wr-protect anon memory unpopulated ptes.

 - Kirill Shutemov has changed MAX_ORDER's meaning to be inclusive
   rather than exclusive, and has fixed a bunch of errors which were
   caused by its unintuitive meaning.

 - Axel Rasmussen give userfaultfd the UFFDIO_CONTINUE_MODE_WP feature,
   which causes minor faults to install a write-protected pte.

 - Vlastimil Babka has done some maintenance work on vma_merge():
   cleanups to the kernel code and improvements to our userspace test
   harness.

 - Cleanups to do_fault_around() by Lorenzo Stoakes.

 - Mike Rapoport has moved a lot of initialization code out of various
   mm/ files and into mm/mm_init.c.

 - Lorenzo Stoakes removd vmf_insert_mixed_prot(), which was added for
   DRM, but DRM doesn't use it any more.

 - Lorenzo has also coverted read_kcore() and vread() to use iterators
   and has thereby removed the use of bounce buffers in some cases.

 - Lorenzo has also contributed further cleanups of vma_merge().

 - Chaitanya Prakash provides some fixes to the mmap selftesting code.

 - Matthew Wilcox changes xfs and afs so they no longer take sleeping
   locks in ->map_page(), a step towards RCUification of pagefaults.

 - Suren Baghdasaryan has improved mmap_lock scalability by switching to
   per-VMA locking.

 - Frederic Weisbecker has reworked the percpu cache draining so that it
   no longer causes latency glitches on cpu isolated workloads.

 - Mike Rapoport cleans up and corrects the ARCH_FORCE_MAX_ORDER Kconfig
   logic.

 - Liu Shixin has changed zswap's initialization so we no longer waste a
   chunk of memory if zswap is not being used.

 - Yosry Ahmed has improved the performance of memcg statistics
   flushing.

 - David Stevens has fixed several issues involving khugepaged,
   userfaultfd and shmem.

 - Christoph Hellwig has provided some cleanup work to zram's IO-related
   code paths.

 - David Hildenbrand has fixed up some issues in the selftest code's
   testing of our pte state changing.

 - Pankaj Raghav has made page_endio() unneeded and has removed it.

 - Peter Xu contributed some rationalizations of the userfaultfd
   selftests.

 - Yosry Ahmed has fixed an issue around memcg's page recalim
   accounting.

 - Chaitanya Prakash has fixed some arm-related issues in the
   selftests/mm code.

 - Longlong Xia has improved the way in which KSM handles hwpoisoned
   pages.

 - Peter Xu fixes a few issues with uffd-wp at fork() time.

 - Stefan Roesch has changed KSM so that it may now be used on a
   per-process and per-cgroup basis.

* tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (369 commits)
  mm,unmap: avoid flushing TLB in batch if PTE is inaccessible
  shmem: restrict noswap option to initial user namespace
  mm/khugepaged: fix conflicting mods to collapse_file()
  sparse: remove unnecessary 0 values from rc
  mm: move 'mmap_min_addr' logic from callers into vm_unmapped_area()
  hugetlb: pte_alloc_huge() to replace huge pte_alloc_map()
  maple_tree: fix allocation in mas_sparse_area()
  mm: do not increment pgfault stats when page fault handler retries
  zsmalloc: allow only one active pool compaction context
  selftests/mm: add new selftests for KSM
  mm: add new KSM process and sysfs knobs
  mm: add new api to enable ksm per process
  mm: shrinkers: fix debugfs file permissions
  mm: don't check VMA write permissions if the PTE/PMD indicates write permissions
  migrate_pages_batch: fix statistics for longterm pin retry
  userfaultfd: use helper function range_in_vma()
  lib/show_mem.c: use for_each_populated_zone() simplify code
  mm: correct arg in reclaim_pages()/reclaim_clean_pages_from_list()
  fs/buffer: convert create_page_buffers to folio_create_buffers
  fs/buffer: add folio_create_empty_buffers helper
  ...
72 files changed:
Documentation/admin-guide/kernel-parameters.txt
Documentation/filesystems/proc.rst
MAINTAINERS
arch/arm/Kconfig
arch/arm/configs/imx_v6_v7_defconfig
arch/arm64/Kconfig
arch/arm64/include/asm/memory.h
arch/arm64/include/asm/uaccess.h
arch/ia64/Kconfig
arch/loongarch/Kconfig
arch/m68k/Kconfig.cpu
arch/mips/Kconfig
arch/powerpc/Kconfig
arch/powerpc/include/asm/book3s/64/tlbflush.h
arch/sparc/Kconfig
arch/x86/Kconfig
drivers/block/zram/zram_drv.c
drivers/crypto/ccp/sev-dev.c
drivers/dma-buf/heaps/system_heap.c
drivers/gpu/drm/ttm/ttm_bo_vm.c
drivers/gpu/drm/ttm/ttm_pool.c
drivers/irqchip/irq-gic-v3-its.c
drivers/md/dm-bufio.c
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
fs/buffer.c
fs/ext4/inline.c
fs/ext4/inode.c
fs/ext4/move_extent.c
fs/ext4/verity.c
fs/inode.c
fs/iomap/buffered-io.c
fs/netfs/buffered_read.c
fs/nfs/file.c
fs/userfaultfd.c
fs/xfs/xfs_file.c
include/linux/hugetlb.h
include/linux/mm.h
include/linux/page-flags.h
include/linux/pagemap.h
include/linux/slab.h
include/linux/uio.h
include/linux/userfaultfd_k.h
init/main.c
kernel/cgroup/rstat.c
kernel/cpu.c
kernel/fork.c
kernel/kthread.c
kernel/printk/printk.c
kernel/sched/fair.c
lib/Kconfig.debug
lib/iov_iter.c
lib/test_vmalloc.c
lib/vsprintf.c
mm/Kconfig
mm/Kconfig.debug
mm/Makefile
mm/backing-dev.c
mm/compaction.c
mm/folio-compat.c
mm/hugetlb.c
mm/kfence/core.c
mm/madvise.c
mm/memory-failure.c
mm/mmap.c
mm/shmem.c
mm/slab.h
mm/slub.c
mm/vmscan.c
mm/zswap.c
samples/Kconfig
tools/testing/selftests/mm/Makefile
tools/testing/selftests/mm/run_vmtests.sh