* incoming
@ 2021-05-07 1:01 Andrew Morton
2021-05-07 1:02 ` [patch 01/91] alpha: eliminate old-style function definitions Andrew Morton
` (91 more replies)
0 siblings, 92 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:01 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
This is everything else from -mm for this merge window, with the
possible exception of Mike Rapoport's "secretmem" syscall patch series
(https://lkml.kernel.org/r/20210303162209.8609-1-rppt@kernel.org).
I've been wobbly about the secretmem patches due to doubts about
whether the feature is sufficiently useful to justify inclusion, but
developers are now weighing in with helpful information and I've asked Mike
for an extensively updated [0/n] changelog. This will take a few days
to play out so it is possible that I will prevail upon you for a post-rc1
merge. If that's a problem, there's always 5.13-rc1.
91 patches, based on 8ca5297e7e38f2dc8c753d33a5092e7be181fff0, plus
previously sent patches.
Thanks.
Subsystems affected by this patch series:
alpha
procfs
sysctl
misc
core-kernel
bitmap
lib
compat
checkpatch
epoll
isofs
nilfs2
hpfs
exit
fork
kexec
gcov
panic
delayacct
gdb
resource
selftests
async
initramfs
ipc
mm/cleanups
drivers/char
mm/slub
spelling
Subsystem: alpha
Randy Dunlap <rdunlap@infradead.org>:
alpha: eliminate old-style function definitions
alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h>
Subsystem: procfs
Colin Ian King <colin.king@canonical.com>:
fs/proc/generic.c: fix incorrect pde_is_permanent check
Alexey Dobriyan <adobriyan@gmail.com>:
proc: save LOC in __xlate_proc_name()
proc: mandate ->proc_lseek in "struct proc_ops"
proc: delete redundant subset=pid check
selftests: proc: test subset=pid
Subsystem: sysctl
zhouchuangao <zhouchuangao@vivo.com>:
proc/sysctl: fix function name error in comments
Subsystem: misc
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
include: remove pagemap.h from blkdev.h
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: drop inclusion in bitmap.h
Wan Jiabing <wanjiabing@vivo.com>:
linux/profile.h: remove unnecessary declaration
Subsystem: core-kernel
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
kernel/async.c: fix pr_debug statement
kernel/cred.c: make init_groups static
Subsystem: bitmap
Yury Norov <yury.norov@gmail.com>:
Patch series "lib/find_bit: fast path for small bitmaps", v6:
tools: disable -Wno-type-limits
tools: bitmap: sync function declarations with the kernel
tools: sync BITMAP_LAST_WORD_MASK() macro with the kernel
arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300
lib: extend the scope of small_const_nbits() macro
tools: sync small_const_nbits() macro with the kernel
lib: inline _find_next_bit() wrappers
tools: sync find_next_bit implementation
lib: add fast path for find_next_*_bit()
lib: add fast path for find_first_*_bit() and find_last_bit()
tools: sync lib/find_bit implementation
MAINTAINERS: add entry for the bitmap API
Subsystem: lib
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
lib/bch.c: fix a typo in the file bch.c
Wang Qing <wangqing@vivo.com>:
lib: fix inconsistent indenting in process_bit1()
ToastC <mrtoastcheng@gmail.com>:
lib/list_sort.c: fix typo in function description
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
lib/genalloc.c: Fix a typo
Richard Fitzgerald <rf@opensource.cirrus.com>:
lib: crc8: pointer to data block should be const
Zqiang <qiang.zhang@windriver.com>:
lib: stackdepot: turn depot_lock spinlock to raw_spinlock
Alex Shi <alexs@kernel.org>:
lib/percpu_counter: tame kernel-doc compile warning
lib/genalloc: add parameter description to fix doc compile warning
Randy Dunlap <rdunlap@infradead.org>:
lib: parser: clean up kernel-doc
Subsystem: compat
Masahiro Yamada <masahiroy@kernel.org>:
include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx()
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: warn when missing newline in return sysfs_emit() formats
Vincent Mailhol <mailhol.vincent@wanadoo.fr>:
checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
checkpatch: improve ALLOC_ARRAY_ARGS test
Subsystem: epoll
Davidlohr Bueso <dave@stgolabs.net>:
Patch series "fs/epoll: restore user-visible behavior upon event ready":
kselftest: introduce new epoll test case
fs/epoll: restore waking from ep_done_scan()
Subsystem: isofs
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
isofs: fix fall-through warnings for Clang
Subsystem: nilfs2
Liu xuzhi <liu.xuzhi@zte.com.cn>:
fs/nilfs2: fix misspellings using codespell tool
Lu Jialin <lujialin4@huawei.com>:
nilfs2: fix typos in comments
Subsystem: hpfs
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
hpfs: replace one-element array with flexible-array member
Subsystem: exit
Jim Newsome <jnewsome@torproject.org>:
do_wait: make PIDTYPE_PID case O(1) instead of O(n)
Subsystem: fork
Rolf Eike Beer <eb@emlix.com>:
kernel/fork.c: simplify copy_mm()
Xiaofeng Cao <cxfcosmos@gmail.com>:
kernel/fork.c: fix typos
Subsystem: kexec
Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>:
kernel/crash_core: add crashkernel=auto for vmcore creation
Joe LeVeque <jolevequ@microsoft.com>:
kexec: Add kexec reboot string
Jia-Ju Bai <baijiaju1990@gmail.com>:
kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
Pavel Tatashin <pasha.tatashin@soleen.com>:
kexec: dump kmessage before machine_kexec
Subsystem: gcov
Johannes Berg <johannes.berg@intel.com>:
gcov: combine common code
gcov: simplify buffer allocation
gcov: use kvmalloc()
Nick Desaulniers <ndesaulniers@google.com>:
gcov: clang: drop support for clang-10 and older
Subsystem: panic
He Ying <heying24@huawei.com>:
smp: kernel/panic.c - silence warnings
Subsystem: delayacct
Yafang Shao <laoar.shao@gmail.com>:
delayacct: clear right task's flag after blkio completes
Subsystem: gdb
Johannes Berg <johannes.berg@intel.com>:
gdb: lx-symbols: store the abspath()
Barry Song <song.bao.hua@hisilicon.com>:
Patch series "scripts/gdb: clarify the platforms supporting lx_current and add arm64 support", v2:
scripts/gdb: document lx_current is only supported by x86
scripts/gdb: add lx_current support for arm64
Subsystem: resource
David Hildenbrand <david@redhat.com>:
Patch series "kernel/resource: make walk_system_ram_res() and walk_mem_res() search the whole tree", v2:
kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
kernel/resource: remove first_lvl / siblings_only logic
Alistair Popple <apopple@nvidia.com>:
kernel/resource: allow region_intersects users to hold resource_lock
kernel/resource: refactor __request_region to allow external locking
kernel/resource: fix locking in request_free_mem_region
Subsystem: selftests
Zhang Yunkai <zhang.yunkai@zte.com.cn>:
selftests: remove duplicate include
Subsystem: async
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
kernel/async.c: stop guarding pr_debug() statements
kernel/async.c: remove async_unregister_domain()
Subsystem: initramfs
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
Patch series "background initramfs unpacking, and CONFIG_MODPROBE_PATH", v3:
init/initramfs.c: do unpacking asynchronously
modules: add CONFIG_MODPROBE_PATH
Subsystem: ipc
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
ipc/sem.c: mundane typo fixes
Subsystem: mm/cleanups
Shijie Luo <luoshijie1@huawei.com>:
mm: fix some typos and code style problems
Subsystem: drivers/char
David Hildenbrand <david@redhat.com>:
Patch series "drivers/char: remove /dev/kmem for good":
drivers/char: remove /dev/kmem for good
mm: remove xlate_dev_kmem_ptr()
mm/vmalloc: remove vwrite()
Subsystem: mm/slub
Maninder Singh <maninder1.s@samsung.com>:
arm: print alloc free paths for address in registers
Subsystem: spelling
Drew Fustini <drew@beagleboard.org>:
scripts/spelling.txt: add "overlfow"
zuoqilin <zuoqilin@yulong.com>:
scripts/spelling.txt: Add "diabled" typo
Drew Fustini <drew@beagleboard.org>:
scripts/spelling.txt: add "overflw"
Colin Ian King <colin.king@canonical.com>:
mm/slab.c: fix spelling mistake "disired" -> "desired"
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
include/linux/pgtable.h: few spelling fixes
zhouchuangao <zhouchuangao@vivo.com>:
kernel/umh.c: fix some spelling mistakes
Xiaofeng Cao <cxfcosmos@gmail.com>:
kernel/user_namespace.c: fix typos
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
kernel/up.c: fix typo
Xiaofeng Cao <caoxiaofeng@yulong.com>:
kernel/sys.c: fix typo
dingsenjie <dingsenjie@yulong.com>:
fs: fat: fix spelling typo of values
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
ipc/sem.c: spelling fix
Masahiro Yamada <masahiroy@kernel.org>:
treewide: remove editor modelines and cruft
Ingo Molnar <mingo@kernel.org>:
mm: fix typos in comments
Lu Jialin <lujialin4@huawei.com>:
mm: fix typos in comments
Documentation/admin-guide/devices.txt | 2
Documentation/admin-guide/kdump/kdump.rst | 3
Documentation/admin-guide/kernel-parameters.txt | 18
Documentation/dev-tools/gdb-kernel-debugging.rst | 4
MAINTAINERS | 16
arch/Kconfig | 20
arch/alpha/include/asm/io.h | 5
arch/alpha/kernel/pc873xx.c | 4
arch/alpha/lib/csum_partial_copy.c | 1
arch/arm/configs/dove_defconfig | 1
arch/arm/configs/magician_defconfig | 1
arch/arm/configs/moxart_defconfig | 1
arch/arm/configs/mps2_defconfig | 1
arch/arm/configs/mvebu_v5_defconfig | 1
arch/arm/configs/xcep_defconfig | 1
arch/arm/include/asm/bug.h | 1
arch/arm/include/asm/io.h | 5
arch/arm/kernel/process.c | 11
arch/arm/kernel/traps.c | 1
arch/h8300/include/asm/bitops.h | 8
arch/hexagon/configs/comet_defconfig | 1
arch/hexagon/include/asm/io.h | 1
arch/ia64/include/asm/io.h | 1
arch/ia64/include/asm/uaccess.h | 18
arch/m68k/atari/time.c | 7
arch/m68k/configs/amcore_defconfig | 1
arch/m68k/include/asm/bitops.h | 6
arch/m68k/include/asm/io_mm.h | 5
arch/mips/include/asm/io.h | 5
arch/openrisc/configs/or1ksim_defconfig | 1
arch/parisc/include/asm/io.h | 5
arch/parisc/include/asm/pdc_chassis.h | 1
arch/powerpc/include/asm/io.h | 5
arch/s390/include/asm/io.h | 5
arch/sh/configs/edosk7705_defconfig | 1
arch/sh/configs/se7206_defconfig | 1
arch/sh/configs/sh2007_defconfig | 1
arch/sh/configs/sh7724_generic_defconfig | 1
arch/sh/configs/sh7770_generic_defconfig | 1
arch/sh/configs/sh7785lcr_32bit_defconfig | 1
arch/sh/include/asm/bitops.h | 5
arch/sh/include/asm/io.h | 5
arch/sparc/configs/sparc64_defconfig | 1
arch/sparc/include/asm/io_64.h | 5
arch/um/drivers/cow.h | 7
arch/xtensa/configs/xip_kc705_defconfig | 1
block/blk-settings.c | 1
drivers/auxdisplay/panel.c | 7
drivers/base/firmware_loader/main.c | 2
drivers/block/brd.c | 1
drivers/block/loop.c | 1
drivers/char/Kconfig | 10
drivers/char/mem.c | 231 --------
drivers/gpu/drm/qxl/qxl_drv.c | 1
drivers/isdn/capi/kcapi_proc.c | 1
drivers/md/bcache/super.c | 1
drivers/media/usb/pwc/pwc-uncompress.c | 3
drivers/net/ethernet/adaptec/starfire.c | 8
drivers/net/ethernet/amd/atarilance.c | 8
drivers/net/ethernet/amd/pcnet32.c | 7
drivers/net/wireless/intersil/hostap/hostap_proc.c | 1
drivers/net/wireless/intersil/orinoco/orinoco_nortel.c | 8
drivers/net/wireless/intersil/orinoco/orinoco_pci.c | 8
drivers/net/wireless/intersil/orinoco/orinoco_plx.c | 8
drivers/net/wireless/intersil/orinoco/orinoco_tmd.c | 8
drivers/nvdimm/btt.c | 1
drivers/nvdimm/pmem.c | 1
drivers/parport/parport_ip32.c | 12
drivers/platform/x86/dell/dell_rbu.c | 3
drivers/scsi/53c700.c | 1
drivers/scsi/53c700.h | 1
drivers/scsi/ch.c | 6
drivers/scsi/esas2r/esas2r_main.c | 1
drivers/scsi/ips.c | 20
drivers/scsi/ips.h | 20
drivers/scsi/lasi700.c | 1
drivers/scsi/megaraid/mbox_defs.h | 2
drivers/scsi/megaraid/mega_common.h | 2
drivers/scsi/megaraid/megaraid_mbox.c | 2
drivers/scsi/megaraid/megaraid_mbox.h | 2
drivers/scsi/qla1280.c | 12
drivers/scsi/scsicam.c | 1
drivers/scsi/sni_53c710.c | 1
drivers/video/fbdev/matrox/matroxfb_base.c | 9
drivers/video/fbdev/vga16fb.c | 10
fs/configfs/configfs_internal.h | 4
fs/configfs/dir.c | 4
fs/configfs/file.c | 4
fs/configfs/inode.c | 4
fs/configfs/item.c | 4
fs/configfs/mount.c | 4
fs/configfs/symlink.c | 4
fs/eventpoll.c | 6
fs/fat/fatent.c | 2
fs/hpfs/hpfs.h | 3
fs/isofs/rock.c | 1
fs/nfs/dir.c | 7
fs/nfs/nfs4proc.c | 6
fs/nfs/nfs4renewd.c | 6
fs/nfs/nfs4state.c | 6
fs/nfs/nfs4xdr.c | 6
fs/nfsd/nfs4proc.c | 6
fs/nfsd/nfs4xdr.c | 6
fs/nfsd/xdr4.h | 6
fs/nilfs2/cpfile.c | 2
fs/nilfs2/ioctl.c | 4
fs/nilfs2/segment.c | 4
fs/nilfs2/the_nilfs.c | 2
fs/ocfs2/acl.c | 4
fs/ocfs2/acl.h | 4
fs/ocfs2/alloc.c | 4
fs/ocfs2/alloc.h | 4
fs/ocfs2/aops.c | 4
fs/ocfs2/aops.h | 4
fs/ocfs2/blockcheck.c | 4
fs/ocfs2/blockcheck.h | 4
fs/ocfs2/buffer_head_io.c | 4
fs/ocfs2/buffer_head_io.h | 4
fs/ocfs2/cluster/heartbeat.c | 4
fs/ocfs2/cluster/heartbeat.h | 4
fs/ocfs2/cluster/masklog.c | 4
fs/ocfs2/cluster/masklog.h | 4
fs/ocfs2/cluster/netdebug.c | 4
fs/ocfs2/cluster/nodemanager.c | 4
fs/ocfs2/cluster/nodemanager.h | 4
fs/ocfs2/cluster/ocfs2_heartbeat.h | 4
fs/ocfs2/cluster/ocfs2_nodemanager.h | 4
fs/ocfs2/cluster/quorum.c | 4
fs/ocfs2/cluster/quorum.h | 4
fs/ocfs2/cluster/sys.c | 4
fs/ocfs2/cluster/sys.h | 4
fs/ocfs2/cluster/tcp.c | 4
fs/ocfs2/cluster/tcp.h | 4
fs/ocfs2/cluster/tcp_internal.h | 4
fs/ocfs2/dcache.c | 4
fs/ocfs2/dcache.h | 4
fs/ocfs2/dir.c | 4
fs/ocfs2/dir.h | 4
fs/ocfs2/dlm/dlmapi.h | 4
fs/ocfs2/dlm/dlmast.c | 4
fs/ocfs2/dlm/dlmcommon.h | 4
fs/ocfs2/dlm/dlmconvert.c | 4
fs/ocfs2/dlm/dlmconvert.h | 4
fs/ocfs2/dlm/dlmdebug.c | 4
fs/ocfs2/dlm/dlmdebug.h | 4
fs/ocfs2/dlm/dlmdomain.c | 4
fs/ocfs2/dlm/dlmdomain.h | 4
fs/ocfs2/dlm/dlmlock.c | 4
fs/ocfs2/dlm/dlmmaster.c | 4
fs/ocfs2/dlm/dlmrecovery.c | 4
fs/ocfs2/dlm/dlmthread.c | 4
fs/ocfs2/dlm/dlmunlock.c | 4
fs/ocfs2/dlmfs/dlmfs.c | 4
fs/ocfs2/dlmfs/userdlm.c | 4
fs/ocfs2/dlmfs/userdlm.h | 4
fs/ocfs2/dlmglue.c | 4
fs/ocfs2/dlmglue.h | 4
fs/ocfs2/export.c | 4
fs/ocfs2/export.h | 4
fs/ocfs2/extent_map.c | 4
fs/ocfs2/extent_map.h | 4
fs/ocfs2/file.c | 4
fs/ocfs2/file.h | 4
fs/ocfs2/filecheck.c | 4
fs/ocfs2/filecheck.h | 4
fs/ocfs2/heartbeat.c | 4
fs/ocfs2/heartbeat.h | 4
fs/ocfs2/inode.c | 4
fs/ocfs2/inode.h | 4
fs/ocfs2/journal.c | 4
fs/ocfs2/journal.h | 4
fs/ocfs2/localalloc.c | 4
fs/ocfs2/localalloc.h | 4
fs/ocfs2/locks.c | 4
fs/ocfs2/locks.h | 4
fs/ocfs2/mmap.c | 4
fs/ocfs2/move_extents.c | 4
fs/ocfs2/move_extents.h | 4
fs/ocfs2/namei.c | 4
fs/ocfs2/namei.h | 4
fs/ocfs2/ocfs1_fs_compat.h | 4
fs/ocfs2/ocfs2.h | 4
fs/ocfs2/ocfs2_fs.h | 4
fs/ocfs2/ocfs2_ioctl.h | 4
fs/ocfs2/ocfs2_lockid.h | 4
fs/ocfs2/ocfs2_lockingver.h | 4
fs/ocfs2/refcounttree.c | 4
fs/ocfs2/refcounttree.h | 4
fs/ocfs2/reservations.c | 4
fs/ocfs2/reservations.h | 4
fs/ocfs2/resize.c | 4
fs/ocfs2/resize.h | 4
fs/ocfs2/slot_map.c | 4
fs/ocfs2/slot_map.h | 4
fs/ocfs2/stack_o2cb.c | 4
fs/ocfs2/stack_user.c | 4
fs/ocfs2/stackglue.c | 4
fs/ocfs2/stackglue.h | 4
fs/ocfs2/suballoc.c | 4
fs/ocfs2/suballoc.h | 4
fs/ocfs2/super.c | 4
fs/ocfs2/super.h | 4
fs/ocfs2/symlink.c | 4
fs/ocfs2/symlink.h | 4
fs/ocfs2/sysfile.c | 4
fs/ocfs2/sysfile.h | 4
fs/ocfs2/uptodate.c | 4
fs/ocfs2/uptodate.h | 4
fs/ocfs2/xattr.c | 4
fs/ocfs2/xattr.h | 4
fs/proc/generic.c | 13
fs/proc/inode.c | 18
fs/proc/proc_sysctl.c | 2
fs/reiserfs/procfs.c | 10
include/asm-generic/bitops/find.h | 108 +++
include/asm-generic/bitops/le.h | 38 +
include/asm-generic/bitsperlong.h | 12
include/asm-generic/io.h | 11
include/linux/align.h | 15
include/linux/async.h | 1
include/linux/bitmap.h | 11
include/linux/bitops.h | 12
include/linux/blkdev.h | 1
include/linux/compat.h | 1
include/linux/configfs.h | 4
include/linux/crc8.h | 2
include/linux/cred.h | 1
include/linux/delayacct.h | 20
include/linux/fs.h | 2
include/linux/genl_magic_func.h | 1
include/linux/genl_magic_struct.h | 1
include/linux/gfp.h | 2
include/linux/init_task.h | 1
include/linux/initrd.h | 2
include/linux/kernel.h | 9
include/linux/mm.h | 2
include/linux/mmzone.h | 2
include/linux/pgtable.h | 10
include/linux/proc_fs.h | 1
include/linux/profile.h | 3
include/linux/smp.h | 8
include/linux/swap.h | 1
include/linux/vmalloc.h | 7
include/uapi/linux/if_bonding.h | 11
include/uapi/linux/nfs4.h | 6
include/xen/interface/elfnote.h | 10
include/xen/interface/hvm/hvm_vcpu.h | 10
include/xen/interface/io/xenbus.h | 10
init/Kconfig | 12
init/initramfs.c | 38 +
init/main.c | 1
ipc/sem.c | 12
kernel/async.c | 68 --
kernel/configs/android-base.config | 1
kernel/crash_core.c | 7
kernel/cred.c | 2
kernel/exit.c | 67 ++
kernel/fork.c | 23
kernel/gcov/Kconfig | 1
kernel/gcov/base.c | 49 +
kernel/gcov/clang.c | 282 ----------
kernel/gcov/fs.c | 146 ++++-
kernel/gcov/gcc_4_7.c | 173 ------
kernel/gcov/gcov.h | 14
kernel/kexec_core.c | 4
kernel/kexec_file.c | 4
kernel/kmod.c | 2
kernel/resource.c | 198 ++++---
kernel/sys.c | 14
kernel/umh.c | 8
kernel/up.c | 2
kernel/user_namespace.c | 6
lib/bch.c | 2
lib/crc8.c | 2
lib/decompress_unlzma.c | 2
lib/find_bit.c | 68 --
lib/genalloc.c | 7
lib/list_sort.c | 2
lib/parser.c | 61 +-
lib/percpu_counter.c | 2
lib/stackdepot.c | 6
mm/balloon_compaction.c | 4
mm/compaction.c | 4
mm/filemap.c | 2
mm/gup.c | 2
mm/highmem.c | 2
mm/huge_memory.c | 6
mm/hugetlb.c | 6
mm/internal.h | 2
mm/kasan/kasan.h | 8
mm/kasan/quarantine.c | 4
mm/kasan/shadow.c | 4
mm/kfence/report.c | 2
mm/khugepaged.c | 2
mm/ksm.c | 6
mm/madvise.c | 4
mm/memcontrol.c | 18
mm/memory-failure.c | 2
mm/memory.c | 18
mm/mempolicy.c | 6
mm/migrate.c | 8
mm/mmap.c | 4
mm/mprotect.c | 2
mm/mremap.c | 2
mm/nommu.c | 10
mm/oom_kill.c | 2
mm/page-writeback.c | 4
mm/page_alloc.c | 16
mm/page_owner.c | 2
mm/page_vma_mapped.c | 2
mm/percpu-internal.h | 2
mm/percpu.c | 2
mm/pgalloc-track.h | 6
mm/rmap.c | 2
mm/slab.c | 8
mm/slub.c | 2
mm/swap.c | 4
mm/swap_slots.c | 2
mm/swap_state.c | 2
mm/vmalloc.c | 124 ----
mm/vmstat.c | 2
mm/z3fold.c | 2
mm/zpool.c | 2
mm/zsmalloc.c | 6
samples/configfs/configfs_sample.c | 2
scripts/checkpatch.pl | 15
scripts/gdb/linux/cpus.py | 23
scripts/gdb/linux/symbols.py | 3
scripts/spelling.txt | 3
tools/include/asm-generic/bitops/find.h | 85 ++-
tools/include/asm-generic/bitsperlong.h | 3
tools/include/linux/bitmap.h | 18
tools/lib/bitmap.c | 4
tools/lib/find_bit.c | 56 -
tools/scripts/Makefile.include | 1
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 44 +
tools/testing/selftests/kvm/lib/sparsebit.c | 1
tools/testing/selftests/mincore/mincore_selftest.c | 1
tools/testing/selftests/powerpc/mm/tlbie_test.c | 1
tools/testing/selftests/proc/Makefile | 1
tools/testing/selftests/proc/proc-subset-pid.c | 121 ++++
tools/testing/selftests/proc/read.c | 4
tools/usb/hcd-tests.sh | 2
343 files changed, 1383 insertions(+), 2119 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 01/91] alpha: eliminate old-style function definitions
2021-05-07 1:01 incoming Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 02/91] alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h> Andrew Morton
` (90 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, ink, linux-mm, mattst88, mm-commits, rdunlap, rth, torvalds
From: Randy Dunlap <rdunlap@infradead.org>
Subject: alpha: eliminate old-style function definitions
'make ARCH=alpha W=1' reports a couple of old-style function
definitions with missing parameter list, so fix those.
../arch/alpha/kernel/pc873xx.c: In function 'pc873xx_get_base':
../arch/alpha/kernel/pc873xx.c:16:21: warning: old-style function definition [-Wold-style-definition]
16 | unsigned int __init pc873xx_get_base()
../arch/alpha/kernel/pc873xx.c: In function 'pc873xx_get_model':
../arch/alpha/kernel/pc873xx.c:21:14: warning: old-style function definition [-Wold-style-definition]
21 | char *__init pc873xx_get_model()
Link: https://lkml.kernel.org/r/20210421061312.30097-1-rdunlap@infradead.org
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/alpha/kernel/pc873xx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/alpha/kernel/pc873xx.c~alpha-eliminate-old-style-function-definitions
+++ a/arch/alpha/kernel/pc873xx.c
@@ -13,12 +13,12 @@ static char *pc873xx_names[] = {
static unsigned int base, model;
-unsigned int __init pc873xx_get_base()
+unsigned int __init pc873xx_get_base(void)
{
return base;
}
-char *__init pc873xx_get_model()
+char *__init pc873xx_get_model(void)
{
return pc873xx_names[model];
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 02/91] alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h>
2021-05-07 1:01 incoming Andrew Morton
2021-05-07 1:02 ` [patch 01/91] alpha: eliminate old-style function definitions Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 03/91] fs/proc/generic.c: fix incorrect pde_is_permanent check Andrew Morton
` (89 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, ink, linux-mm, lkp, mattst88, mm-commits, rdunlap, rth,
torvalds, viro
From: Randy Dunlap <rdunlap@infradead.org>
Subject: alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h>
Fix "no previous prototype" W=1 warnings from the kernel test robot:
../arch/alpha/lib/csum_partial_copy.c:349:1: error: no previous prototype for 'csum_and_copy_from_user' [-Werror=missing-prototypes]
349 | csum_and_copy_from_user(const void __user *src, void *dst, int len)
| ^~~~~~~~~~~~~~~~~~~~~~~
../arch/alpha/lib/csum_partial_copy.c:358:1: error: no previous prototype for 'csum_partial_copy_nocheck' [-Werror=missing-prototypes]
358 | csum_partial_copy_nocheck(const void *src, void *dst, int len)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Link: https://lkml.kernel.org/r/20210425235749.19113-1-rdunlap@infradead.org
Fixes: 808b49da54e6 ("alpha: turn csum_partial_copy_from_user() into csum_and_copy_from_user()")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/alpha/lib/csum_partial_copy.c | 1 +
1 file changed, 1 insertion(+)
--- a/arch/alpha/lib/csum_partial_copy.c~alpha-csum_partial_copyc-add-function-prototypes-from-net-checksumh
+++ a/arch/alpha/lib/csum_partial_copy.c
@@ -13,6 +13,7 @@
#include <linux/types.h>
#include <linux/string.h>
#include <linux/uaccess.h>
+#include <net/checksum.h>
#define ldq_u(x,y) \
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 03/91] fs/proc/generic.c: fix incorrect pde_is_permanent check
2021-05-07 1:01 incoming Andrew Morton
2021-05-07 1:02 ` [patch 01/91] alpha: eliminate old-style function definitions Andrew Morton
2021-05-07 1:02 ` [patch 02/91] alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h> Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 04/91] proc: save LOC in __xlate_proc_name() Andrew Morton
` (88 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: adobriyan, akpm, christian.brauner, colin.king, gregkh, linux-mm,
mm-commits, torvalds
From: Colin Ian King <colin.king@canonical.com>
Subject: fs/proc/generic.c: fix incorrect pde_is_permanent check
Currently the pde_is_permanent() check is being run on root multiple times
rather than on the next proc directory entry. This looks like a
copy-paste error. Fix this by replacing root with next.
Addresses-Coverity: ("Copy-paste error")
Link: https://lkml.kernel.org/r/20210318122633.14222-1-colin.king@canonical.com
Fixes: d919b33dafb3 ("proc: faster open/read/close with "permanent" files")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Reviewed-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/proc/generic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/proc/generic.c~proc-fix-incorrect-pde_is_permanent-check
+++ a/fs/proc/generic.c
@@ -756,7 +756,7 @@ int remove_proc_subtree(const char *name
while (1) {
next = pde_subdir_first(de);
if (next) {
- if (unlikely(pde_is_permanent(root))) {
+ if (unlikely(pde_is_permanent(next))) {
write_unlock(&proc_subdir_lock);
WARN(1, "removing permanent /proc entry '%s/%s'",
next->parent->name, next->name);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 04/91] proc: save LOC in __xlate_proc_name()
2021-05-07 1:01 incoming Andrew Morton
` (2 preceding siblings ...)
2021-05-07 1:02 ` [patch 03/91] fs/proc/generic.c: fix incorrect pde_is_permanent check Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 2:24 ` Linus Torvalds
2021-05-07 1:02 ` [patch 05/91] proc: mandate ->proc_lseek in "struct proc_ops" Andrew Morton
` (87 subsequent siblings)
91 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: adobriyan, akpm, linux-mm, mm-commits, torvalds
From: Alexey Dobriyan <adobriyan@gmail.com>
Subject: proc: save LOC in __xlate_proc_name()
Can't look at this verbosity anymore.
Link: https://lkml.kernel.org/r/YFYXAp/fgq405qcy@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/proc/generic.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
--- a/fs/proc/generic.c~proc-save-loc-in-__xlate_proc_name
+++ a/fs/proc/generic.c
@@ -166,15 +166,8 @@ static int __xlate_proc_name(const char
const char *cp = name, *next;
struct proc_dir_entry *de;
- de = *ret;
- if (!de)
- de = &proc_root;
-
- while (1) {
- next = strchr(cp, '/');
- if (!next)
- break;
-
+ de = *ret ?: &proc_root;
+ while ((next = strchr(cp, '/'))) {
de = pde_subdir_find(de, cp, next - cp);
if (!de) {
WARN(1, "name '%s'\n", name);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 04/91] proc: save LOC in __xlate_proc_name()
2021-05-07 1:02 ` [patch 04/91] proc: save LOC in __xlate_proc_name() Andrew Morton
@ 2021-05-07 2:24 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2021-05-07 2:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: Alexey Dobriyan, Linux-MM, mm-commits
On Thu, May 6, 2021 at 6:02 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> From: Alexey Dobriyan <adobriyan@gmail.com>
> Subject: proc: save LOC in __xlate_proc_name()
..
> + while ((next = strchr(cp, '/'))) {
Please don't do this.
Yes, gcc suggests that double parentheses syntax around an assignment
to avoid warnings.
gcc is wrong, and is being completely stupid.
The proper way to avoid the "assignment in conditional" warning is to
(surprise, surprise) USE A CONDITIONAL.
So that
while ((next = strchr(cp, '/'))) {
is the crazy rantings of a misguided compiler. No sane human should
ever care about some odd double parenthesis syntax. We're not writing
LISP, for chrissake.
The proper way to write this is
while ((next = strchr(cp, '/')) != NULL) {
which makes sense to not just a machine, but to a human, and avoids
the whole "assignment used as a conditional" warning very naturally.
See? Now it uses a conditional as a conditional. Doesn't that make a
whole lot more sense than the crazy ramblings of a broken machine
mind?
I fixed it up manually, I just wanted to rant against this kind of
"mindlessly take advice from the compiler without thinking about it".
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 05/91] proc: mandate ->proc_lseek in "struct proc_ops"
2021-05-07 1:01 incoming Andrew Morton
` (3 preceding siblings ...)
2021-05-07 1:02 ` [patch 04/91] proc: save LOC in __xlate_proc_name() Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 06/91] proc: delete redundant subset=pid check Andrew Morton
` (86 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: adobriyan, akpm, linux-mm, mm-commits, torvalds
From: Alexey Dobriyan <adobriyan@gmail.com>
Subject: proc: mandate ->proc_lseek in "struct proc_ops"
Now that proc_ops are separate from file_operations and other operations
it easy to check all instances to have ->proc_lseek hook and remove check
in main code.
Note:
nonseekable_open() files naturally don't require ->proc_lseek.
Garbage collect pde_lseek() function.
[adobriyan@gmail.com: smoke test lseek()]
Link: https://lkml.kernel.org/r/YG4OIhChOrVTPgdN@localhost.localdomain
Link: https://lkml.kernel.org/r/YFYX0Bzwxlc7aBa/@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/isdn/capi/kcapi_proc.c | 1
drivers/net/wireless/intersil/hostap/hostap_proc.c | 1
drivers/scsi/esas2r/esas2r_main.c | 1
fs/proc/inode.c | 14 +----------
include/linux/proc_fs.h | 1
tools/testing/selftests/proc/read.c | 4 ++-
6 files changed, 9 insertions(+), 13 deletions(-)
--- a/drivers/isdn/capi/kcapi_proc.c~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/drivers/isdn/capi/kcapi_proc.c
@@ -201,6 +201,7 @@ static ssize_t empty_read(struct file *f
static const struct proc_ops empty_proc_ops = {
.proc_read = empty_read,
+ .proc_lseek = default_llseek,
};
// ---------------------------------------------------------------------------
--- a/drivers/net/wireless/intersil/hostap/hostap_proc.c~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/drivers/net/wireless/intersil/hostap/hostap_proc.c
@@ -227,6 +227,7 @@ static ssize_t prism2_aux_dump_proc_no_r
static const struct proc_ops prism2_aux_dump_proc_ops = {
.proc_read = prism2_aux_dump_proc_no_read,
+ .proc_lseek = default_llseek,
};
--- a/drivers/scsi/esas2r/esas2r_main.c~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/drivers/scsi/esas2r/esas2r_main.c
@@ -616,6 +616,7 @@ static const struct file_operations esas
};
static const struct proc_ops esas2r_proc_ops = {
+ .proc_lseek = default_llseek,
.proc_ioctl = esas2r_proc_ioctl,
#ifdef CONFIG_COMPAT
.proc_compat_ioctl = compat_ptr_ioctl,
--- a/fs/proc/inode.c~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/fs/proc/inode.c
@@ -273,25 +273,15 @@ void proc_entry_rundown(struct proc_dir_
spin_unlock(&de->pde_unload_lock);
}
-static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)
-{
- typeof_member(struct proc_ops, proc_lseek) lseek;
-
- lseek = pde->proc_ops->proc_lseek;
- if (!lseek)
- lseek = default_llseek;
- return lseek(file, offset, whence);
-}
-
static loff_t proc_reg_llseek(struct file *file, loff_t offset, int whence)
{
struct proc_dir_entry *pde = PDE(file_inode(file));
loff_t rv = -EINVAL;
if (pde_is_permanent(pde)) {
- return pde_lseek(pde, file, offset, whence);
+ return pde->proc_ops->proc_lseek(file, offset, whence);
} else if (use_pde(pde)) {
- rv = pde_lseek(pde, file, offset, whence);
+ rv = pde->proc_ops->proc_lseek(file, offset, whence);
unuse_pde(pde);
}
return rv;
--- a/include/linux/proc_fs.h~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/include/linux/proc_fs.h
@@ -32,6 +32,7 @@ struct proc_ops {
ssize_t (*proc_read)(struct file *, char __user *, size_t, loff_t *);
ssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *);
ssize_t (*proc_write)(struct file *, const char __user *, size_t, loff_t *);
+ /* mandatory unless nonseekable_open() or equivalent is used */
loff_t (*proc_lseek)(struct file *, loff_t, int);
int (*proc_release)(struct inode *, struct file *);
__poll_t (*proc_poll)(struct file *, struct poll_table_struct *);
--- a/tools/testing/selftests/proc/read.c~proc-mandate-proc_lseek-in-struct-proc_ops
+++ a/tools/testing/selftests/proc/read.c
@@ -14,7 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
// Test
-// 1) read of every file in /proc
+// 1) read and lseek on every file in /proc
// 2) readlink of every symlink in /proc
// 3) recursively (1) + (2) for every directory in /proc
// 4) write to /proc/*/clear_refs and /proc/*/task/*/clear_refs
@@ -45,6 +45,8 @@ static void f_reg(DIR *d, const char *fi
fd = openat(dirfd(d), filename, O_RDONLY|O_NONBLOCK);
if (fd == -1)
return;
+ /* struct proc_ops::proc_lseek is mandatory if file is seekable. */
+ (void)lseek(fd, 0, SEEK_SET);
rv = read(fd, buf, sizeof(buf));
assert((0 <= rv && rv <= sizeof(buf)) || rv == -1);
close(fd);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 06/91] proc: delete redundant subset=pid check
2021-05-07 1:01 incoming Andrew Morton
` (4 preceding siblings ...)
2021-05-07 1:02 ` [patch 05/91] proc: mandate ->proc_lseek in "struct proc_ops" Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 07/91] selftests: proc: test subset=pid Andrew Morton
` (85 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: adobriyan, akpm, gladkov.alexey, linux-mm, mm-commits, torvalds
From: Alexey Dobriyan <adobriyan@gmail.com>
Subject: proc: delete redundant subset=pid check
Two checks in lookup and readdir code should be enough to not have third
check in open code.
Can't open what can't be looked up?
Link: https://lkml.kernel.org/r/YFYYwIBIkytqnkxP@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Alexey Gladkov <gladkov.alexey@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/proc/inode.c | 4 ----
1 file changed, 4 deletions(-)
--- a/fs/proc/inode.c~proc-delete-redundant-subset=pid-check
+++ a/fs/proc/inode.c
@@ -483,7 +483,6 @@ proc_reg_get_unmapped_area(struct file *
static int proc_reg_open(struct inode *inode, struct file *file)
{
- struct proc_fs_info *fs_info = proc_sb_info(inode->i_sb);
struct proc_dir_entry *pde = PDE(inode);
int rv = 0;
typeof_member(struct proc_ops, proc_open) open;
@@ -497,9 +496,6 @@ static int proc_reg_open(struct inode *i
return rv;
}
- if (fs_info->pidonly == PROC_PIDONLY_ON)
- return -ENOENT;
-
/*
* Ensure that
* 1) PDE's ->release hook will be called no matter what
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 07/91] selftests: proc: test subset=pid
2021-05-07 1:01 incoming Andrew Morton
` (5 preceding siblings ...)
2021-05-07 1:02 ` [patch 06/91] proc: delete redundant subset=pid check Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 08/91] proc/sysctl: fix function name error in comments Andrew Morton
` (84 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: adobriyan, akpm, gladkov.alexey, linux-mm, mm-commits, torvalds
From: Alexey Dobriyan <adobriyan@gmail.com>
Subject: selftests: proc: test subset=pid
Test that /proc instance mounted with
mount -t proc -o subset=pid
contains only ".", "..", "self", "thread-self" and pid directories.
Note:
Currently "subset=pid" doesn't return "." and ".." via readdir.
This must be a bug.
Link: https://lkml.kernel.org/r/YFYZZ7WGaZlsnChS@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Alexey Gladkov <gladkov.alexey@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/testing/selftests/proc/Makefile | 1
tools/testing/selftests/proc/proc-subset-pid.c | 121 +++++++++++++++
2 files changed, 122 insertions(+)
--- a/tools/testing/selftests/proc/Makefile~proc-test-subset=pid
+++ a/tools/testing/selftests/proc/Makefile
@@ -12,6 +12,7 @@ TEST_GEN_PROGS += proc-self-map-files-00
TEST_GEN_PROGS += proc-self-map-files-002
TEST_GEN_PROGS += proc-self-syscall
TEST_GEN_PROGS += proc-self-wchan
+TEST_GEN_PROGS += proc-subset-pid
TEST_GEN_PROGS += proc-uptime-001
TEST_GEN_PROGS += proc-uptime-002
TEST_GEN_PROGS += read
--- /dev/null
+++ a/tools/testing/selftests/proc/proc-subset-pid.c
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2021 Alexey Dobriyan <adobriyan@gmail.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * Test that "mount -t proc -o subset=pid" hides everything but pids,
+ * /proc/self and /proc/thread-self.
+ */
+#undef NDEBUG
+#include <assert.h>
+#include <errno.h>
+#include <sched.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <stdio.h>
+
+static inline bool streq(const char *a, const char *b)
+{
+ return strcmp(a, b) == 0;
+}
+
+static void make_private_proc(void)
+{
+ if (unshare(CLONE_NEWNS) == -1) {
+ if (errno == ENOSYS || errno == EPERM) {
+ exit(4);
+ }
+ exit(1);
+ }
+ if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) == -1) {
+ exit(1);
+ }
+ if (mount(NULL, "/proc", "proc", 0, "subset=pid") == -1) {
+ exit(1);
+ }
+}
+
+static bool string_is_pid(const char *s)
+{
+ while (1) {
+ switch (*s++) {
+ case '0':case '1':case '2':case '3':case '4':
+ case '5':case '6':case '7':case '8':case '9':
+ continue;
+
+ case '\0':
+ return true;
+
+ default:
+ return false;
+ }
+ }
+}
+
+int main(void)
+{
+ make_private_proc();
+
+ DIR *d = opendir("/proc");
+ assert(d);
+
+ struct dirent *de;
+
+ bool dot = false;
+ bool dot_dot = false;
+ bool self = false;
+ bool thread_self = false;
+
+ while ((de = readdir(d))) {
+ if (streq(de->d_name, ".")) {
+ assert(!dot);
+ dot = true;
+ assert(de->d_type == DT_DIR);
+ } else if (streq(de->d_name, "..")) {
+ assert(!dot_dot);
+ dot_dot = true;
+ assert(de->d_type == DT_DIR);
+ } else if (streq(de->d_name, "self")) {
+ assert(!self);
+ self = true;
+ assert(de->d_type == DT_LNK);
+ } else if (streq(de->d_name, "thread-self")) {
+ assert(!thread_self);
+ thread_self = true;
+ assert(de->d_type == DT_LNK);
+ } else {
+ if (!string_is_pid(de->d_name)) {
+ fprintf(stderr, "d_name '%s'\n", de->d_name);
+ assert(0);
+ }
+ assert(de->d_type == DT_DIR);
+ }
+ }
+
+ char c;
+ int rv = readlink("/proc/cpuinfo", &c, 1);
+ assert(rv == -1 && errno == ENOENT);
+
+ int fd = open("/proc/cpuinfo", O_RDONLY);
+ assert(fd == -1 && errno == ENOENT);
+
+ return 0;
+}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 08/91] proc/sysctl: fix function name error in comments
2021-05-07 1:01 incoming Andrew Morton
` (6 preceding siblings ...)
2021-05-07 1:02 ` [patch 07/91] selftests: proc: test subset=pid Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 09/91] include: remove pagemap.h from blkdev.h Andrew Morton
` (83 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, zhouchuangao
From: zhouchuangao <zhouchuangao@vivo.com>
Subject: proc/sysctl: fix function name error in comments
The function name should be modified to register_sysctl_paths instead of
register_sysctl_table_path.
Link: https://lkml.kernel.org/r/1615807194-79646-1-git-send-email-zhouchuangao@vivo.com
Signed-off-by: zhouchuangao <zhouchuangao@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/proc/proc_sysctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/proc/proc_sysctl.c~proc-sysctl-fix-function-name-error-in-comments
+++ a/fs/proc/proc_sysctl.c
@@ -1563,7 +1563,7 @@ err_register_leaves:
}
/**
- * register_sysctl_table_path - register a sysctl table hierarchy
+ * register_sysctl_paths - register a sysctl table hierarchy
* @path: The path to the directory the sysctl table is in.
* @table: the top-level table structure
*
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 09/91] include: remove pagemap.h from blkdev.h
2021-05-07 1:01 incoming Andrew Morton
` (7 preceding siblings ...)
2021-05-07 1:02 ` [patch 08/91] proc/sysctl: fix function name error in comments Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 10/91] kernel.h: drop inclusion in bitmap.h Andrew Morton
` (82 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, axboe, colyli, dan.j.williams, hch, linux-mm,
martin.petersen, mm-commits, torvalds, william.kucharski, willy
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: include: remove pagemap.h from blkdev.h
My UEK-derived config has 1030 files depending on pagemap.h before this
change. Afterwards, just 326 files need to be rebuilt when I touch
pagemap.h. I think blkdev.h is probably included too widely, but
untangling that dependency is harder and this solves my problem. x86
allmodconfig builds, but there may be implicit include problems on other
architectures.
Link: https://lkml.kernel.org/r/20210309195747.283796-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Dan Williams <dan.j.williams@intel.com> [nvdimm]
Acked-by: Jens Axboe <axboe@kernel.dk> [block]
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Coly Li <colyli@suse.de> [bcache]
Acked-by: Martin K. Petersen <martin.petersen@oracle.com> [scsi]
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
block/blk-settings.c | 1 +
drivers/block/brd.c | 1 +
drivers/block/loop.c | 1 +
drivers/md/bcache/super.c | 1 +
drivers/nvdimm/btt.c | 1 +
drivers/nvdimm/pmem.c | 1 +
drivers/scsi/scsicam.c | 1 +
include/linux/blkdev.h | 1 -
include/linux/swap.h | 1 +
9 files changed, 8 insertions(+), 1 deletion(-)
--- a/block/blk-settings.c~include-remove-pagemaph-from-blkdevh
+++ a/block/blk-settings.c
@@ -7,6 +7,7 @@
#include <linux/init.h>
#include <linux/bio.h>
#include <linux/blkdev.h>
+#include <linux/pagemap.h>
#include <linux/gcd.h>
#include <linux/lcm.h>
#include <linux/jiffies.h>
--- a/drivers/block/brd.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/block/brd.c
@@ -18,6 +18,7 @@
#include <linux/bio.h>
#include <linux/highmem.h>
#include <linux/mutex.h>
+#include <linux/pagemap.h>
#include <linux/radix-tree.h>
#include <linux/fs.h>
#include <linux/slab.h>
--- a/drivers/block/loop.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/block/loop.c
@@ -53,6 +53,7 @@
#include <linux/moduleparam.h>
#include <linux/sched.h>
#include <linux/fs.h>
+#include <linux/pagemap.h>
#include <linux/file.h>
#include <linux/stat.h>
#include <linux/errno.h>
--- a/drivers/md/bcache/super.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/md/bcache/super.c
@@ -16,6 +16,7 @@
#include "features.h"
#include <linux/blkdev.h>
+#include <linux/pagemap.h>
#include <linux/debugfs.h>
#include <linux/genhd.h>
#include <linux/idr.h>
--- a/drivers/nvdimm/btt.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/nvdimm/btt.c
@@ -6,6 +6,7 @@
#include <linux/highmem.h>
#include <linux/debugfs.h>
#include <linux/blkdev.h>
+#include <linux/pagemap.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/mutex.h>
--- a/drivers/nvdimm/pmem.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/nvdimm/pmem.c
@@ -8,6 +8,7 @@
*/
#include <linux/blkdev.h>
+#include <linux/pagemap.h>
#include <linux/hdreg.h>
#include <linux/init.h>
#include <linux/platform_device.h>
--- a/drivers/scsi/scsicam.c~include-remove-pagemaph-from-blkdevh
+++ a/drivers/scsi/scsicam.c
@@ -17,6 +17,7 @@
#include <linux/genhd.h>
#include <linux/kernel.h>
#include <linux/blkdev.h>
+#include <linux/pagemap.h>
#include <linux/msdos_partition.h>
#include <asm/unaligned.h>
--- a/include/linux/blkdev.h~include-remove-pagemaph-from-blkdevh
+++ a/include/linux/blkdev.h
@@ -11,7 +11,6 @@
#include <linux/minmax.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
-#include <linux/pagemap.h>
#include <linux/backing-dev-defs.h>
#include <linux/wait.h>
#include <linux/mempool.h>
--- a/include/linux/swap.h~include-remove-pagemaph-from-blkdevh
+++ a/include/linux/swap.h
@@ -10,6 +10,7 @@
#include <linux/sched.h>
#include <linux/node.h>
#include <linux/fs.h>
+#include <linux/pagemap.h>
#include <linux/atomic.h>
#include <linux/page-flags.h>
#include <uapi/linux/mempolicy.h>
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 10/91] kernel.h: drop inclusion in bitmap.h
2021-05-07 1:01 incoming Andrew Morton
` (8 preceding siblings ...)
2021-05-07 1:02 ` [patch 09/91] include: remove pagemap.h from blkdev.h Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 11/91] linux/profile.h: remove unnecessary declaration Andrew Morton
` (81 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, andriy.shevchenko, linux-mm, linux, mm-commits, torvalds,
viro, yury.norov
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: kernel.h: drop inclusion in bitmap.h
The bitmap.h header is used in a lot of code around the kernel. Besides
that it includes kernel.h which sometimes makes a loop.
The problem here is many unneeded loops that make header hell
dependencies. For example, how may you move bitmap_zalloc() from C-file
to the header? Currently it's impossible. And bitmap.h here is only the
tip of an iceberg.
kerne.h is a dump of everything that even has nothing in common at all.
We may still have it, but in my new code I prefer to include only the
headers that I want to use, without the bulk of unneeded kernel code.
Break the loop by introducing align.h, including it in kernel.h and
bitmap.h followed by replacing kernel.h with limits.h.
Link: https://lkml.kernel.org/r/20210326170347.37441-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Yury Norov <yury.norov@gmail.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/align.h | 15 +++++++++++++++
include/linux/bitmap.h | 3 ++-
include/linux/kernel.h | 9 +--------
3 files changed, 18 insertions(+), 9 deletions(-)
--- /dev/null
+++ a/include/linux/align.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_ALIGN_H
+#define _LINUX_ALIGN_H
+
+#include <linux/const.h>
+
+/* @a is a power of 2 value */
+#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
+#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
+#define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask))
+#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
+#define PTR_ALIGN_DOWN(p, a) ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a)))
+#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
+
+#endif /* _LINUX_ALIGN_H */
--- a/include/linux/bitmap.h~kernelh-drop-inclusion-in-bitmaph
+++ a/include/linux/bitmap.h
@@ -4,10 +4,11 @@
#ifndef __ASSEMBLY__
+#include <linux/align.h>
#include <linux/types.h>
#include <linux/bitops.h>
+#include <linux/limits.h>
#include <linux/string.h>
-#include <linux/kernel.h>
/*
* bitmaps provide bit arrays that consume one or more unsigned
--- a/include/linux/kernel.h~kernelh-drop-inclusion-in-bitmaph
+++ a/include/linux/kernel.h
@@ -3,6 +3,7 @@
#define _LINUX_KERNEL_H
#include <stdarg.h>
+#include <linux/align.h>
#include <linux/limits.h>
#include <linux/linkage.h>
#include <linux/stddef.h>
@@ -30,14 +31,6 @@
*/
#define REPEAT_BYTE(x) ((~0ul / 0xff) * (x))
-/* @a is a power of 2 value */
-#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
-#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
-#define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask))
-#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
-#define PTR_ALIGN_DOWN(p, a) ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a)))
-#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
-
/* generic data direction definitions */
#define READ 0
#define WRITE 1
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 11/91] linux/profile.h: remove unnecessary declaration
2021-05-07 1:01 incoming Andrew Morton
` (9 preceding siblings ...)
2021-05-07 1:02 ` [patch 10/91] kernel.h: drop inclusion in bitmap.h Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 12/91] kernel/async.c: fix pr_debug statement Andrew Morton
` (80 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, wanjiabing
From: Wan Jiabing <wanjiabing@vivo.com>
Subject: linux/profile.h: remove unnecessary declaration
Declaring struct pt_regs is unnecessary. On the one hand, there is no
function using it; on the other hand, struct pt_regs has been declared in
linux/kernel.h. Remove them.
Link: https://lkml.kernel.org/r/20210401104834.1009157-1-wanjiabing@vivo.com
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/profile.h | 3 ---
1 file changed, 3 deletions(-)
--- a/include/linux/profile.h~linux-profileh-remove-unnecessary-declaration
+++ a/include/linux/profile.h
@@ -15,7 +15,6 @@
#define KVM_PROFILING 4
struct proc_dir_entry;
-struct pt_regs;
struct notifier_block;
#if defined(CONFIG_PROFILING) && defined(CONFIG_PROC_FS)
@@ -84,8 +83,6 @@ int task_handoff_unregister(struct notif
int profile_event_register(enum profile_type, struct notifier_block * n);
int profile_event_unregister(enum profile_type, struct notifier_block * n);
-struct pt_regs;
-
#else
#define prof_on 0
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 12/91] kernel/async.c: fix pr_debug statement
2021-05-07 1:01 incoming Andrew Morton
` (10 preceding siblings ...)
2021-05-07 1:02 ` [patch 11/91] linux/profile.h: remove unnecessary declaration Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 13/91] kernel/cred.c: make init_groups static Andrew Morton
` (79 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, linux-mm, linux, mm-commits, tj, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: kernel/async.c: fix pr_debug statement
An async_func_t returns void - any errors encountered it has to stash
somewhere for consumers to discover later.
Link: https://lkml.kernel.org/r/20210226124355.2503524-1-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/async.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/async.c~kernel-asyncc-fix-pr_debug-statement
+++ a/kernel/async.c
@@ -124,7 +124,7 @@ static void async_run_entry_fn(struct wo
if (initcall_debug && system_state < SYSTEM_RUNNING) {
rettime = ktime_get();
delta = ktime_sub(rettime, calltime);
- pr_debug("initcall %lli_%pS returned 0 after %lld usecs\n",
+ pr_debug("initcall %lli_%pS returned after %lld usecs\n",
(long long)entry->cookie,
entry->func,
(long long)ktime_to_ns(delta) >> 10);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 13/91] kernel/cred.c: make init_groups static
2021-05-07 1:01 incoming Andrew Morton
` (11 preceding siblings ...)
2021-05-07 1:02 ` [patch 12/91] kernel/async.c: fix pr_debug statement Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 14/91] tools: disable -Wno-type-limits Andrew Morton
` (78 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: akpm, linux-mm, linux, mm-commits, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: kernel/cred.c: make init_groups static
init_groups is declared in both cred.h and init_task.h, but it is not
actually referenced anywhere outside of cred.c where it is defined. So
make it static and remove the declarations.
Link: https://lkml.kernel.org/r/20210310220102.2484201-1-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/cred.h | 1 -
include/linux/init_task.h | 1 -
kernel/cred.c | 2 +-
3 files changed, 1 insertion(+), 3 deletions(-)
--- a/include/linux/cred.h~kernel-credc-make-init_groups-static
+++ a/include/linux/cred.h
@@ -53,7 +53,6 @@ do { \
groups_free(group_info); \
} while (0)
-extern struct group_info init_groups;
#ifdef CONFIG_MULTIUSER
extern struct group_info *groups_alloc(int);
extern void groups_free(struct group_info *);
--- a/include/linux/init_task.h~kernel-credc-make-init_groups-static
+++ a/include/linux/init_task.h
@@ -25,7 +25,6 @@
extern struct files_struct init_files;
extern struct fs_struct init_fs;
extern struct nsproxy init_nsproxy;
-extern struct group_info init_groups;
extern struct cred init_cred;
#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
--- a/kernel/cred.c~kernel-credc-make-init_groups-static
+++ a/kernel/cred.c
@@ -33,7 +33,7 @@ do { \
static struct kmem_cache *cred_jar;
/* init to 2 - one for init_task, one to ensure it is never freed */
-struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
+static struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
/*
* The initial credentials for the initial task
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 14/91] tools: disable -Wno-type-limits
2021-05-07 1:01 incoming Andrew Morton
` (12 preceding siblings ...)
2021-05-07 1:02 ` [patch 13/91] kernel/cred.c: make init_groups static Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 15/91] tools: bitmap: sync function declarations with the kernel Andrew Morton
` (77 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: disable -Wno-type-limits
Patch series "lib/find_bit: fast path for small bitmaps", v6.
Bitmap operations are much simpler and faster in case of small bitmaps
which fit into a single word. In linux/bitmap.c we have a machinery that
allows compiler to replace actual function call with a few instructions if
bitmaps passed into the function are small and their size is known at
compile time.
find_*_bit() API lacks this functionality; but users will benefit from it
a lot. One important example is cpumask subsystem when NR_CPUS <=
BITS_PER_LONG.
This patch (of 12):
GENMASK(h, l) may be passed with unsigned types. In such case,
type-limits warning is generated for example in case of GENMASK(h, 0).
Link: https://lkml.kernel.org/r/20210401003153.97325-1-yury.norov@gmail.com
Link: https://lkml.kernel.org/r/20210401003153.97325-2-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/scripts/Makefile.include | 1 +
1 file changed, 1 insertion(+)
--- a/tools/scripts/Makefile.include~tools-disable-wno-type-limits
+++ a/tools/scripts/Makefile.include
@@ -38,6 +38,7 @@ EXTRA_WARNINGS += -Wswitch-enum
EXTRA_WARNINGS += -Wundef
EXTRA_WARNINGS += -Wwrite-strings
EXTRA_WARNINGS += -Wformat
+EXTRA_WARNINGS += -Wno-type-limits
# Makefiles suck: This macro sets a default value of $(2) for the
# variable named by $(1), unless the variable has been set by
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 15/91] tools: bitmap: sync function declarations with the kernel
2021-05-07 1:01 incoming Andrew Morton
` (13 preceding siblings ...)
2021-05-07 1:02 ` [patch 14/91] tools: disable -Wno-type-limits Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 16/91] tools: sync BITMAP_LAST_WORD_MASK() macro " Andrew Morton
` (76 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: bitmap: sync function declarations with the kernel
Some functions in tools/include/linux/bitmap.h declare nbits as int. In
the kernel nbits is declared as unsigned int.
Link: https://lkml.kernel.org/r/20210401003153.97325-3-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/include/linux/bitmap.h | 8 ++++----
tools/lib/bitmap.c | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
--- a/tools/include/linux/bitmap.h~tools-bitmap-sync-function-declarations-with-the-kernel
+++ a/tools/include/linux/bitmap.h
@@ -30,7 +30,7 @@ void bitmap_clear(unsigned long *map, un
#define small_const_nbits(nbits) \
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
-static inline void bitmap_zero(unsigned long *dst, int nbits)
+static inline void bitmap_zero(unsigned long *dst, unsigned int nbits)
{
if (small_const_nbits(nbits))
*dst = 0UL;
@@ -66,7 +66,7 @@ static inline int bitmap_full(const unsi
return find_first_zero_bit(src, nbits) == nbits;
}
-static inline int bitmap_weight(const unsigned long *src, int nbits)
+static inline int bitmap_weight(const unsigned long *src, unsigned int nbits)
{
if (small_const_nbits(nbits))
return hweight_long(*src & BITMAP_LAST_WORD_MASK(nbits));
@@ -74,7 +74,7 @@ static inline int bitmap_weight(const un
}
static inline void bitmap_or(unsigned long *dst, const unsigned long *src1,
- const unsigned long *src2, int nbits)
+ const unsigned long *src2, unsigned int nbits)
{
if (small_const_nbits(nbits))
*dst = *src1 | *src2;
@@ -141,7 +141,7 @@ static inline void bitmap_free(unsigned
* @buf: buffer to store output
* @size: size of @buf
*/
-size_t bitmap_scnprintf(unsigned long *bitmap, int nbits,
+size_t bitmap_scnprintf(unsigned long *bitmap, unsigned int nbits,
char *buf, size_t size);
/**
--- a/tools/lib/bitmap.c~tools-bitmap-sync-function-declarations-with-the-kernel
+++ a/tools/lib/bitmap.c
@@ -28,11 +28,11 @@ void __bitmap_or(unsigned long *dst, con
dst[k] = bitmap1[k] | bitmap2[k];
}
-size_t bitmap_scnprintf(unsigned long *bitmap, int nbits,
+size_t bitmap_scnprintf(unsigned long *bitmap, unsigned int nbits,
char *buf, size_t size)
{
/* current bit is 'cur', most recently seen range is [rbot, rtop] */
- int cur, rbot, rtop;
+ unsigned int cur, rbot, rtop;
bool first = true;
size_t ret = 0;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 16/91] tools: sync BITMAP_LAST_WORD_MASK() macro with the kernel
2021-05-07 1:01 incoming Andrew Morton
` (14 preceding siblings ...)
2021-05-07 1:02 ` [patch 15/91] tools: bitmap: sync function declarations with the kernel Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 17/91] arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300 Andrew Morton
` (75 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: sync BITMAP_LAST_WORD_MASK() macro with the kernel
Kernel version generates better code.
Link: https://lkml.kernel.org/r/20210401003153.97325-4-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/include/linux/bitmap.h | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
--- a/tools/include/linux/bitmap.h~tools-sync-bitmap_last_word_mask-macro-with-the-kernel
+++ a/tools/include/linux/bitmap.h
@@ -20,12 +20,7 @@ int __bitmap_equal(const unsigned long *
void bitmap_clear(unsigned long *map, unsigned int start, int len);
#define BITMAP_FIRST_WORD_MASK(start) (~0UL << ((start) & (BITS_PER_LONG - 1)))
-
-#define BITMAP_LAST_WORD_MASK(nbits) \
-( \
- ((nbits) % BITS_PER_LONG) ? \
- (1UL<<((nbits) % BITS_PER_LONG))-1 : ~0UL \
-)
+#define BITMAP_LAST_WORD_MASK(nbits) (~0UL >> (-(nbits) & (BITS_PER_LONG - 1)))
#define small_const_nbits(nbits) \
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 17/91] arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300
2021-05-07 1:01 incoming Andrew Morton
` (15 preceding siblings ...)
2021-05-07 1:02 ` [patch 16/91] tools: sync BITMAP_LAST_WORD_MASK() macro " Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:02 ` [patch 18/91] lib: extend the scope of small_const_nbits() macro Andrew Morton
` (74 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
linux, mm-commits, richard.weiyang, sbrivio, torvalds,
wsa+renesas, ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300
m68k and sh include bitmap/{find,le}.h prior to ffs/fls headers. New
fast-path implementation in find.h requires ffs/fls. Reordering the
headers inclusion sequence helps to prevent compile-time implicit function
declaration error.
[yury.norov@gmail.com: h8300: rearrange headers inclusion order in asm/bitops]
Link: https://lkml.kernel.org/r/20210406183625.794227-1-yury.norov@gmail.com
Link: https://lkml.kernel.org/r/20210401003153.97325-5-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/h8300/include/asm/bitops.h | 8 ++++----
arch/m68k/include/asm/bitops.h | 6 +++---
arch/sh/include/asm/bitops.h | 5 +++--
3 files changed, 10 insertions(+), 9 deletions(-)
--- a/arch/h8300/include/asm/bitops.h~arch-rearrange-headers-inclusion-order-in-asm-bitops-for-m68k-and-sh
+++ a/arch/h8300/include/asm/bitops.h
@@ -9,6 +9,10 @@
#include <linux/compiler.h>
+#include <asm-generic/bitops/fls.h>
+#include <asm-generic/bitops/__fls.h>
+#include <asm-generic/bitops/fls64.h>
+
#ifdef __KERNEL__
#ifndef _LINUX_BITOPS_H
@@ -173,8 +177,4 @@ static inline unsigned long __ffs(unsign
#endif /* __KERNEL__ */
-#include <asm-generic/bitops/fls.h>
-#include <asm-generic/bitops/__fls.h>
-#include <asm-generic/bitops/fls64.h>
-
#endif /* _H8300_BITOPS_H */
--- a/arch/m68k/include/asm/bitops.h~arch-rearrange-headers-inclusion-order-in-asm-bitops-for-m68k-and-sh
+++ a/arch/m68k/include/asm/bitops.h
@@ -440,8 +440,6 @@ static inline unsigned long ffz(unsigned
#endif
-#include <asm-generic/bitops/find.h>
-
#ifdef __KERNEL__
#if defined(CONFIG_CPU_HAS_NO_BITFIELDS)
@@ -525,10 +523,12 @@ static inline int __fls(int x)
#define __clear_bit_unlock clear_bit_unlock
#include <asm-generic/bitops/ext2-atomic.h>
-#include <asm-generic/bitops/le.h>
#include <asm-generic/bitops/fls64.h>
#include <asm-generic/bitops/sched.h>
#include <asm-generic/bitops/hweight.h>
+#include <asm-generic/bitops/le.h>
#endif /* __KERNEL__ */
+#include <asm-generic/bitops/find.h>
+
#endif /* _M68K_BITOPS_H */
--- a/arch/sh/include/asm/bitops.h~arch-rearrange-headers-inclusion-order-in-asm-bitops-for-m68k-and-sh
+++ a/arch/sh/include/asm/bitops.h
@@ -58,15 +58,16 @@ static inline unsigned long __ffs(unsign
return result;
}
-#include <asm-generic/bitops/find.h>
#include <asm-generic/bitops/ffs.h>
#include <asm-generic/bitops/hweight.h>
#include <asm-generic/bitops/lock.h>
#include <asm-generic/bitops/sched.h>
-#include <asm-generic/bitops/le.h>
#include <asm-generic/bitops/ext2-atomic.h>
#include <asm-generic/bitops/fls.h>
#include <asm-generic/bitops/__fls.h>
#include <asm-generic/bitops/fls64.h>
+#include <asm-generic/bitops/le.h>
+#include <asm-generic/bitops/find.h>
+
#endif /* __ASM_SH_BITOPS_H */
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 18/91] lib: extend the scope of small_const_nbits() macro
2021-05-07 1:01 incoming Andrew Morton
` (16 preceding siblings ...)
2021-05-07 1:02 ` [patch 17/91] arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300 Andrew Morton
@ 2021-05-07 1:02 ` Andrew Morton
2021-05-07 1:03 ` [patch 19/91] tools: sync small_const_nbits() macro with the kernel Andrew Morton
` (73 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:02 UTC (permalink / raw)
To: aklimov, akpm, andy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: lib: extend the scope of small_const_nbits() macro
find_bit would also benefit from small_const_nbits() optimizations. The
detailed comment is provided by Rasmus Villemoes.
Link: https://lkml.kernel.org/r/20210401003153.97325-6-yury.norov@gmail.com
Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/asm-generic/bitsperlong.h | 12 ++++++++++++
include/linux/bitmap.h | 8 --------
2 files changed, 12 insertions(+), 8 deletions(-)
--- a/include/asm-generic/bitsperlong.h~lib-extend-the-scope-of-small_const_nbits-macro
+++ a/include/asm-generic/bitsperlong.h
@@ -23,4 +23,16 @@
#define BITS_PER_LONG_LONG 64
#endif
+/*
+ * small_const_nbits(n) is true precisely when it is known at compile-time
+ * that BITMAP_SIZE(n) is 1, i.e. 1 <= n <= BITS_PER_LONG. This allows
+ * various bit/bitmap APIs to provide a fast inline implementation. Bitmaps
+ * of size 0 are very rare, and a compile-time-known-size 0 is most likely
+ * a sign of error. They will be handled correctly by the bit/bitmap APIs,
+ * but using the out-of-line functions, so that the inline implementations
+ * can unconditionally dereference the pointer(s).
+ */
+#define small_const_nbits(nbits) \
+ (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
+
#endif /* __ASM_GENERIC_BITS_PER_LONG */
--- a/include/linux/bitmap.h~lib-extend-the-scope-of-small_const_nbits-macro
+++ a/include/linux/bitmap.h
@@ -223,14 +223,6 @@ extern int bitmap_print_to_pagebuf(bool
#define BITMAP_FIRST_WORD_MASK(start) (~0UL << ((start) & (BITS_PER_LONG - 1)))
#define BITMAP_LAST_WORD_MASK(nbits) (~0UL >> (-(nbits) & (BITS_PER_LONG - 1)))
-/*
- * The static inlines below do not handle constant nbits==0 correctly,
- * so make such users (should any ever turn up) call the out-of-line
- * versions.
- */
-#define small_const_nbits(nbits) \
- (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
-
static inline void bitmap_zero(unsigned long *dst, unsigned int nbits)
{
unsigned int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 19/91] tools: sync small_const_nbits() macro with the kernel
2021-05-07 1:01 incoming Andrew Morton
` (17 preceding siblings ...)
2021-05-07 1:02 ` [patch 18/91] lib: extend the scope of small_const_nbits() macro Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 20/91] lib: inline _find_next_bit() wrappers Andrew Morton
` (72 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: sync small_const_nbits() macro with the kernel
Sync implementation with the kernel and move the macro from
tools/include/linux/bitmap.h to tools/include/asm-generic/bitsperlong.h
Link: https://lkml.kernel.org/r/20210401003153.97325-7-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/include/asm-generic/bitsperlong.h | 3 +++
tools/include/linux/bitmap.h | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
--- a/tools/include/asm-generic/bitsperlong.h~tools-sync-small_const_nbits-macro-with-the-kernel
+++ a/tools/include/asm-generic/bitsperlong.h
@@ -18,4 +18,7 @@
#define BITS_PER_LONG_LONG 64
#endif
+#define small_const_nbits(nbits) \
+ (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
+
#endif /* __ASM_GENERIC_BITS_PER_LONG */
--- a/tools/include/linux/bitmap.h~tools-sync-small_const_nbits-macro-with-the-kernel
+++ a/tools/include/linux/bitmap.h
@@ -22,9 +22,6 @@ void bitmap_clear(unsigned long *map, un
#define BITMAP_FIRST_WORD_MASK(start) (~0UL << ((start) & (BITS_PER_LONG - 1)))
#define BITMAP_LAST_WORD_MASK(nbits) (~0UL >> (-(nbits) & (BITS_PER_LONG - 1)))
-#define small_const_nbits(nbits) \
- (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
-
static inline void bitmap_zero(unsigned long *dst, unsigned int nbits)
{
if (small_const_nbits(nbits))
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 20/91] lib: inline _find_next_bit() wrappers
2021-05-07 1:01 incoming Andrew Morton
` (18 preceding siblings ...)
2021-05-07 1:03 ` [patch 19/91] tools: sync small_const_nbits() macro with the kernel Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 21/91] tools: sync find_next_bit implementation Andrew Morton
` (71 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: lib: inline _find_next_bit() wrappers
lib/find_bit.c declares five single-line wrappers for _find_next_bit().
We may turn those wrappers to inline functions. It eliminates unneeded
function calls and opens room for compile-time optimizations.
Link: https://lkml.kernel.org/r/20210401003153.97325-8-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/asm-generic/bitops/find.h | 28 +++++++++++---
include/asm-generic/bitops/le.h | 17 ++++++--
lib/find_bit.c | 56 +---------------------------
3 files changed, 37 insertions(+), 64 deletions(-)
--- a/include/asm-generic/bitops/find.h~lib-inline-_find_next_bit-wrappers
+++ a/include/asm-generic/bitops/find.h
@@ -2,6 +2,10 @@
#ifndef _ASM_GENERIC_BITOPS_FIND_H_
#define _ASM_GENERIC_BITOPS_FIND_H_
+extern unsigned long _find_next_bit(const unsigned long *addr1,
+ const unsigned long *addr2, unsigned long nbits,
+ unsigned long start, unsigned long invert, unsigned long le);
+
#ifndef find_next_bit
/**
* find_next_bit - find the next set bit in a memory region
@@ -12,8 +16,12 @@
* Returns the bit number for the next set bit
* If no bits are set, returns @size.
*/
-extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
- size, unsigned long offset);
+static inline
+unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
+ unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, 0UL, 0);
+}
#endif
#ifndef find_next_and_bit
@@ -27,9 +35,13 @@ extern unsigned long find_next_bit(const
* Returns the bit number for the next set bit
* If no bits are set, returns @size.
*/
-extern unsigned long find_next_and_bit(const unsigned long *addr1,
+static inline
+unsigned long find_next_and_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long size,
- unsigned long offset);
+ unsigned long offset)
+{
+ return _find_next_bit(addr1, addr2, size, offset, 0UL, 0);
+}
#endif
#ifndef find_next_zero_bit
@@ -42,8 +54,12 @@ extern unsigned long find_next_and_bit(c
* Returns the bit number of the next zero bit
* If no bits are zero, returns @size.
*/
-extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
- long size, unsigned long offset);
+static inline
+unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
+ unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, ~0UL, 0);
+}
#endif
#ifdef CONFIG_GENERIC_FIND_FIRST_BIT
--- a/include/asm-generic/bitops/le.h~lib-inline-_find_next_bit-wrappers
+++ a/include/asm-generic/bitops/le.h
@@ -2,6 +2,7 @@
#ifndef _ASM_GENERIC_BITOPS_LE_H_
#define _ASM_GENERIC_BITOPS_LE_H_
+#include <asm-generic/bitops/find.h>
#include <asm/types.h>
#include <asm/byteorder.h>
@@ -32,13 +33,21 @@ static inline unsigned long find_first_z
#define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7)
#ifndef find_next_zero_bit_le
-extern unsigned long find_next_zero_bit_le(const void *addr,
- unsigned long size, unsigned long offset);
+static inline
+unsigned long find_next_zero_bit_le(const void *addr, unsigned
+ long size, unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
+}
#endif
#ifndef find_next_bit_le
-extern unsigned long find_next_bit_le(const void *addr,
- unsigned long size, unsigned long offset);
+static inline
+unsigned long find_next_bit_le(const void *addr, unsigned
+ long size, unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, 0UL, 1);
+}
#endif
#ifndef find_first_zero_bit_le
--- a/lib/find_bit.c~lib-inline-_find_next_bit-wrappers
+++ a/lib/find_bit.c
@@ -29,7 +29,7 @@
* searching it for one bits.
* - The optional "addr2", which is anded with "addr1" if present.
*/
-static unsigned long _find_next_bit(const unsigned long *addr1,
+unsigned long _find_next_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long nbits,
unsigned long start, unsigned long invert, unsigned long le)
{
@@ -68,37 +68,7 @@ static unsigned long _find_next_bit(cons
return min(start + __ffs(tmp), nbits);
}
-#endif
-
-#ifndef find_next_bit
-/*
- * Find the next set bit in a memory region.
- */
-unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, 0UL, 0);
-}
-EXPORT_SYMBOL(find_next_bit);
-#endif
-
-#ifndef find_next_zero_bit
-unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, ~0UL, 0);
-}
-EXPORT_SYMBOL(find_next_zero_bit);
-#endif
-
-#if !defined(find_next_and_bit)
-unsigned long find_next_and_bit(const unsigned long *addr1,
- const unsigned long *addr2, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr1, addr2, size, offset, 0UL, 0);
-}
-EXPORT_SYMBOL(find_next_and_bit);
+EXPORT_SYMBOL(_find_next_bit);
#endif
#ifndef find_first_bit
@@ -157,28 +127,6 @@ unsigned long find_last_bit(const unsign
EXPORT_SYMBOL(find_last_bit);
#endif
-#ifdef __BIG_ENDIAN
-
-#ifndef find_next_zero_bit_le
-unsigned long find_next_zero_bit_le(const void *addr, unsigned
- long size, unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
-}
-EXPORT_SYMBOL(find_next_zero_bit_le);
-#endif
-
-#ifndef find_next_bit_le
-unsigned long find_next_bit_le(const void *addr, unsigned
- long size, unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, 0UL, 1);
-}
-EXPORT_SYMBOL(find_next_bit_le);
-#endif
-
-#endif /* __BIG_ENDIAN */
-
unsigned long find_next_clump8(unsigned long *clump, const unsigned long *addr,
unsigned long size, unsigned long offset)
{
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 21/91] tools: sync find_next_bit implementation
2021-05-07 1:01 incoming Andrew Morton
` (19 preceding siblings ...)
2021-05-07 1:03 ` [patch 20/91] lib: inline _find_next_bit() wrappers Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 22/91] lib: add fast path for find_next_*_bit() Andrew Morton
` (70 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: sync find_next_bit implementation
Sync the implementation with recent kernel changes.
Link: https://lkml.kernel.org/r/20210401003153.97325-9-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/include/asm-generic/bitops/find.h | 27 ++++++++---
tools/lib/find_bit.c | 52 ++++++++--------------
2 files changed, 42 insertions(+), 37 deletions(-)
--- a/tools/include/asm-generic/bitops/find.h~tools-sync-find_next_bit-implementation
+++ a/tools/include/asm-generic/bitops/find.h
@@ -2,6 +2,10 @@
#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_
#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_
+extern unsigned long _find_next_bit(const unsigned long *addr1,
+ const unsigned long *addr2, unsigned long nbits,
+ unsigned long start, unsigned long invert, unsigned long le);
+
#ifndef find_next_bit
/**
* find_next_bit - find the next set bit in a memory region
@@ -12,8 +16,12 @@
* Returns the bit number for the next set bit
* If no bits are set, returns @size.
*/
-extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
- size, unsigned long offset);
+static inline
+unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
+ unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, 0UL, 0);
+}
#endif
#ifndef find_next_and_bit
@@ -27,13 +35,16 @@ extern unsigned long find_next_bit(const
* Returns the bit number for the next set bit
* If no bits are set, returns @size.
*/
-extern unsigned long find_next_and_bit(const unsigned long *addr1,
+static inline
+unsigned long find_next_and_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long size,
- unsigned long offset);
+ unsigned long offset)
+{
+ return _find_next_bit(addr1, addr2, size, offset, 0UL, 0);
+}
#endif
#ifndef find_next_zero_bit
-
/**
* find_next_zero_bit - find the next cleared bit in a memory region
* @addr: The address to base the search on
@@ -43,8 +54,12 @@ extern unsigned long find_next_and_bit(c
* Returns the bit number of the next zero bit
* If no bits are zero, returns @size.
*/
+static inline
unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
- unsigned long offset);
+ unsigned long offset)
+{
+ return _find_next_bit(addr, NULL, size, offset, ~0UL, 0);
+}
#endif
#ifndef find_first_bit
--- a/tools/lib/find_bit.c~tools-sync-find_next_bit-implementation
+++ a/tools/lib/find_bit.c
@@ -28,11 +28,12 @@
* searching it for one bits.
* - The optional "addr2", which is anded with "addr1" if present.
*/
-static inline unsigned long _find_next_bit(const unsigned long *addr1,
+unsigned long _find_next_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long nbits,
- unsigned long start, unsigned long invert)
+ unsigned long start, unsigned long invert, unsigned long le)
{
- unsigned long tmp;
+ unsigned long tmp, mask;
+ (void) le;
if (unlikely(start >= nbits))
return nbits;
@@ -43,7 +44,19 @@ static inline unsigned long _find_next_b
tmp ^= invert;
/* Handle 1st word. */
- tmp &= BITMAP_FIRST_WORD_MASK(start);
+ mask = BITMAP_FIRST_WORD_MASK(start);
+
+ /*
+ * Due to the lack of swab() in tools, and the fact that it doesn't
+ * need little-endian support, just comment it out
+ */
+#if (0)
+ if (le)
+ mask = swab(mask);
+#endif
+
+ tmp &= mask;
+
start = round_down(start, BITS_PER_LONG);
while (!tmp) {
@@ -57,18 +70,12 @@ static inline unsigned long _find_next_b
tmp ^= invert;
}
- return min(start + __ffs(tmp), nbits);
-}
+#if (0)
+ if (le)
+ tmp = swab(tmp);
#endif
-#ifndef find_next_bit
-/*
- * Find the next set bit in a memory region.
- */
-unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, 0UL);
+ return min(start + __ffs(tmp), nbits);
}
#endif
@@ -105,20 +112,3 @@ unsigned long find_first_zero_bit(const
return size;
}
#endif
-
-#ifndef find_next_zero_bit
-unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr, NULL, size, offset, ~0UL);
-}
-#endif
-
-#ifndef find_next_and_bit
-unsigned long find_next_and_bit(const unsigned long *addr1,
- const unsigned long *addr2, unsigned long size,
- unsigned long offset)
-{
- return _find_next_bit(addr1, addr2, size, offset, 0UL);
-}
-#endif
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 22/91] lib: add fast path for find_next_*_bit()
2021-05-07 1:01 incoming Andrew Morton
` (20 preceding siblings ...)
2021-05-07 1:03 ` [patch 21/91] tools: sync find_next_bit implementation Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 23/91] lib: add fast path for find_first_*_bit() and find_last_bit() Andrew Morton
` (69 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: lib: add fast path for find_next_*_bit()
Similarly to bitmap functions, find_next_*_bit() users will benefit if
we'll handle a case of bitmaps that fit into a single word inline. In the
very best case, the compiler may replace a function call with a few
instructions.
This is the quite typical find_next_bit() user:
unsigned int cpumask_next(int n, const struct cpumask *srcp)
{
/* -1 is a legal arg here. */
if (n != -1)
cpumask_check(n);
return find_next_bit(cpumask_bits(srcp), nr_cpumask_bits, n + 1);
}
EXPORT_SYMBOL(cpumask_next);
Currently, on ARM64 the generated code looks like this:
0000000000000000 <cpumask_next>:
0: a9bf7bfd stp x29, x30, [sp, #-16]!
4: 11000402 add w2, w0, #0x1
8: aa0103e0 mov x0, x1
c: d2800401 mov x1, #0x40 // #64
10: 910003fd mov x29, sp
14: 93407c42 sxtw x2, w2
18: 94000000 bl 0 <find_next_bit>
1c: a8c17bfd ldp x29, x30, [sp], #16
20: d65f03c0 ret
24: d503201f nop
After applying this patch:
0000000000000140 <cpumask_next>:
140: 11000400 add w0, w0, #0x1
144: 93407c00 sxtw x0, w0
148: f100fc1f cmp x0, #0x3f
14c: 54000168 b.hi 178 <cpumask_next+0x38> // b.pmore
150: f9400023 ldr x3, [x1]
154: 92800001 mov x1, #0xffffffffffffffff // #-1
158: 9ac02020 lsl x0, x1, x0
15c: 52800802 mov w2, #0x40 // #64
160: 8a030001 and x1, x0, x3
164: dac00020 rbit x0, x1
168: f100003f cmp x1, #0x0
16c: dac01000 clz x0, x0
170: 1a800040 csel w0, w2, w0, eq // eq = none
174: d65f03c0 ret
178: 52800800 mov w0, #0x40 // #64
17c: d65f03c0 ret
find_next_bit() call is replaced with 6 instructions. find_next_bit()
itself is 41 instructions plus function call overhead.
Despite inlining, the scripts/bloat-o-meter report smaller .text size
after applying the series:
add/remove: 11/9 grow/shrink: 233/176 up/down: 5780/-6768 (-988)
Link: https://lkml.kernel.org/r/20210401003153.97325-10-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/asm-generic/bitops/find.h | 30 ++++++++++++++++++++++++++++
include/asm-generic/bitops/le.h | 21 +++++++++++++++++++
2 files changed, 51 insertions(+)
--- a/include/asm-generic/bitops/find.h~lib-add-fast-path-for-find_next__bit
+++ a/include/asm-generic/bitops/find.h
@@ -20,6 +20,16 @@ static inline
unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr & GENMASK(size - 1, offset);
+ return val ? __ffs(val) : size;
+ }
+
return _find_next_bit(addr, NULL, size, offset, 0UL, 0);
}
#endif
@@ -40,6 +50,16 @@ unsigned long find_next_and_bit(const un
const unsigned long *addr2, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr1 & *addr2 & GENMASK(size - 1, offset);
+ return val ? __ffs(val) : size;
+ }
+
return _find_next_bit(addr1, addr2, size, offset, 0UL, 0);
}
#endif
@@ -58,6 +78,16 @@ static inline
unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr | ~GENMASK(size - 1, offset);
+ return val == ~0UL ? size : ffz(val);
+ }
+
return _find_next_bit(addr, NULL, size, offset, ~0UL, 0);
}
#endif
--- a/include/asm-generic/bitops/le.h~lib-add-fast-path-for-find_next__bit
+++ a/include/asm-generic/bitops/le.h
@@ -5,6 +5,7 @@
#include <asm-generic/bitops/find.h>
#include <asm/types.h>
#include <asm/byteorder.h>
+#include <linux/swab.h>
#if defined(__LITTLE_ENDIAN)
@@ -37,6 +38,16 @@ static inline
unsigned long find_next_zero_bit_le(const void *addr, unsigned
long size, unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val = *(const unsigned long *)addr;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = swab(val) | ~GENMASK(size - 1, offset);
+ return val == ~0UL ? size : ffz(val);
+ }
+
return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
}
#endif
@@ -46,6 +57,16 @@ static inline
unsigned long find_next_bit_le(const void *addr, unsigned
long size, unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val = *(const unsigned long *)addr;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = swab(val) & GENMASK(size - 1, offset);
+ return val ? __ffs(val) : size;
+ }
+
return _find_next_bit(addr, NULL, size, offset, 0UL, 1);
}
#endif
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 23/91] lib: add fast path for find_first_*_bit() and find_last_bit()
2021-05-07 1:01 incoming Andrew Morton
` (21 preceding siblings ...)
2021-05-07 1:03 ` [patch 22/91] lib: add fast path for find_next_*_bit() Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 24/91] tools: sync lib/find_bit implementation Andrew Morton
` (68 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: lib: add fast path for find_first_*_bit() and find_last_bit()
Similarly to bitmap functions, users would benefit if we'll handle a case
of small-size bitmaps that fit into a single word.
While here, move the find_last_bit() declaration to bitops/find.h where
other find_*_bit() functions sit.
Link: https://lkml.kernel.org/r/20210401003153.97325-11-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/asm-generic/bitops/find.h | 50 +++++++++++++++++++++++++---
include/linux/bitops.h | 12 ------
lib/find_bit.c | 12 +++---
3 files changed, 52 insertions(+), 22 deletions(-)
--- a/include/asm-generic/bitops/find.h~lib-add-fast-path-for-find_first__bit-and-find_last_bit
+++ a/include/asm-generic/bitops/find.h
@@ -5,6 +5,9 @@
extern unsigned long _find_next_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long nbits,
unsigned long start, unsigned long invert, unsigned long le);
+extern unsigned long _find_first_bit(const unsigned long *addr, unsigned long size);
+extern unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size);
+extern unsigned long _find_last_bit(const unsigned long *addr, unsigned long size);
#ifndef find_next_bit
/**
@@ -102,8 +105,17 @@ unsigned long find_next_zero_bit(const u
* Returns the bit number of the first set bit.
* If no bits are set, returns @size.
*/
-extern unsigned long find_first_bit(const unsigned long *addr,
- unsigned long size);
+static inline
+unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+{
+ if (small_const_nbits(size)) {
+ unsigned long val = *addr & GENMASK(size - 1, 0);
+
+ return val ? __ffs(val) : size;
+ }
+
+ return _find_first_bit(addr, size);
+}
/**
* find_first_zero_bit - find the first cleared bit in a memory region
@@ -113,8 +125,17 @@ extern unsigned long find_first_bit(cons
* Returns the bit number of the first cleared bit.
* If no bits are zero, returns @size.
*/
-extern unsigned long find_first_zero_bit(const unsigned long *addr,
- unsigned long size);
+static inline
+unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+{
+ if (small_const_nbits(size)) {
+ unsigned long val = *addr | ~GENMASK(size - 1, 0);
+
+ return val == ~0UL ? size : ffz(val);
+ }
+
+ return _find_first_zero_bit(addr, size);
+}
#else /* CONFIG_GENERIC_FIND_FIRST_BIT */
#ifndef find_first_bit
@@ -126,6 +147,27 @@ extern unsigned long find_first_zero_bit
#endif /* CONFIG_GENERIC_FIND_FIRST_BIT */
+#ifndef find_last_bit
+/**
+ * find_last_bit - find the last set bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The number of bits to search
+ *
+ * Returns the bit number of the last set bit, or size.
+ */
+static inline
+unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
+{
+ if (small_const_nbits(size)) {
+ unsigned long val = *addr & GENMASK(size - 1, 0);
+
+ return val ? __fls(val) : size;
+ }
+
+ return _find_last_bit(addr, size);
+}
+#endif
+
/**
* find_next_clump8 - find next 8-bit clump with set bits in a memory region
* @clump: location to store copy of found clump
--- a/include/linux/bitops.h~lib-add-fast-path-for-find_first__bit-and-find_last_bit
+++ a/include/linux/bitops.h
@@ -286,17 +286,5 @@ static __always_inline void __assign_bit
})
#endif
-#ifndef find_last_bit
-/**
- * find_last_bit - find the last set bit in a memory region
- * @addr: The address to start the search at
- * @size: The number of bits to search
- *
- * Returns the bit number of the last set bit, or size.
- */
-extern unsigned long find_last_bit(const unsigned long *addr,
- unsigned long size);
-#endif
-
#endif /* __KERNEL__ */
#endif
--- a/lib/find_bit.c~lib-add-fast-path-for-find_first__bit-and-find_last_bit
+++ a/lib/find_bit.c
@@ -75,7 +75,7 @@ EXPORT_SYMBOL(_find_next_bit);
/*
* Find the first set bit in a memory region.
*/
-unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+unsigned long _find_first_bit(const unsigned long *addr, unsigned long size)
{
unsigned long idx;
@@ -86,14 +86,14 @@ unsigned long find_first_bit(const unsig
return size;
}
-EXPORT_SYMBOL(find_first_bit);
+EXPORT_SYMBOL(_find_first_bit);
#endif
#ifndef find_first_zero_bit
/*
* Find the first cleared bit in a memory region.
*/
-unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size)
{
unsigned long idx;
@@ -104,11 +104,11 @@ unsigned long find_first_zero_bit(const
return size;
}
-EXPORT_SYMBOL(find_first_zero_bit);
+EXPORT_SYMBOL(_find_first_zero_bit);
#endif
#ifndef find_last_bit
-unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
+unsigned long _find_last_bit(const unsigned long *addr, unsigned long size)
{
if (size) {
unsigned long val = BITMAP_LAST_WORD_MASK(size);
@@ -124,7 +124,7 @@ unsigned long find_last_bit(const unsign
}
return size;
}
-EXPORT_SYMBOL(find_last_bit);
+EXPORT_SYMBOL(_find_last_bit);
#endif
unsigned long find_next_clump8(unsigned long *clump, const unsigned long *addr,
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 24/91] tools: sync lib/find_bit implementation
2021-05-07 1:01 incoming Andrew Morton
` (22 preceding siblings ...)
2021-05-07 1:03 ` [patch 23/91] lib: add fast path for find_first_*_bit() and find_last_bit() Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 25/91] MAINTAINERS: add entry for the bitmap API Andrew Morton
` (67 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: tools: sync lib/find_bit implementation
Add fast paths to find_*_bit() functions as per kernel implementation.
Link: https://lkml.kernel.org/r/20210401003153.97325-12-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/include/asm-generic/bitops/find.h | 58 ++++++++++++++++++++--
tools/lib/find_bit.c | 4 -
2 files changed, 57 insertions(+), 5 deletions(-)
--- a/tools/include/asm-generic/bitops/find.h~tools-sync-lib-find_bit-implementation
+++ a/tools/include/asm-generic/bitops/find.h
@@ -5,6 +5,9 @@
extern unsigned long _find_next_bit(const unsigned long *addr1,
const unsigned long *addr2, unsigned long nbits,
unsigned long start, unsigned long invert, unsigned long le);
+extern unsigned long _find_first_bit(const unsigned long *addr, unsigned long size);
+extern unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size);
+extern unsigned long _find_last_bit(const unsigned long *addr, unsigned long size);
#ifndef find_next_bit
/**
@@ -20,6 +23,16 @@ static inline
unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr & GENMASK(size - 1, offset);
+ return val ? __ffs(val) : size;
+ }
+
return _find_next_bit(addr, NULL, size, offset, 0UL, 0);
}
#endif
@@ -40,6 +53,16 @@ unsigned long find_next_and_bit(const un
const unsigned long *addr2, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr1 & *addr2 & GENMASK(size - 1, offset);
+ return val ? __ffs(val) : size;
+ }
+
return _find_next_bit(addr1, addr2, size, offset, 0UL, 0);
}
#endif
@@ -58,6 +81,16 @@ static inline
unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
unsigned long offset)
{
+ if (small_const_nbits(size)) {
+ unsigned long val;
+
+ if (unlikely(offset >= size))
+ return size;
+
+ val = *addr | ~GENMASK(size - 1, offset);
+ return val == ~0UL ? size : ffz(val);
+ }
+
return _find_next_bit(addr, NULL, size, offset, ~0UL, 0);
}
#endif
@@ -72,8 +105,17 @@ unsigned long find_next_zero_bit(const u
* Returns the bit number of the first set bit.
* If no bits are set, returns @size.
*/
-extern unsigned long find_first_bit(const unsigned long *addr,
- unsigned long size);
+static inline
+unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+{
+ if (small_const_nbits(size)) {
+ unsigned long val = *addr & GENMASK(size - 1, 0);
+
+ return val ? __ffs(val) : size;
+ }
+
+ return _find_first_bit(addr, size);
+}
#endif /* find_first_bit */
@@ -87,7 +129,17 @@ extern unsigned long find_first_bit(cons
* Returns the bit number of the first cleared bit.
* If no bits are zero, returns @size.
*/
-unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size);
+static inline
+unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+{
+ if (small_const_nbits(size)) {
+ unsigned long val = *addr | ~GENMASK(size - 1, 0);
+
+ return val == ~0UL ? size : ffz(val);
+ }
+
+ return _find_first_zero_bit(addr, size);
+}
#endif
#endif /*_TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_ */
--- a/tools/lib/find_bit.c~tools-sync-lib-find_bit-implementation
+++ a/tools/lib/find_bit.c
@@ -83,7 +83,7 @@ unsigned long _find_next_bit(const unsig
/*
* Find the first set bit in a memory region.
*/
-unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+unsigned long _find_first_bit(const unsigned long *addr, unsigned long size)
{
unsigned long idx;
@@ -100,7 +100,7 @@ unsigned long find_first_bit(const unsig
/*
* Find the first cleared bit in a memory region.
*/
-unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size)
{
unsigned long idx;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 25/91] MAINTAINERS: add entry for the bitmap API
2021-05-07 1:01 incoming Andrew Morton
` (23 preceding siblings ...)
2021-05-07 1:03 ` [patch 24/91] tools: sync lib/find_bit implementation Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 26/91] lib/bch.c: fix a typo in the file bch.c Andrew Morton
` (66 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: aklimov, akpm, andriy.shevchenko, arnd, dalias, dennis, dsterba,
geert, glaubitz, jianpeng.ma, joe, jpoimboe, linux-mm, linux,
mm-commits, richard.weiyang, sbrivio, torvalds, wsa+renesas,
ysato, yury.norov
From: Yury Norov <yury.norov@gmail.com>
Subject: MAINTAINERS: add entry for the bitmap API
Add myself as maintainer for bitmap API and Andy and Rasmus as reviewers.
Link: https://lkml.kernel.org/r/20210401003153.97325-13-yury.norov@gmail.com
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Alexey Klimov <aklimov@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Sterba <dsterba@suse.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jianpeng Ma <jianpeng.ma@intel.com>
Cc: Joe Perches <joe@perches.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Stefano Brivio <sbrivio@redhat.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
MAINTAINERS | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
--- a/MAINTAINERS~maintainers-add-entry-for-the-bitmap-api
+++ a/MAINTAINERS
@@ -3205,6 +3205,22 @@ F: Documentation/filesystems/bfs.rst
F: fs/bfs/
F: include/uapi/linux/bfs_fs.h
+BITMAP API
+M: Yury Norov <yury.norov@gmail.com>
+R: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+R: Rasmus Villemoes <linux@rasmusvillemoes.dk>
+S: Maintained
+F: include/asm-generic/bitops/find.h
+F: include/linux/bitmap.h
+F: lib/bitmap.c
+F: lib/find_bit.c
+F: lib/find_bit_benchmark.c
+F: lib/test_bitmap.c
+F: tools/include/asm-generic/bitops/find.h
+F: tools/include/linux/bitmap.h
+F: tools/lib/bitmap.c
+F: tools/lib/find_bit.c
+
BLINKM RGB LED DRIVER
M: Jan-Simon Moeller <jansimon.moeller@gmx.de>
S: Maintained
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 26/91] lib/bch.c: fix a typo in the file bch.c
2021-05-07 1:01 incoming Andrew Morton
` (24 preceding siblings ...)
2021-05-07 1:03 ` [patch 25/91] MAINTAINERS: add entry for the bitmap API Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 27/91] lib: fix inconsistent indenting in process_bit1() Andrew Morton
` (65 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, rdunlap, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: lib/bch.c: fix a typo in the file bch.c
s/buid/build/
Link: https://lkml.kernel.org/r/20210301123129.18754-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/bch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/lib/bch.c~lib-fix-a-typo-in-the-file-bchc
+++ a/lib/bch.c
@@ -584,7 +584,7 @@ static int find_affine4_roots(struct bch
k = a_log(bch, a);
rows[0] = c;
- /* buid linear system to solve X^4+aX^2+bX+c = 0 */
+ /* build linear system to solve X^4+aX^2+bX+c = 0 */
for (i = 0; i < m; i++) {
rows[i+1] = bch->a_pow_tab[4*i]^
(a ? bch->a_pow_tab[mod_s(bch, k)] : 0)^
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 27/91] lib: fix inconsistent indenting in process_bit1()
2021-05-07 1:01 incoming Andrew Morton
` (25 preceding siblings ...)
2021-05-07 1:03 ` [patch 26/91] lib/bch.c: fix a typo in the file bch.c Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 28/91] lib/list_sort.c: fix typo in function description Andrew Morton
` (64 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, wangqing
From: Wang Qing <wangqing@vivo.com>
Subject: lib: fix inconsistent indenting in process_bit1()
Smatch gives the warning:
lib/decompress_unlzma.c:395 process_bit1() warn: inconsistent indenting
Link: https://lkml.kernel.org/r/1614567775-4478-1-git-send-email-wangqing@vivo.com
Signed-off-by: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/decompress_unlzma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/lib/decompress_unlzma.c~lib-fix-inconsistent-indenting-in-process_bit1
+++ a/lib/decompress_unlzma.c
@@ -391,7 +391,7 @@ static inline int INIT process_bit0(stru
static inline int INIT process_bit1(struct writer *wr, struct rc *rc,
struct cstate *cst, uint16_t *p,
int pos_state, uint16_t *prob) {
- int offset;
+ int offset;
uint16_t *prob_len;
int num_bits;
int len;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 28/91] lib/list_sort.c: fix typo in function description
2021-05-07 1:01 incoming Andrew Morton
` (26 preceding siblings ...)
2021-05-07 1:03 ` [patch 27/91] lib: fix inconsistent indenting in process_bit1() Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 29/91] lib/genalloc.c: fix a typo Andrew Morton
` (63 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, mrtoastcheng, torvalds
From: ToastC <mrtoastcheng@gmail.com>
Subject: lib/list_sort.c: fix typo in function description
Replace beautiully with beautifully
Link: https://lkml.kernel.org/r/20210315090633.9759-1-mrtoastcheng@gmail.com
Signed-off-by: ShihCheng Tu <mrtoastcheng@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/list_sort.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/lib/list_sort.c~lib-fix-typo-in-function-description
+++ a/lib/list_sort.c
@@ -137,7 +137,7 @@ static void merge_final(void *priv, list
*
*
* The merging is controlled by "count", the number of elements in the
- * pending lists. This is beautiully simple code, but rather subtle.
+ * pending lists. This is beautifully simple code, but rather subtle.
*
* Each time we increment "count", we set one bit (bit k) and clear
* bits k-1 .. 0. Each time this happens (except the very first time
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 29/91] lib/genalloc.c: fix a typo
2021-05-07 1:01 incoming Andrew Morton
` (27 preceding siblings ...)
2021-05-07 1:03 ` [patch 28/91] lib/list_sort.c: fix typo in function description Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 30/91] lib: crc8: pointer to data block should be const Andrew Morton
` (62 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: lib/genalloc.c: Fix a typo
s/macthing/matching/
Link: https://lkml.kernel.org/r/20210326131530.30481-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/genalloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/lib/genalloc.c~lib-genallocc-fix-a-typo
+++ a/lib/genalloc.c
@@ -735,7 +735,7 @@ EXPORT_SYMBOL(gen_pool_first_fit_order_a
/**
* gen_pool_best_fit - find the best fitting region of memory
- * macthing the size requirement (no alignment constraint)
+ * matching the size requirement (no alignment constraint)
* @map: The address to base the search on
* @size: The bitmap size in bits
* @start: The bitnumber to start searching at
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 30/91] lib: crc8: pointer to data block should be const
2021-05-07 1:01 incoming Andrew Morton
` (28 preceding siblings ...)
2021-05-07 1:03 ` [patch 29/91] lib/genalloc.c: fix a typo Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 31/91] lib: stackdepot: turn depot_lock spinlock to raw_spinlock Andrew Morton
` (61 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, rdunlap, rf, torvalds
From: Richard Fitzgerald <rf@opensource.cirrus.com>
Subject: lib: crc8: pointer to data block should be const
crc8() does not change the data passed to it, so the pointer argument
should be declared const. This avoids callers that receive const data
having to cast it to a non-const pointer to call crc8().
Link: https://lkml.kernel.org/r/20210329122409.3291-1-rf@opensource.cirrus.com
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/crc8.h | 2 +-
lib/crc8.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/include/linux/crc8.h~lib-crc8-pointer-to-data-block-should-be-const
+++ a/include/linux/crc8.h
@@ -96,6 +96,6 @@ void crc8_populate_msb(u8 table[CRC8_TAB
* Williams, Ross N., ross<at>ross.net
* (see URL http://www.ross.net/crc/download/crc_v3.txt).
*/
-u8 crc8(const u8 table[CRC8_TABLE_SIZE], u8 *pdata, size_t nbytes, u8 crc);
+u8 crc8(const u8 table[CRC8_TABLE_SIZE], const u8 *pdata, size_t nbytes, u8 crc);
#endif /* __CRC8_H_ */
--- a/lib/crc8.c~lib-crc8-pointer-to-data-block-should-be-const
+++ a/lib/crc8.c
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(crc8_populate_lsb);
* @nbytes: number of bytes in data buffer.
* @crc: previous returned crc8 value.
*/
-u8 crc8(const u8 table[CRC8_TABLE_SIZE], u8 *pdata, size_t nbytes, u8 crc)
+u8 crc8(const u8 table[CRC8_TABLE_SIZE], const u8 *pdata, size_t nbytes, u8 crc)
{
/* loop over the buffer data */
while (nbytes-- > 0)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 31/91] lib: stackdepot: turn depot_lock spinlock to raw_spinlock
2021-05-07 1:01 incoming Andrew Morton
` (29 preceding siblings ...)
2021-05-07 1:03 ` [patch 30/91] lib: crc8: pointer to data block should be const Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 32/91] lib/percpu_counter: tame kernel-doc compile warning Andrew Morton
` (60 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: ahalaney, akpm, glider, gustavoars, linux-mm, mm-commits,
qiang.zhang, torvalds, vinmenon, vjitta, ylal
From: Zqiang <qiang.zhang@windriver.com>
Subject: lib: stackdepot: turn depot_lock spinlock to raw_spinlock
[ 2.670635] BUG: sleeping function called from invalid context
at kernel/locking/rtmutex.c:951
[ 2.670638] in_atomic(): 0, irqs_disabled(): 1, non_block: 0,
pid: 19, name: pgdatinit0
[ 2.670768] Call Trace:
[ 2.670800] dump_stack+0x93/0xc2
[ 2.670826] ___might_sleep.cold+0x1b2/0x1f1
[ 2.670838] rt_spin_lock+0x3b/0xb0
[ 2.670838] stack_depot_save+0x1b9/0x440
[ 2.670838] kasan_save_stack+0x32/0x40
[ 2.670838] kasan_record_aux_stack+0xa5/0xb0
[ 2.670838] __call_rcu+0x117/0x880
[ 2.670838] __exit_signal+0xafb/0x1180
[ 2.670838] release_task+0x1d6/0x480
[ 2.670838] exit_notify+0x303/0x750
[ 2.670838] do_exit+0x678/0xcf0
[ 2.670838] kthread+0x364/0x4f0
[ 2.670838] ret_from_fork+0x22/0x30
In RT system, the spin_lock will be replaced by sleepable rt_mutex lock,
in __call_rcu(), disable interrupts before calling
kasan_record_aux_stack(), will trigger above calltrace, replace spinlock
with raw_spinlock.
Link: https://lkml.kernel.org/r/20210329084009.27013-1-qiang.zhang@windriver.com
Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Reported-by: Andrew Halaney <ahalaney@redhat.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Vijayanand Jitta <vjitta@codeaurora.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: Yogesh Lal <ylal@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/stackdepot.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/lib/stackdepot.c~lib-stackdepot-turn-depot_lock-spinlock-to-raw_spinlock
+++ a/lib/stackdepot.c
@@ -71,7 +71,7 @@ static void *stack_slabs[STACK_ALLOC_MAX
static int depot_index;
static int next_slab_inited;
static size_t depot_offset;
-static DEFINE_SPINLOCK(depot_lock);
+static DEFINE_RAW_SPINLOCK(depot_lock);
static bool init_stack_slab(void **prealloc)
{
@@ -305,7 +305,7 @@ depot_stack_handle_t stack_depot_save(un
prealloc = page_address(page);
}
- spin_lock_irqsave(&depot_lock, flags);
+ raw_spin_lock_irqsave(&depot_lock, flags);
found = find_stack(*bucket, entries, nr_entries, hash);
if (!found) {
@@ -329,7 +329,7 @@ depot_stack_handle_t stack_depot_save(un
WARN_ON(!init_stack_slab(&prealloc));
}
- spin_unlock_irqrestore(&depot_lock, flags);
+ raw_spin_unlock_irqrestore(&depot_lock, flags);
exit:
if (prealloc) {
/* Nobody used this memory, ok to free it. */
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 32/91] lib/percpu_counter: tame kernel-doc compile warning
2021-05-07 1:01 incoming Andrew Morton
` (30 preceding siblings ...)
2021-05-07 1:03 ` [patch 31/91] lib: stackdepot: turn depot_lock spinlock to raw_spinlock Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 33/91] lib/genalloc: add parameter description to fix doc " Andrew Morton
` (59 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, alexs, linux-mm, mm-commits, nborisov, swboyd, torvalds
From: Alex Shi <alexs@kernel.org>
Subject: lib/percpu_counter: tame kernel-doc compile warning
commit 3e8f399da490 ("writeback: rework wb_[dec|inc]_stat family of
functions") add some function description of percpu_counter_add_batch.
but the double '*' in comments means a kernel-doc format comment which
isn't right.
Since the whole file of lib/percpu_counter.c has no any other kernel-doc
format comments, we'd better to remove this incomplete one to tame the
kernel-doc warning:
lib/percpu_counter.c:83: warning: Function parameter or member 'fbc' not described in 'percpu_counter_add_batch'
lib/percpu_counter.c:83: warning: Function parameter or member 'amount' not described in 'percpu_counter_add_batch'
lib/percpu_counter.c:83: warning: Function parameter or member 'batch' not described in 'percpu_counter_add_batch'
Link: https://lkml.kernel.org/r/20210405135505.132446-1-alexs@kernel.org
Signed-off-by: Alex Shi <alexs@kernel.org>
Cc: Nikolay Borisov <nborisov@suse.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/percpu_counter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/lib/percpu_counter.c~lib-percpu_counter-tame-kernel-doc-compile-warning
+++ a/lib/percpu_counter.c
@@ -72,7 +72,7 @@ void percpu_counter_set(struct percpu_co
}
EXPORT_SYMBOL(percpu_counter_set);
-/**
+/*
* This function is both preempt and irq safe. The former is due to explicit
* preemption disable. The latter is guaranteed by the fact that the slow path
* is explicitly protected by an irq-safe spinlock whereas the fast patch uses
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 33/91] lib/genalloc: add parameter description to fix doc compile warning
2021-05-07 1:01 incoming Andrew Morton
` (31 preceding siblings ...)
2021-05-07 1:03 ` [patch 32/91] lib/percpu_counter: tame kernel-doc compile warning Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 34/91] lib: parser: clean up kernel-doc Andrew Morton
` (58 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, alexey.skidanov, alexs, linux-mm, mm-commits, sfr, sjhuang,
torvalds, unixbhaskar
From: Alex Shi <alexs@kernel.org>
Subject: lib/genalloc: add parameter description to fix doc compile warning
commit 52fbf1134d47 ("lib/genalloc.c: fix allocation of aligned buffer
from non-aligned chunk") add a new parameter 'start_addr' w/o
description for it. That cause some doc compile warning:
lib/genalloc.c:649: warning: Function parameter or member 'start_addr' not described in 'gen_pool_first_fit'
lib/genalloc.c:667: warning: Function parameter or member 'start_addr' not described in 'gen_pool_first_fit_align'
lib/genalloc.c:694: warning: Function parameter or member 'start_addr' not described in 'gen_pool_fixed_alloc'
lib/genalloc.c:729: warning: Function parameter or member 'start_addr' not described in 'gen_pool_first_fit_order_align'
lib/genalloc.c:752: warning: Function parameter or member 'start_addr' not described in 'gen_pool_best_fit'
This patch fix this by adding parameter descriptions.
Link: https://lkml.kernel.org/r/20210405132021.131231-1-alexs@kernel.org
Signed-off-by: Alex Shi <alexs@kernel.org>
Cc: Alexey Skidanov <alexey.skidanov@intel.com>
Cc: Huang Shijie <sjhuang@iluvatar.ai>
Cc: Alex Shi <alexs@kernel.org>
Cc: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/genalloc.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/lib/genalloc.c~lib-genalloc-add-parameter-description-to-fix-doc-compile-warning
+++ a/lib/genalloc.c
@@ -642,6 +642,7 @@ EXPORT_SYMBOL(gen_pool_set_algo);
* @nr: The number of zeroed bits we're looking for
* @data: additional data - unused
* @pool: pool to find the fit region memory from
+ * @start_addr: not used in this function
*/
unsigned long gen_pool_first_fit(unsigned long *map, unsigned long size,
unsigned long start, unsigned int nr, void *data,
@@ -660,6 +661,7 @@ EXPORT_SYMBOL(gen_pool_first_fit);
* @nr: The number of zeroed bits we're looking for
* @data: data for alignment
* @pool: pool to get order from
+ * @start_addr: start addr of alloction chunk
*/
unsigned long gen_pool_first_fit_align(unsigned long *map, unsigned long size,
unsigned long start, unsigned int nr, void *data,
@@ -687,6 +689,7 @@ EXPORT_SYMBOL(gen_pool_first_fit_align);
* @nr: The number of zeroed bits we're looking for
* @data: data for alignment
* @pool: pool to get order from
+ * @start_addr: not used in this function
*/
unsigned long gen_pool_fixed_alloc(unsigned long *map, unsigned long size,
unsigned long start, unsigned int nr, void *data,
@@ -721,6 +724,7 @@ EXPORT_SYMBOL(gen_pool_fixed_alloc);
* @nr: The number of zeroed bits we're looking for
* @data: additional data - unused
* @pool: pool to find the fit region memory from
+ * @start_addr: not used in this function
*/
unsigned long gen_pool_first_fit_order_align(unsigned long *map,
unsigned long size, unsigned long start,
@@ -742,6 +746,7 @@ EXPORT_SYMBOL(gen_pool_first_fit_order_a
* @nr: The number of zeroed bits we're looking for
* @data: additional data - unused
* @pool: pool to find the fit region memory from
+ * @start_addr: not used in this function
*
* Iterate over the bitmap to find the smallest free region
* which we can allocate the memory.
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 34/91] lib: parser: clean up kernel-doc
2021-05-07 1:01 incoming Andrew Morton
` (32 preceding siblings ...)
2021-05-07 1:03 ` [patch 33/91] lib/genalloc: add parameter description to fix doc " Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 35/91] include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx() Andrew Morton
` (57 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, dhowells, linux-mm, mm-commits, rdunlap, torvalds, viro
From: Randy Dunlap <rdunlap@infradead.org>
Subject: lib: parser: clean up kernel-doc
Mark match_uint() as kernel-doc notation since it is already fully
annotated as such. Use % prefix on constants in kernel-doc comments.
Convert function return descriptions to use the "Return:" kernel-doc
notation.
Link: https://lkml.kernel.org/r/20210407034514.5651-1-rdunlap@infradead.org
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/parser.c | 61 ++++++++++++++++++++++++++++++-------------------
1 file changed, 38 insertions(+), 23 deletions(-)
--- a/lib/parser.c~lib-parser-clean-up-kernel-doc
+++ a/lib/parser.c
@@ -98,7 +98,7 @@ static int match_one(char *s, const char
* locations.
*
* Description: Detects which if any of a set of token strings has been passed
- * to it. Tokens can include up to MAX_OPT_ARGS instances of basic c-style
+ * to it. Tokens can include up to %MAX_OPT_ARGS instances of basic c-style
* format identifiers which will be taken into account when matching the
* tokens, and whose locations will be returned in the @args array.
*/
@@ -120,8 +120,10 @@ EXPORT_SYMBOL(match_token);
* @base: base to use when converting string
*
* Description: Given a &substring_t and a base, attempts to parse the substring
- * as a number in that base. On success, sets @result to the integer represented
- * by the string and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * as a number in that base.
+ *
+ * Return: On success, sets @result to the integer represented by the
+ * string and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
static int match_number(substring_t *s, int *result, int base)
{
@@ -153,8 +155,10 @@ static int match_number(substring_t *s,
* @base: base to use when converting string
*
* Description: Given a &substring_t and a base, attempts to parse the substring
- * as a number in that base. On success, sets @result to the integer represented
- * by the string and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * as a number in that base.
+ *
+ * Return: On success, sets @result to the integer represented by the
+ * string and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
static int match_u64int(substring_t *s, u64 *result, int base)
{
@@ -178,9 +182,10 @@ static int match_u64int(substring_t *s,
* @s: substring_t to be scanned
* @result: resulting integer on success
*
- * Description: Attempts to parse the &substring_t @s as a decimal integer. On
- * success, sets @result to the integer represented by the string and returns 0.
- * Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * Description: Attempts to parse the &substring_t @s as a decimal integer.
+ *
+ * Return: On success, sets @result to the integer represented by the string
+ * and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_int(substring_t *s, int *result)
{
@@ -188,14 +193,15 @@ int match_int(substring_t *s, int *resul
}
EXPORT_SYMBOL(match_int);
-/*
+/**
* match_uint - scan a decimal representation of an integer from a substring_t
* @s: substring_t to be scanned
* @result: resulting integer on success
*
- * Description: Attempts to parse the &substring_t @s as a decimal integer. On
- * success, sets @result to the integer represented by the string and returns 0.
- * Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * Description: Attempts to parse the &substring_t @s as a decimal integer.
+ *
+ * Return: On success, sets @result to the integer represented by the string
+ * and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_uint(substring_t *s, unsigned int *result)
{
@@ -217,9 +223,10 @@ EXPORT_SYMBOL(match_uint);
* @result: resulting unsigned long long on success
*
* Description: Attempts to parse the &substring_t @s as a long decimal
- * integer. On success, sets @result to the integer represented by the
- * string and returns 0.
- * Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * integer.
+ *
+ * Return: On success, sets @result to the integer represented by the string
+ * and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_u64(substring_t *s, u64 *result)
{
@@ -232,9 +239,10 @@ EXPORT_SYMBOL(match_u64);
* @s: substring_t to be scanned
* @result: resulting integer on success
*
- * Description: Attempts to parse the &substring_t @s as an octal integer. On
- * success, sets @result to the integer represented by the string and returns
- * 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ * Description: Attempts to parse the &substring_t @s as an octal integer.
+ *
+ * Return: On success, sets @result to the integer represented by the string
+ * and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_octal(substring_t *s, int *result)
{
@@ -248,8 +256,9 @@ EXPORT_SYMBOL(match_octal);
* @result: resulting integer on success
*
* Description: Attempts to parse the &substring_t @s as a hexadecimal integer.
- * On success, sets @result to the integer represented by the string and
- * returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
+ *
+ * Return: On success, sets @result to the integer represented by the string
+ * and returns 0. Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_hex(substring_t *s, int *result)
{
@@ -263,10 +272,11 @@ EXPORT_SYMBOL(match_hex);
* @str: the string to be parsed
*
* Description: Parse the string @str to check if matches wildcard
- * pattern @pattern. The pattern may contain two type wildcardes:
+ * pattern @pattern. The pattern may contain two types of wildcards:
* '*' - matches zero or more characters
* '?' - matches one character
- * If it's matched, return true, else return false.
+ *
+ * Return: If the @str matches the @pattern, return true, else return false.
*/
bool match_wildcard(const char *pattern, const char *str)
{
@@ -316,7 +326,9 @@ EXPORT_SYMBOL(match_wildcard);
*
* Description: Copy the characters in &substring_t @src to the
* c-style string @dest. Copy no more than @size - 1 characters, plus
- * the terminating NUL. Return length of @src.
+ * the terminating NUL.
+ *
+ * Return: length of @src.
*/
size_t match_strlcpy(char *dest, const substring_t *src, size_t size)
{
@@ -338,6 +350,9 @@ EXPORT_SYMBOL(match_strlcpy);
* Description: Allocates and returns a string filled with the contents of
* the &substring_t @s. The caller is responsible for freeing the returned
* string with kfree().
+ *
+ * Return: the address of the newly allocated NUL-terminated string or
+ * %NULL on error.
*/
char *match_strdup(const substring_t *s)
{
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 35/91] include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx()
2021-05-07 1:01 incoming Andrew Morton
` (33 preceding siblings ...)
2021-05-07 1:03 ` [patch 34/91] lib: parser: clean up kernel-doc Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 36/91] checkpatch: warn when missing newline in return sysfs_emit() formats Andrew Morton
` (56 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, linux-mm, masahiroy, mm-commits, torvalds
From: Masahiro Yamada <masahiroy@kernel.org>
Subject: include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx()
compat_sys##name is declared twice, just one line below.
With this removal SYSCALL_DEFINEx() (defined in <linux/syscalls.h>)
and COMPAT_SYSCALL_DEFINEx() look symmetrical.
Link: https://lkml.kernel.org/r/20210223114924.854794-1-masahiroy@kernel.org
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/compat.h | 1 -
1 file changed, 1 deletion(-)
--- a/include/linux/compat.h~compat-remove-unneeded-declaration-from-compat_syscall_definex
+++ a/include/linux/compat.h
@@ -75,7 +75,6 @@
__diag_push(); \
__diag_ignore(GCC, 8, "-Wattribute-alias", \
"Type aliasing is used to sanitize syscall arguments");\
- asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
__attribute__((alias(__stringify(__se_compat_sys##name)))); \
ALLOW_ERROR_INJECTION(compat_sys##name, ERRNO); \
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 36/91] checkpatch: warn when missing newline in return sysfs_emit() formats
2021-05-07 1:01 incoming Andrew Morton
` (34 preceding siblings ...)
2021-05-07 1:03 ` [patch 35/91] include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx() Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:03 ` [patch 37/91] checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE Andrew Morton
` (55 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, joe, linux-mm, mm-commits, torvalds
From: Joe Perches <joe@perches.com>
Subject: checkpatch: warn when missing newline in return sysfs_emit() formats
return sysfs_emit() uses should include a newline.
Suggest adding a newline when one is missing.
Add one using --fix too.
Link: https://lkml.kernel.org/r/aa1819fa5faf786573df298e5e2e7d357ba7d4ad.camel@perches.com
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/checkpatch.pl | 11 +++++++++++
1 file changed, 11 insertions(+)
--- a/scripts/checkpatch.pl~checkpatch-warn-when-missing-newline-in-return-sysfs_emit-formats
+++ a/scripts/checkpatch.pl
@@ -7198,6 +7198,17 @@ sub process {
"Using $1 should generally have parentheses around the comparison\n" . $herecurr);
}
+# return sysfs_emit(foo, fmt, ...) fmt without newline
+ if ($line =~ /\breturn\s+sysfs_emit\s*\(\s*$FuncArg\s*,\s*($String)/ &&
+ substr($rawline, $-[6], $+[6] - $-[6]) !~ /\\n"$/) {
+ my $offset = $+[6] - 1;
+ if (WARN("SYSFS_EMIT",
+ "return sysfs_emit(...) formats should include a terminating newline\n" . $herecurr) &&
+ $fix) {
+ substr($fixed[$fixlinenr], $offset, 0) = '\\n';
+ }
+ }
+
# nested likely/unlikely calls
if ($line =~ /\b(?:(?:un)?likely)\s*\(\s*!?\s*(IS_ERR(?:_OR_NULL|_VALUE)?|WARN)/) {
WARN("LIKELY_MISUSE",
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 37/91] checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE
2021-05-07 1:01 incoming Andrew Morton
` (35 preceding siblings ...)
2021-05-07 1:03 ` [patch 36/91] checkpatch: warn when missing newline in return sysfs_emit() formats Andrew Morton
@ 2021-05-07 1:03 ` Andrew Morton
2021-05-07 1:04 ` [patch 38/91] checkpatch: improve ALLOC_ARRAY_ARGS test Andrew Morton
` (54 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:03 UTC (permalink / raw)
To: akpm, joe, linux-mm, mailhol.vincent, mm-commits, torvalds
From: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Subject: checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE
__must_be_array, offsetof, sizeof_field and __stringify are all
preprocessor macros and do not evaluate their arguments. As such, it is
safe not to warn when arguments are being reused in those four
sub-expressions.
Exclude those so that they can pass checkpatch.
Link: https://lkml.kernel.org/r/20210407105042.25380-1-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/scripts/checkpatch.pl~checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse
+++ a/scripts/checkpatch.pl
@@ -5829,7 +5829,7 @@ sub process {
next if ($arg =~ /\.\.\./);
next if ($arg =~ /^type$/i);
my $tmp_stmt = $define_stmt;
- $tmp_stmt =~ s/\b(sizeof|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
+ $tmp_stmt =~ s/\b(__must_be_array|offsetof|sizeof|sizeof_field|__stringify|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g;
$tmp_stmt =~ s/\#+\s*$arg\b//g;
$tmp_stmt =~ s/\b$arg\s*\#\#//g;
my $use_cnt = () = $tmp_stmt =~ /\b$arg\b/g;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 38/91] checkpatch: improve ALLOC_ARRAY_ARGS test
2021-05-07 1:01 incoming Andrew Morton
` (36 preceding siblings ...)
2021-05-07 1:03 ` [patch 37/91] checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 39/91] kselftest: introduce new epoll test case Andrew Morton
` (53 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, christophe.jaillet, joe, linux-mm, mm-commits, torvalds
From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Subject: checkpatch: improve ALLOC_ARRAY_ARGS test
The devm_ variant of 'kcalloc()' and 'kmalloc_array()' are not tested
Add the corresponding check.
Link: https://lkml.kernel.org/r/205fc4847972fb6779abcc8818f39c14d1b45af1.1618595794.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/scripts/checkpatch.pl~checkpatch-improve-alloc_array_args-test
+++ a/scripts/checkpatch.pl
@@ -7006,7 +7006,7 @@ sub process {
}
# check for alloc argument mismatch
- if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) {
+ if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) {
WARN("ALLOC_ARRAY_ARGS",
"$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 39/91] kselftest: introduce new epoll test case
2021-05-07 1:01 incoming Andrew Morton
` (37 preceding siblings ...)
2021-05-07 1:04 ` [patch 38/91] checkpatch: improve ALLOC_ARRAY_ARGS test Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 40/91] fs/epoll: restore waking from ep_done_scan() Andrew Morton
` (52 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, dave, dbueso, jbaron, linux-mm, mm-commits, rpenyaev,
torvalds, viro
From: Davidlohr Bueso <dave@stgolabs.net>
Subject: kselftest: introduce new epoll test case
Patch series "fs/epoll: restore user-visible behavior upon event ready".
This series tries to address a change in user visible behavior, reported
in https://bugzilla.kernel.org/show_bug.cgi?id=208943.
Epoll does not report an event to all the threads running epoll_wait()
on the same epoll descriptor. Unsurprisingly, this was bisected back to
339ddb53d373 (fs/epoll: remove unnecessary wakeups of nested epoll), which
has had various problems in the past, beyond only nested epoll usage.
This patch (of 2):
This incorporates the testcase originally reported in:
https://bugzilla.kernel.org/show_bug.cgi?id=208943
Which ensures an event is reported to all threads blocked on the same
epoll descriptor, otherwise only a single thread will receive the wakeup
once the event become ready.
Link: https://lkml.kernel.org/r/20210405231025.33829-1-dave@stgolabs.net
Link: https://lkml.kernel.org/r/20210405231025.33829-2-dave@stgolabs.net
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Jason Baron <jbaron@akamai.com>
Cc: Roman Penyaev <rpenyaev@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 44 ++++++++++
1 file changed, 44 insertions(+)
--- a/tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c~kselftest-introduce-new-epoll-test-case
+++ a/tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c
@@ -3449,4 +3449,48 @@ TEST(epoll63)
close(sfd[1]);
}
+/*
+ * t0 t1
+ * (ew) \ / (ew)
+ * e0
+ * | (lt)
+ * s0
+ */
+TEST(epoll64)
+{
+ pthread_t waiter[2];
+ struct epoll_event e;
+ struct epoll_mtcontext ctx = { 0 };
+
+ signal(SIGUSR1, signal_handler);
+
+ ASSERT_EQ(socketpair(AF_UNIX, SOCK_STREAM, 0, ctx.sfd), 0);
+
+ ctx.efd[0] = epoll_create(1);
+ ASSERT_GE(ctx.efd[0], 0);
+
+ e.events = EPOLLIN;
+ ASSERT_EQ(epoll_ctl(ctx.efd[0], EPOLL_CTL_ADD, ctx.sfd[0], &e), 0);
+
+ /*
+ * main will act as the emitter once both waiter threads are
+ * blocked and expects to both be awoken upon the ready event.
+ */
+ ctx.main = pthread_self();
+ ASSERT_EQ(pthread_create(&waiter[0], NULL, waiter_entry1a, &ctx), 0);
+ ASSERT_EQ(pthread_create(&waiter[1], NULL, waiter_entry1a, &ctx), 0);
+
+ usleep(100000);
+ ASSERT_EQ(write(ctx.sfd[1], "w", 1), 1);
+
+ ASSERT_EQ(pthread_join(waiter[0], NULL), 0);
+ ASSERT_EQ(pthread_join(waiter[1], NULL), 0);
+
+ EXPECT_EQ(ctx.count, 2);
+
+ close(ctx.efd[0]);
+ close(ctx.sfd[0]);
+ close(ctx.sfd[1]);
+}
+
TEST_HARNESS_MAIN
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 40/91] fs/epoll: restore waking from ep_done_scan()
2021-05-07 1:01 incoming Andrew Morton
` (38 preceding siblings ...)
2021-05-07 1:04 ` [patch 39/91] kselftest: introduce new epoll test case Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 41/91] isofs: fix fall-through warnings for Clang Andrew Morton
` (51 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, dave, dbueso, jbaron, linux-mm, mm-commits, rpenyaev,
stable, torvalds, viro
From: Davidlohr Bueso <dave@stgolabs.net>
Subject: fs/epoll: restore waking from ep_done_scan()
339ddb53d373 (fs/epoll: remove unnecessary wakeups of nested epoll)
changed the userspace visible behavior of exclusive waiters blocked on a
common epoll descriptor upon a single event becoming ready. Previously,
all tasks doing epoll_wait would awake, and now only one is awoken,
potentially causing missed wakeups on applications that rely on this
behavior, such as Apache Qpid.
While the aforementioned commit aims at having only a wakeup single path
in ep_poll_callback (with the exceptions of epoll_ctl cases), we need to
restore the wakeup in what was the old ep_scan_ready_list() such that the
next thread can be awoken, in a cascading style, after the waker's
corresponding ep_send_events().
Link: https://lkml.kernel.org/r/20210405231025.33829-3-dave@stgolabs.net
Fixes: 339ddb53d373 ("fs/epoll: remove unnecessary wakeups of nested epoll")
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Jason Baron <jbaron@akamai.com>
Cc: Roman Penyaev <rpenyaev@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/eventpoll.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/fs/eventpoll.c~fs-epoll-restore-waking-from-ep_done_scan
+++ a/fs/eventpoll.c
@@ -657,6 +657,12 @@ static void ep_done_scan(struct eventpol
*/
list_splice(txlist, &ep->rdllist);
__pm_relax(ep->ws);
+
+ if (!list_empty(&ep->rdllist)) {
+ if (waitqueue_active(&ep->wq))
+ wake_up(&ep->wq);
+ }
+
write_unlock_irq(&ep->lock);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 41/91] isofs: fix fall-through warnings for Clang
2021-05-07 1:01 incoming Andrew Morton
` (39 preceding siblings ...)
2021-05-07 1:04 ` [patch 40/91] fs/epoll: restore waking from ep_done_scan() Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 42/91] fs/nilfs2: fix misspellings using codespell tool Andrew Morton
` (50 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, gustavoars, linux-mm, mm-commits, torvalds
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Subject: isofs: fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
by explicitly adding a break statement instead of just letting the code
fall through to the next case.
Link: https://github.com/KSPP/linux/issues/115
Link: https://lkml.kernel.org/r/5b7caa73958588065fabc59032c340179b409ef5.1605896059.git.gustavoars@kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/isofs/rock.c | 1 +
1 file changed, 1 insertion(+)
--- a/fs/isofs/rock.c~isofs-fix-fall-through-warnings-for-clang
+++ a/fs/isofs/rock.c
@@ -767,6 +767,7 @@ repeat:
rs.cont_extent = isonum_733(rr->u.CE.extent);
rs.cont_offset = isonum_733(rr->u.CE.offset);
rs.cont_size = isonum_733(rr->u.CE.size);
+ break;
default:
break;
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 42/91] fs/nilfs2: fix misspellings using codespell tool
2021-05-07 1:01 incoming Andrew Morton
` (40 preceding siblings ...)
2021-05-07 1:04 ` [patch 41/91] isofs: fix fall-through warnings for Clang Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 43/91] nilfs2: fix typos in comments Andrew Morton
` (49 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, konishi.ryusuke, linux-mm, liu.xuzhi, mm-commits, torvalds
From: Liu xuzhi <liu.xuzhi@zte.com.cn>
Subject: fs/nilfs2: fix misspellings using codespell tool
Two typos are found out by codespell tool \
in 2217th and 2254th lines of segment.c:
$ codespell ./fs/nilfs2/
./segment.c:2217 :retured ==> returned
./segment.c:2254: retured ==> returned
Fix two typos found by codespell.
Link: https://lkml.kernel.org/r/1617864087-8198-1-git-send-email-konishi.ryusuke@gmail.com
Signed-off-by: Liu xuzhi <liu.xuzhi@zte.com.cn>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/nilfs2/segment.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/fs/nilfs2/segment.c~fs-nilfs2-fix-misspellings-using-codespell-tool
+++ a/fs/nilfs2/segment.c
@@ -2214,7 +2214,7 @@ static void nilfs_segctor_wakeup(struct
* nilfs_construct_segment - construct a logical segment
* @sb: super block
*
- * Return Value: On success, 0 is retured. On errors, one of the following
+ * Return Value: On success, 0 is returned. On errors, one of the following
* negative error code is returned.
*
* %-EROFS - Read only filesystem.
@@ -2251,7 +2251,7 @@ int nilfs_construct_segment(struct super
* @start: start byte offset
* @end: end byte offset (inclusive)
*
- * Return Value: On success, 0 is retured. On errors, one of the following
+ * Return Value: On success, 0 is returned. On errors, one of the following
* negative error code is returned.
*
* %-EROFS - Read only filesystem.
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 43/91] nilfs2: fix typos in comments
2021-05-07 1:01 incoming Andrew Morton
` (41 preceding siblings ...)
2021-05-07 1:04 ` [patch 42/91] fs/nilfs2: fix misspellings using codespell tool Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 44/91] hpfs: replace one-element array with flexible-array member Andrew Morton
` (48 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, konishi.ryusuke, linux-mm, lujialin4, mm-commits, torvalds
From: Lu Jialin <lujialin4@huawei.com>
Subject: nilfs2: fix typos in comments
numer -> number in fs/nilfs2/cpfile.c
Decription -> Description in fs/nilfs2/ioctl.c
isntance -> instance in fs/nilfs2/the_nilfs.c
Link: https://lkml.kernel.org/r/1617942951-14631-1-git-send-email-konishi.ryusuke@gmail.com
Link: https://lore.kernel.org/r/20210409022519.176988-1-lujialin4@huawei.com
Signed-off-by: Lu Jialin <lujialin4@huawei.com>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/nilfs2/cpfile.c | 2 +-
fs/nilfs2/ioctl.c | 4 ++--
fs/nilfs2/the_nilfs.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
--- a/fs/nilfs2/cpfile.c~nilfs2-fix-typos-in-comments
+++ a/fs/nilfs2/cpfile.c
@@ -293,7 +293,7 @@ void nilfs_cpfile_put_checkpoint(struct
* nilfs_cpfile_delete_checkpoints - delete checkpoints
* @cpfile: inode of checkpoint file
* @start: start checkpoint number
- * @end: end checkpoint numer
+ * @end: end checkpoint number
*
* Description: nilfs_cpfile_delete_checkpoints() deletes the checkpoints in
* the period from @start to @end, excluding @end itself. The checkpoints
--- a/fs/nilfs2/ioctl.c~nilfs2-fix-typos-in-comments
+++ a/fs/nilfs2/ioctl.c
@@ -1043,7 +1043,7 @@ out:
* @inode: inode object
* @argp: pointer on argument from userspace
*
- * Decription: nilfs_ioctl_trim_fs is the FITRIM ioctl handle function. It
+ * Description: nilfs_ioctl_trim_fs is the FITRIM ioctl handle function. It
* checks the arguments from userspace and calls nilfs_sufile_trim_fs, which
* performs the actual trim operation.
*
@@ -1085,7 +1085,7 @@ static int nilfs_ioctl_trim_fs(struct in
* @inode: inode object
* @argp: pointer on argument from userspace
*
- * Decription: nilfs_ioctl_set_alloc_range() function defines lower limit
+ * Description: nilfs_ioctl_set_alloc_range() function defines lower limit
* of segments in bytes and upper limit of segments in bytes.
* The NILFS_IOCTL_SET_ALLOC_RANGE is used by nilfs_resize utility.
*
--- a/fs/nilfs2/the_nilfs.c~nilfs2-fix-typos-in-comments
+++ a/fs/nilfs2/the_nilfs.c
@@ -195,7 +195,7 @@ static int nilfs_store_log_cursor(struct
/**
* load_nilfs - load and recover the nilfs
* @nilfs: the_nilfs structure to be released
- * @sb: super block isntance used to recover past segment
+ * @sb: super block instance used to recover past segment
*
* load_nilfs() searches and load the latest super root,
* attaches the last segment, and does recovery if needed.
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 44/91] hpfs: replace one-element array with flexible-array member
2021-05-07 1:01 incoming Andrew Morton
` (42 preceding siblings ...)
2021-05-07 1:04 ` [patch 43/91] nilfs2: fix typos in comments Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 45/91] do_wait: make PIDTYPE_PID case O(1) instead of O(n) Andrew Morton
` (47 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, gustavoars, linux-mm, mikulas, mm-commits, torvalds
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Subject: hpfs: replace one-element array with flexible-array member
There is a regular need in the kernel to provide a way to declare having
a dynamically sized set of trailing elements in a structure. Kernel code
should always use “flexible array members”[1] for these cases. The older
style of one-element or zero-length arrays should no longer be used[2].
Also, this helps with the ongoing efforts to enable -Warray-bounds by
fixing the following warning:
CC [M] fs/hpfs/dir.o
fs/hpfs/dir.c: In function `hpfs_readdir':
fs/hpfs/dir.c:163:41: warning: array subscript 1 is above array bounds of `u8[1]' {aka `unsigned char[1]'} [-Warray-bounds]
163 | || de ->name[0] != 1 || de->name[1] != 1))
| ~~~~~~~~^~~
[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-length-and-one-element-arrays
Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/109
Link: https://lkml.kernel.org/r/20210326173510.GA81212@embeddedor
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/hpfs/hpfs.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/fs/hpfs/hpfs.h~hpfs-replace-one-element-array-with-flexible-array-member
+++ a/fs/hpfs/hpfs.h
@@ -356,7 +356,8 @@ struct hpfs_dirent {
u8 no_of_acls; /* number of ACL's (low 3 bits) */
u8 ix; /* code page index (of filename), see
struct code_page_data */
- u8 namelen, name[1]; /* file name */
+ u8 namelen; /* file name length */
+ u8 name[]; /* file name */
/* dnode_secno down; btree down pointer, if present,
follows name on next word boundary, or maybe it
precedes next dirent, which is on a word boundary. */
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 45/91] do_wait: make PIDTYPE_PID case O(1) instead of O(n)
2021-05-07 1:01 incoming Andrew Morton
` (43 preceding siblings ...)
2021-05-07 1:04 ` [patch 44/91] hpfs: replace one-element array with flexible-array member Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 46/91] kernel/fork.c: simplify copy_mm() Andrew Morton
` (46 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, christian, ebiederm, jnewsome, linux-mm, mm-commits, oleg,
torvalds
From: Jim Newsome <jnewsome@torproject.org>
Subject: do_wait: make PIDTYPE_PID case O(1) instead of O(n)
Add a special-case when waiting on a pid (via waitpid, waitid, wait4, etc)
to avoid doing an O(n) scan of children and tracees, and instead do an
O(1) lookup. This improves performance when waiting on a pid from a
thread group with many children and/or tracees.
Time to fork and then call waitpid on the child, from a task that already
has N children [1]:
N | Before | After
-----|---------|------
1 | 74 us | 74 us
20 | 72 us | 75 us
100 | 83 us | 77 us
500 | 99 us | 74 us
1000 | 179 us | 75 us
5000 | 804 us | 79 us
8000 | 1268 us | 78 us
[1]: https://lkml.org/lkml/2021/3/12/1567
This can make a substantial performance improvement for applications with
a thread that has many children or tracees and frequently needs to wait on
them. Tools that use ptrace to intercept syscalls for a large number of
processes are likely to fall into this category. In particular this patch
was developed while building a ptrace-based second generation of the
Shadow emulator [2], for which it allows us to avoid quadratic scaling
(without having to use a workaround that introduces a ~40% performance
penalty) [3]. Other examples of tools that fall into this category which
this patch may help include User Mode Linux [4] and DetTrace [5].
[2]: https://shadow.github.io/
[3]: https://github.com/shadow/shadow/issues/1134#issuecomment-798992292
[4]: https://en.wikipedia.org/wiki/User-mode_Linux
[5]: https://github.com/dettrace/dettrace
Link: https://lkml.kernel.org/r/20210314231544.9379-1-jnewsome@torproject.org
Signed-off-by: James Newsome <jnewsome@torproject.org>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W . Biederman" <ebiederm@xmission.com>
Cc: Christian Brauner <christian@brauner.io>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/exit.c | 67 ++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 57 insertions(+), 10 deletions(-)
--- a/kernel/exit.c~do_wait-make-pidtype_pid-case-o1-instead-of-on
+++ a/kernel/exit.c
@@ -1440,9 +1440,48 @@ void __wake_up_parent(struct task_struct
TASK_INTERRUPTIBLE, p);
}
+static bool is_effectively_child(struct wait_opts *wo, bool ptrace,
+ struct task_struct *target)
+{
+ struct task_struct *parent =
+ !ptrace ? target->real_parent : target->parent;
+
+ return current == parent || (!(wo->wo_flags & __WNOTHREAD) &&
+ same_thread_group(current, parent));
+}
+
+/*
+ * Optimization for waiting on PIDTYPE_PID. No need to iterate through child
+ * and tracee lists to find the target task.
+ */
+static int do_wait_pid(struct wait_opts *wo)
+{
+ bool ptrace;
+ struct task_struct *target;
+ int retval;
+
+ ptrace = false;
+ target = pid_task(wo->wo_pid, PIDTYPE_TGID);
+ if (target && is_effectively_child(wo, ptrace, target)) {
+ retval = wait_consider_task(wo, ptrace, target);
+ if (retval)
+ return retval;
+ }
+
+ ptrace = true;
+ target = pid_task(wo->wo_pid, PIDTYPE_PID);
+ if (target && target->ptrace &&
+ is_effectively_child(wo, ptrace, target)) {
+ retval = wait_consider_task(wo, ptrace, target);
+ if (retval)
+ return retval;
+ }
+
+ return 0;
+}
+
static long do_wait(struct wait_opts *wo)
{
- struct task_struct *tsk;
int retval;
trace_sched_process_wait(wo->wo_pid);
@@ -1464,19 +1503,27 @@ repeat:
set_current_state(TASK_INTERRUPTIBLE);
read_lock(&tasklist_lock);
- tsk = current;
- do {
- retval = do_wait_thread(wo, tsk);
- if (retval)
- goto end;
- retval = ptrace_do_wait(wo, tsk);
+ if (wo->wo_type == PIDTYPE_PID) {
+ retval = do_wait_pid(wo);
if (retval)
goto end;
+ } else {
+ struct task_struct *tsk = current;
- if (wo->wo_flags & __WNOTHREAD)
- break;
- } while_each_thread(current, tsk);
+ do {
+ retval = do_wait_thread(wo, tsk);
+ if (retval)
+ goto end;
+
+ retval = ptrace_do_wait(wo, tsk);
+ if (retval)
+ goto end;
+
+ if (wo->wo_flags & __WNOTHREAD)
+ break;
+ } while_each_thread(current, tsk);
+ }
read_unlock(&tasklist_lock);
notask:
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 46/91] kernel/fork.c: simplify copy_mm()
2021-05-07 1:01 incoming Andrew Morton
` (44 preceding siblings ...)
2021-05-07 1:04 ` [patch 45/91] do_wait: make PIDTYPE_PID case O(1) instead of O(n) Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 47/91] kernel/fork.c: fix typos Andrew Morton
` (45 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, eb, linux-mm, mm-commits, torvalds
From: Rolf Eike Beer <eb@emlix.com>
Subject: kernel/fork.c: simplify copy_mm()
All this can happen without a single goto.
Link: https://lkml.kernel.org/r/2072685.XptgVkyDqn@devpool47
Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/fork.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
--- a/kernel/fork.c~simplify-copy_mm
+++ a/kernel/fork.c
@@ -1396,7 +1396,6 @@ fail_nomem:
static int copy_mm(unsigned long clone_flags, struct task_struct *tsk)
{
struct mm_struct *mm, *oldmm;
- int retval;
tsk->min_flt = tsk->maj_flt = 0;
tsk->nvcsw = tsk->nivcsw = 0;
@@ -1423,21 +1422,15 @@ static int copy_mm(unsigned long clone_f
if (clone_flags & CLONE_VM) {
mmget(oldmm);
mm = oldmm;
- goto good_mm;
+ } else {
+ mm = dup_mm(tsk, current->mm);
+ if (!mm)
+ return -ENOMEM;
}
- retval = -ENOMEM;
- mm = dup_mm(tsk, current->mm);
- if (!mm)
- goto fail_nomem;
-
-good_mm:
tsk->mm = mm;
tsk->active_mm = mm;
return 0;
-
-fail_nomem:
- return retval;
}
static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 47/91] kernel/fork.c: fix typos
2021-05-07 1:01 incoming Andrew Morton
` (45 preceding siblings ...)
2021-05-07 1:04 ` [patch 46/91] kernel/fork.c: simplify copy_mm() Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation Andrew Morton
` (44 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, axboe, caoxiaofeng, christian.brauner, cxfcosmos, linux-mm,
mm-commits, torvalds
From: Xiaofeng Cao <cxfcosmos@gmail.com>
Subject: kernel/fork.c: fix typos
change 'ancestoral' to 'ancestral'
change 'reuseable' to 'reusable'
delete 'do' grammatically
Link: https://lkml.kernel.org/r/20210317082031.11692-1-caoxiaofeng@yulong.com
Signed-off-by: Xiaofeng Cao <caoxiaofeng@yulong.com>
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/fork.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- a/kernel/fork.c~kernel-fork-fix-typo-issue
+++ a/kernel/fork.c
@@ -1145,7 +1145,7 @@ void mmput_async(struct mm_struct *mm)
* invocations: in mmput() nobody alive left, in execve task is single
* threaded. sys_prctl(PR_SET_MM_MAP/EXE_FILE) also needs to set the
* mm->exe_file, but does so without using set_mm_exe_file() in order
- * to do avoid the need for any locks.
+ * to avoid the need for any locks.
*/
void set_mm_exe_file(struct mm_struct *mm, struct file *new_exe_file)
{
@@ -1736,7 +1736,7 @@ static int pidfd_release(struct inode *i
* /proc/<pid>/status where Pid and NSpid are always shown relative to
* the pid namespace of the procfs instance. The difference becomes
* obvious when sending around a pidfd between pid namespaces from a
- * different branch of the tree, i.e. where no ancestoral relation is
+ * different branch of the tree, i.e. where no ancestral relation is
* present between the pid namespaces:
* - create two new pid namespaces ns1 and ns2 in the initial pid
* namespace (also take care to create new mount namespaces in the
@@ -2728,8 +2728,8 @@ static bool clone3_args_valid(struct ker
return false;
/*
- * - make the CLONE_DETACHED bit reuseable for clone3
- * - make the CSIGNAL bits reuseable for clone3
+ * - make the CLONE_DETACHED bit reusable for clone3
+ * - make the CSIGNAL bits reusable for clone3
*/
if (kargs->flags & (CLONE_DETACHED | CSIGNAL))
return false;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-07 1:01 incoming Andrew Morton
` (46 preceding siblings ...)
2021-05-07 1:04 ` [patch 47/91] kernel/fork.c: fix typos Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 7:25 ` Linus Torvalds
2021-05-07 8:16 ` David Hildenbrand
2021-05-07 1:04 ` [patch 49/91] kexec: add kexec reboot string Andrew Morton
` (43 subsequent siblings)
91 siblings, 2 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, andreyknvl, bhe, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Subject: kernel/crash_core: add crashkernel=auto for vmcore creation
This adds crashkernel=auto feature to configure reserved memory for vmcore
creation. CONFIG_CRASH_AUTO_STR is defined to be set for different kernel
distributions and different archs based on their needs.
Link: https://lkml.kernel.org/r/20210223174153.72802-1-saeed.mirzamohammadi@oracle.com
Signed-off-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Signed-off-by: John Donnelly <john.p.donnelly@oracle.com>
Tested-by: John Donnelly <john.p.donnelly@oracle.com>
ed-by: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: "Guilherme G. Piccoli" <gpiccoli@canonical.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Cc: YiFei Zhu <yifeifz2@illinois.edu>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Andrey Konovalov <andreyknvl@google.com>
Cc: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/admin-guide/kdump/kdump.rst | 3 +-
Documentation/admin-guide/kernel-parameters.txt | 6 ++++
arch/Kconfig | 20 ++++++++++++++
kernel/crash_core.c | 7 ++++
4 files changed, 35 insertions(+), 1 deletion(-)
--- a/arch/Kconfig~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
+++ a/arch/Kconfig
@@ -14,6 +14,26 @@ menu "General architecture-dependent opt
config CRASH_CORE
bool
+config CRASH_AUTO_STR
+ string "Memory reserved for crash kernel"
+ depends on CRASH_CORE
+ default "1G-64G:128M,64G-1T:256M,1T-:512M"
+ help
+ This configures the reserved memory dependent
+ on the value of System RAM. The syntax is:
+ crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
+ range=start-[end]
+
+ For example:
+ crashkernel=512M-2G:64M,2G-:128M
+
+ This would mean:
+
+ 1) if the RAM is smaller than 512M, then don't reserve anything
+ (this is the "rescue" case)
+ 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
+ 3) if the RAM size is larger than 2G, then reserve 128M
+
config KEXEC_CORE
select CRASH_CORE
bool
--- a/Documentation/admin-guide/kdump/kdump.rst~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
+++ a/Documentation/admin-guide/kdump/kdump.rst
@@ -285,7 +285,8 @@ This would mean:
2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
3) if the RAM size is larger than 2G, then reserve 128M
-
+Or you can use crashkernel=auto to choose the crash kernel memory size
+based on the recommended configuration set for each arch.
Boot into System Kernel
=======================
--- a/Documentation/admin-guide/kernel-parameters.txt~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
+++ a/Documentation/admin-guide/kernel-parameters.txt
@@ -751,6 +751,12 @@
a memory unit (amount[KMG]). See also
Documentation/admin-guide/kdump/kdump.rst for an example.
+ crashkernel=auto
+ [KNL] This parameter will set the reserved memory for
+ the crash kernel based on the value of the CRASH_AUTO_STR
+ that is the best effort estimation for each arch. See also
+ arch/Kconfig for further details.
+
crashkernel=size[KMG],high
[KNL, X86-64] range could be above 4G. Allow kernel
to allocate physical memory region from top, so could
--- a/kernel/crash_core.c~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
+++ a/kernel/crash_core.c
@@ -7,6 +7,7 @@
#include <linux/crash_core.h>
#include <linux/utsname.h>
#include <linux/vmalloc.h>
+#include <linux/kexec.h>
#include <asm/page.h>
#include <asm/sections.h>
@@ -250,6 +251,12 @@ static int __init __parse_crashkernel(ch
if (suffix)
return parse_crashkernel_suffix(ck_cmdline, crash_size,
suffix);
+#ifdef CONFIG_CRASH_AUTO_STR
+ if (strncmp(ck_cmdline, "auto", 4) == 0) {
+ ck_cmdline = CONFIG_CRASH_AUTO_STR;
+ pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
+ }
+#endif
/*
* if the commandline contains a ':', then that's the extended
* syntax -- if not, it must be the classic syntax
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-07 1:04 ` [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation Andrew Morton
@ 2021-05-07 7:25 ` Linus Torvalds
2021-05-08 3:13 ` Baoquan He
2021-05-07 8:16 ` David Hildenbrand
1 sibling, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-05-07 7:25 UTC (permalink / raw)
To: Andrew Morton
Cc: Andrey Konovalov, Baoquan He, Christian Brauner, Colin King,
Jonathan Corbet, dyoung, Frederic Weisbecker, gpiccoli,
john.p.donnelly, Josh Poimboeuf, Kees Cook, Linux-MM,
Masahiro Yamada, Mauro Carvalho Chehab, Mike Kravetz,
Ingo Molnar, mm-commits, Paul E. McKenney, Peter Zijlstra,
Randy Dunlap, Steven Rostedt, Mike Rapoport,
saeed.mirzamohammadi, Sami Tolvanen, Stephen Boyd,
Thomas Gleixner, Vivek Goyal, yifeifz2
On Thu, May 6, 2021 at 6:04 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
> Subject: kernel/crash_core: add crashkernel=auto for vmcore creation
>
> This adds crashkernel=auto feature to configure reserved memory for vmcore
> creation. CONFIG_CRASH_AUTO_STR is defined to be set for different kernel
> distributions and different archs based on their needs.
Ugh. I didn't realize how nasty this was until after I'd applied this patch.
I'm going to drop this patch, because the Kconfig thing for it is an
unmitigated mess. I was confused by the question, and then the help
message was actively misleading.
This is wrong for so many reasons:
- this is a classic case of "you shouldn't ask a user this".
The question makes no sense to any normal person, it certainly
didn't to me. Don't ask questions that don't have sane answers.
- the config help text is actively misleading, and claims that the
option is about how much memory is reserved for a crash kernel
Not so. It's the default string for when somebody uses "crashkernel=auto"
- this shouldn't be a config option at all, it's clearly a distro
setting, and should be on the kernel command line with the other
distro settings.
So I'm dropping this, and I don't see it ever being applied in this
form for the above reasons.
People, I've said this before, and apparently I need to say it again:
the kernel config is likely the nastiest part of building a local
kernel, and the biggest impediment to people actually building their
own kernels.
And people building their own kernel is the first step to becoming a
kernel developer.
So the kernel configuration is already one of the less pleasant parts
of the kernel, but that does NOT mean that we should strive to make it
even worse.
Obscure, odd, strange config questions like this are a no-no. We're
not making an already bad experience wose for something like this.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-07 7:25 ` Linus Torvalds
@ 2021-05-08 3:13 ` Baoquan He
2021-05-08 3:29 ` Baoquan He
0 siblings, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-08 3:13 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Andrey Konovalov, Christian Brauner, Colin King,
Jonathan Corbet, dyoung, Frederic Weisbecker, gpiccoli,
john.p.donnelly, Josh Poimboeuf, Kees Cook, Linux-MM,
Masahiro Yamada, Mauro Carvalho Chehab, Mike Kravetz,
Ingo Molnar, mm-commits, Paul E. McKenney, Peter Zijlstra,
Randy Dunlap, Steven Rostedt, Mike Rapoport,
saeed.mirzamohammadi, Sami Tolvanen, Stephen Boyd,
Thomas Gleixner, Vivek Goyal, yifeifz2, Hari Bathini, piliu
Hi Linus,
On 05/07/21 at 12:25am, Linus Torvalds wrote:
> On Thu, May 6, 2021 at 6:04 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
> > Subject: kernel/crash_core: add crashkernel=auto for vmcore creation
> >
> > This adds crashkernel=auto feature to configure reserved memory for vmcore
> > creation. CONFIG_CRASH_AUTO_STR is defined to be set for different kernel
> > distributions and different archs based on their needs.
>
> Ugh. I didn't realize how nasty this was until after I'd applied this patch.
>
> I'm going to drop this patch, because the Kconfig thing for it is an
> unmitigated mess. I was confused by the question, and then the help
> message was actively misleading.
>
> This is wrong for so many reasons:
>
> - this is a classic case of "you shouldn't ask a user this".
>
> The question makes no sense to any normal person, it certainly
> didn't to me. Don't ask questions that don't have sane answers.
>
> - the config help text is actively misleading, and claims that the
> option is about how much memory is reserved for a crash kernel
>
> Not so. It's the default string for when somebody uses "crashkernel=auto"
Sorry for the confusion, we should have been more careful to reivew and
add the commit log and kernel config description.
>
> - this shouldn't be a config option at all, it's clearly a distro
> setting, and should be on the kernel command line with the other
> distro settings.
Don't know kernel config is disliked sometime, will remember it in the
future and more cautiously to add.
Crashkernel=auto exists in our distros for many years, and as David
mentioned in other thread, we have been trying to adding rashkernel=auto
support into upstream. We pursue crashkernel=auto being added to upstream
because:
1) Empirical value is given to user by default;
It was required by customer originally, now has been an important part
of kdump feature and supported in several main ARCHes. With crashkernel=auto,
people w/o much knowledge of kdump details can use kdump to debug. Distros
can provide the suggested values with crashkernel=auto which are got by
investigation, analysis and tested widely on test environment.
2) Cover corner case/special case;
In some cases, kernel may need extra memory to handle, kdump kernel is
not exceptional. E.g when sme/sev enabled, SWIOTLB will be enabled
necessarily, even in kdump kernel. (Below sme/sev related commits for
reference). Then extra 64M need be reserved for crashkernel. User
doesn't need to know this, we already have done it for them.
commit c7753208a94c ("x86, swiotlb: Add memory encryption support")
commit aba2d9a6385a ("iommu/amd: Do not disable SWIOTLB if SME is active")
commit d7b417fa08d1 ("x86/mm: Add DMA support for SEV memory encryption")
We are eager to push crashkernel=auto to upstream becasue of our
UPSTREAM FIRST rule. Since it has been in RHEL for many years, each time
a new RHEL main release anchor a upstream kernel release and is prepared,
these crashkernel=auto RHEL-only patches need be reviewed inside Redhat,
then we will be questioned and challenged why they are not in upstream.
As for how to implement crashkernel=auto, we have tried several ways.
1) Add into kernel command line
The suggested value need be stored in user space if added into kernel
command line, then added into kernel. This makes the suggested value
separated from kernel itself. It's not what we expect to see. Because
the suggested crashkernel value is strongly related to distros release.
We could adjust the value between sub-releases of kernel because of
of kernel change. Adding them into kernel command line make us lose the
track of them in kernel.
2) Add a weak generic function and several arch dependent functions
3) Hardcode values in __parse_crashkernel()
Method 2) is taken in our RHEL7, 3) is used in RHEL8, RHEL-only patches
add them. If we try to push them into upstram, any later value
adjustment need a upstream patch posting. Otherwise, RHEL-only patch
need be introduced again, Redhat internal reviewer will challenge us
again. (Put the value hard coding pieces at bottom for reference).
4) Add kernel config to add default value
It's done in this patch. With the kernel config CRASH_AUTO_STR, Distros can
add default value, and adjust it anytime in the future w/o bothering
upstream. If crashkernel=auto is specified, only below 3 LOC added, to
go to parse the CONFIG_CRASH_AUTO_STR directly.
@@ -250,6 +251,12 @@ static int __init __parse_crashkernel(ch
if (suffix)
return parse_crashkernel_suffix(ck_cmdline, crash_size,
suffix);
+#ifdef CONFIG_CRASH_AUTO_STR
+ if (strncmp(ck_cmdline, "auto", 4) == 0) {
+ ck_cmdline = CONFIG_CRASH_AUTO_STR;
+ pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
+ }
+#endif
Before this, we don't know Saeed Mirzamohammadi, the patch author. He
could experience the same torture. We were wild with joy when noticing
his patch. We were planning to launch new round of post to add
crashkernel=auto, kernel config is our final option too. We could be too
happy to forget polishing the commit log.
Not sure if I make myself clear. Basically, we expect crashkernel=auto
to be added in upstream kernel. About how to implement it in kernel, we would
like to hear upstream people's suggestion.
Thanks
Baoquan
Hard code crashkernel=auto values in __parse_crashkernel()
===========================================================
static int __init __parse_crashkernel(char *cmdline,
unsigned long long system_ram,
unsigned long long *crash_size,
unsigned long long *crash_base,
const char *name,
const char *suffix)
{
......
if (strncmp(ck_cmdline, "auto", 4) == 0) {
#if defined(CONFIG_X86_64) || defined(CONFIG_S390)
ck_cmdline = "1G-4G:160M,4G-64G:192M,64G-1T:256M,1T-:512M";
#elif defined(CONFIG_ARM64)
ck_cmdline = "2G-:448M";
#elif defined(CONFIG_PPC64)
char *fadump_cmdline;
fadump_cmdline = get_last_crashkernel(cmdline, "fadump=", NULL);
fadump_cmdline = fadump_cmdline ?
fadump_cmdline + strlen("fadump=") : NULL;
if (!fadump_cmdline || (strncmp(fadump_cmdline, "off", 3) == 0))
ck_cmdline = "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
else
ck_cmdline = "4G-16G:768M,16G-64G:1G,64G-128G:2G,128G-1T:4G,1T-2T:6G,2T-4T:12G,4T-8T:20G,8T-16T:36G,16T-32T:64G,32T-64T:128G,64T-:180G";
#endif
pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
}
......
}
==================================================================
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-08 3:13 ` Baoquan He
@ 2021-05-08 3:29 ` Baoquan He
0 siblings, 0 replies; 325+ messages in thread
From: Baoquan He @ 2021-05-08 3:29 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Andrey Konovalov, Christian Brauner, Colin King,
Jonathan Corbet, dyoung, Frederic Weisbecker, gpiccoli,
john.p.donnelly, Josh Poimboeuf, Kees Cook, Linux-MM,
Masahiro Yamada, Mauro Carvalho Chehab, Mike Kravetz,
Ingo Molnar, mm-commits, Paul E. McKenney, Peter Zijlstra,
Randy Dunlap, Steven Rostedt, Mike Rapoport,
saeed.mirzamohammadi, Sami Tolvanen, Stephen Boyd,
Thomas Gleixner, Vivek Goyal, yifeifz2, Hari Bathini, piliu,
kasong
Add Kairui to CC since he is taking care of the crashkernel=auto code in
our Distros.
On 05/08/21 at 11:13am, Baoquan He wrote:
> Hi Linus,
>
> On 05/07/21 at 12:25am, Linus Torvalds wrote:
> > On Thu, May 6, 2021 at 6:04 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> > >
> > > From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
> > > Subject: kernel/crash_core: add crashkernel=auto for vmcore creation
> > >
> > > This adds crashkernel=auto feature to configure reserved memory for vmcore
> > > creation. CONFIG_CRASH_AUTO_STR is defined to be set for different kernel
> > > distributions and different archs based on their needs.
>
>
> >
> > Ugh. I didn't realize how nasty this was until after I'd applied this patch.
> >
> > I'm going to drop this patch, because the Kconfig thing for it is an
> > unmitigated mess. I was confused by the question, and then the help
> > message was actively misleading.
> >
> > This is wrong for so many reasons:
> >
> > - this is a classic case of "you shouldn't ask a user this".
> >
> > The question makes no sense to any normal person, it certainly
> > didn't to me. Don't ask questions that don't have sane answers.
> >
> > - the config help text is actively misleading, and claims that the
> > option is about how much memory is reserved for a crash kernel
> >
> > Not so. It's the default string for when somebody uses "crashkernel=auto"
>
> Sorry for the confusion, we should have been more careful to reivew and
> add the commit log and kernel config description.
> >
> > - this shouldn't be a config option at all, it's clearly a distro
> > setting, and should be on the kernel command line with the other
> > distro settings.
>
> Don't know kernel config is disliked sometime, will remember it in the
> future and more cautiously to add.
>
> Crashkernel=auto exists in our distros for many years, and as David
> mentioned in other thread, we have been trying to adding rashkernel=auto
> support into upstream. We pursue crashkernel=auto being added to upstream
> because:
>
> 1) Empirical value is given to user by default;
>
> It was required by customer originally, now has been an important part
> of kdump feature and supported in several main ARCHes. With crashkernel=auto,
> people w/o much knowledge of kdump details can use kdump to debug. Distros
> can provide the suggested values with crashkernel=auto which are got by
> investigation, analysis and tested widely on test environment.
>
> 2) Cover corner case/special case;
>
> In some cases, kernel may need extra memory to handle, kdump kernel is
> not exceptional. E.g when sme/sev enabled, SWIOTLB will be enabled
> necessarily, even in kdump kernel. (Below sme/sev related commits for
> reference). Then extra 64M need be reserved for crashkernel. User
> doesn't need to know this, we already have done it for them.
>
> commit c7753208a94c ("x86, swiotlb: Add memory encryption support")
> commit aba2d9a6385a ("iommu/amd: Do not disable SWIOTLB if SME is active")
> commit d7b417fa08d1 ("x86/mm: Add DMA support for SEV memory encryption")
>
> We are eager to push crashkernel=auto to upstream becasue of our
> UPSTREAM FIRST rule. Since it has been in RHEL for many years, each time
> a new RHEL main release anchor a upstream kernel release and is prepared,
> these crashkernel=auto RHEL-only patches need be reviewed inside Redhat,
> then we will be questioned and challenged why they are not in upstream.
>
> As for how to implement crashkernel=auto, we have tried several ways.
>
> 1) Add into kernel command line
>
> The suggested value need be stored in user space if added into kernel
> command line, then added into kernel. This makes the suggested value
> separated from kernel itself. It's not what we expect to see. Because
> the suggested crashkernel value is strongly related to distros release.
> We could adjust the value between sub-releases of kernel because of
> of kernel change. Adding them into kernel command line make us lose the
> track of them in kernel.
>
> 2) Add a weak generic function and several arch dependent functions
> 3) Hardcode values in __parse_crashkernel()
>
> Method 2) is taken in our RHEL7, 3) is used in RHEL8, RHEL-only patches
> add them. If we try to push them into upstram, any later value
> adjustment need a upstream patch posting. Otherwise, RHEL-only patch
> need be introduced again, Redhat internal reviewer will challenge us
> again. (Put the value hard coding pieces at bottom for reference).
>
> 4) Add kernel config to add default value
>
> It's done in this patch. With the kernel config CRASH_AUTO_STR, Distros can
> add default value, and adjust it anytime in the future w/o bothering
> upstream. If crashkernel=auto is specified, only below 3 LOC added, to
> go to parse the CONFIG_CRASH_AUTO_STR directly.
>
> @@ -250,6 +251,12 @@ static int __init __parse_crashkernel(ch
> if (suffix)
> return parse_crashkernel_suffix(ck_cmdline, crash_size,
> suffix);
> +#ifdef CONFIG_CRASH_AUTO_STR
> + if (strncmp(ck_cmdline, "auto", 4) == 0) {
> + ck_cmdline = CONFIG_CRASH_AUTO_STR;
> + pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
> + }
> +#endif
>
>
> Before this, we don't know Saeed Mirzamohammadi, the patch author. He
> could experience the same torture. We were wild with joy when noticing
> his patch. We were planning to launch new round of post to add
> crashkernel=auto, kernel config is our final option too. We could be too
> happy to forget polishing the commit log.
>
> Not sure if I make myself clear. Basically, we expect crashkernel=auto
> to be added in upstream kernel. About how to implement it in kernel, we would
> like to hear upstream people's suggestion.
>
> Thanks
> Baoquan
>
>
> Hard code crashkernel=auto values in __parse_crashkernel()
> ===========================================================
> static int __init __parse_crashkernel(char *cmdline,
> unsigned long long system_ram,
> unsigned long long *crash_size,
> unsigned long long *crash_base,
> const char *name,
> const char *suffix)
> {
> ......
> if (strncmp(ck_cmdline, "auto", 4) == 0) {
> #if defined(CONFIG_X86_64) || defined(CONFIG_S390)
> ck_cmdline = "1G-4G:160M,4G-64G:192M,64G-1T:256M,1T-:512M";
> #elif defined(CONFIG_ARM64)
> ck_cmdline = "2G-:448M";
> #elif defined(CONFIG_PPC64)
> char *fadump_cmdline;
>
> fadump_cmdline = get_last_crashkernel(cmdline, "fadump=", NULL);
> fadump_cmdline = fadump_cmdline ?
> fadump_cmdline + strlen("fadump=") : NULL;
> if (!fadump_cmdline || (strncmp(fadump_cmdline, "off", 3) == 0))
> ck_cmdline = "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
> else
> ck_cmdline = "4G-16G:768M,16G-64G:1G,64G-128G:2G,128G-1T:4G,1T-2T:6G,2T-4T:12G,4T-8T:20G,8T-16T:36G,16T-32T:64G,32T-64T:128G,64T-:180G";
> #endif
> pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
> }
>
> ......
> }
> ==================================================================
>
>
>
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-07 1:04 ` [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation Andrew Morton
2021-05-07 7:25 ` Linus Torvalds
@ 2021-05-07 8:16 ` David Hildenbrand
2021-05-08 8:51 ` Baoquan He
1 sibling, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-07 8:16 UTC (permalink / raw)
To: Andrew Morton, andreyknvl, bhe, christian.brauner, colin.king,
corbet, dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe,
keescook, linux-mm, masahiroy, mchehab+huawei, mike.kravetz,
mingo, mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
On 07.05.21 03:04, Andrew Morton wrote:
> From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
> Subject: kernel/crash_core: add crashkernel=auto for vmcore creation
>
> This adds crashkernel=auto feature to configure reserved memory for vmcore
> creation. CONFIG_CRASH_AUTO_STR is defined to be set for different kernel
> distributions and different archs based on their needs.
>
> Link: https://lkml.kernel.org/r/20210223174153.72802-1-saeed.mirzamohammadi@oracle.com
> Signed-off-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
> Signed-off-by: John Donnelly <john.p.donnelly@oracle.com>
> Tested-by: John Donnelly <john.p.donnelly@oracle.com>
> ed-by: Dave Young <dyoung@redhat.com>
> Cc: Baoquan He <bhe@redhat.com>
> Cc: Vivek Goyal <vgoyal@redhat.com>
> Cc: Jonathan Corbet <corbet@lwn.net>
> Cc: "Paul E. McKenney" <paulmck@kernel.org>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> Cc: Mike Kravetz <mike.kravetz@oracle.com>
> Cc: "Guilherme G. Piccoli" <gpiccoli@canonical.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> Cc: YiFei Zhu <yifeifz2@illinois.edu>
> Cc: Josh Poimboeuf <jpoimboe@redhat.com>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Sami Tolvanen <samitolvanen@google.com>
> Cc: Frederic Weisbecker <frederic@kernel.org>
> Cc: Christian Brauner <christian.brauner@ubuntu.com>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: Andrey Konovalov <andreyknvl@google.com>
> Cc: Colin Ian King <colin.king@canonical.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> Documentation/admin-guide/kdump/kdump.rst | 3 +-
> Documentation/admin-guide/kernel-parameters.txt | 6 ++++
> arch/Kconfig | 20 ++++++++++++++
> kernel/crash_core.c | 7 ++++
> 4 files changed, 35 insertions(+), 1 deletion(-)
>
> --- a/arch/Kconfig~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> +++ a/arch/Kconfig
> @@ -14,6 +14,26 @@ menu "General architecture-dependent opt
> config CRASH_CORE
> bool
>
> +config CRASH_AUTO_STR
> + string "Memory reserved for crash kernel"
> + depends on CRASH_CORE
> + default "1G-64G:128M,64G-1T:256M,1T-:512M"
> + help
> + This configures the reserved memory dependent
> + on the value of System RAM. The syntax is:
> + crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
> + range=start-[end]
> +
> + For example:
> + crashkernel=512M-2G:64M,2G-:128M
> +
> + This would mean:
> +
> + 1) if the RAM is smaller than 512M, then don't reserve anything
> + (this is the "rescue" case)
> + 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
> + 3) if the RAM size is larger than 2G, then reserve 128M
> +
> config KEXEC_CORE
> select CRASH_CORE
> bool
> --- a/Documentation/admin-guide/kdump/kdump.rst~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> +++ a/Documentation/admin-guide/kdump/kdump.rst
> @@ -285,7 +285,8 @@ This would mean:
> 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
> 3) if the RAM size is larger than 2G, then reserve 128M
>
> -
> +Or you can use crashkernel=auto to choose the crash kernel memory size
> +based on the recommended configuration set for each arch.
>
> Boot into System Kernel
> =======================
> --- a/Documentation/admin-guide/kernel-parameters.txt~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> +++ a/Documentation/admin-guide/kernel-parameters.txt
> @@ -751,6 +751,12 @@
> a memory unit (amount[KMG]). See also
> Documentation/admin-guide/kdump/kdump.rst for an example.
>
> + crashkernel=auto
> + [KNL] This parameter will set the reserved memory for
> + the crash kernel based on the value of the CRASH_AUTO_STR
> + that is the best effort estimation for each arch. See also
> + arch/Kconfig for further details.
> +
> crashkernel=size[KMG],high
> [KNL, X86-64] range could be above 4G. Allow kernel
> to allocate physical memory region from top, so could
> --- a/kernel/crash_core.c~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> +++ a/kernel/crash_core.c
> @@ -7,6 +7,7 @@
> #include <linux/crash_core.h>
> #include <linux/utsname.h>
> #include <linux/vmalloc.h>
> +#include <linux/kexec.h>
>
> #include <asm/page.h>
> #include <asm/sections.h>
> @@ -250,6 +251,12 @@ static int __init __parse_crashkernel(ch
> if (suffix)
> return parse_crashkernel_suffix(ck_cmdline, crash_size,
> suffix);
> +#ifdef CONFIG_CRASH_AUTO_STR
> + if (strncmp(ck_cmdline, "auto", 4) == 0) {
> + ck_cmdline = CONFIG_CRASH_AUTO_STR;
> + pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
> + }
> +#endif
I remember that the original "crashkernel=auto" as once proposed by Red
Hat people did not receive a warm welcome.
Let me take a look .... oh, there it is from 2009
https://marc.info/?t=125006512600002&r=1&w=2
and then we had it in 2018
https://lkml.org/lkml/2018/5/20/262
The issue I have with this: it's just plain wrong when you take memory
hotplug into serious account as we see it quite heavily in VMs. You
don't know what you'll need when building a kernel. Just pass it via the
cmdline ...
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-07 8:16 ` David Hildenbrand
@ 2021-05-08 8:51 ` Baoquan He
2021-05-08 9:22 ` David Hildenbrand
0 siblings, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-08 8:51 UTC (permalink / raw)
To: David Hildenbrand
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
On 05/07/21 at 10:16am, David Hildenbrand wrote:
> On 07.05.21 03:04, Andrew Morton wrote:
......
> >
> > Documentation/admin-guide/kdump/kdump.rst | 3 +-
> > Documentation/admin-guide/kernel-parameters.txt | 6 ++++
> > arch/Kconfig | 20 ++++++++++++++
> > kernel/crash_core.c | 7 ++++
> > 4 files changed, 35 insertions(+), 1 deletion(-)
> >
> > --- a/arch/Kconfig~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> > +++ a/arch/Kconfig
> > @@ -14,6 +14,26 @@ menu "General architecture-dependent opt
> > config CRASH_CORE
> > bool
> > +config CRASH_AUTO_STR
> > + string "Memory reserved for crash kernel"
> > + depends on CRASH_CORE
> > + default "1G-64G:128M,64G-1T:256M,1T-:512M"
> > + help
> > + This configures the reserved memory dependent
> > + on the value of System RAM. The syntax is:
> > + crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
> > + range=start-[end]
> > +
> > + For example:
> > + crashkernel=512M-2G:64M,2G-:128M
> > +
> > + This would mean:
> > +
> > + 1) if the RAM is smaller than 512M, then don't reserve anything
> > + (this is the "rescue" case)
> > + 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
> > + 3) if the RAM size is larger than 2G, then reserve 128M
> > +
> > config KEXEC_CORE
> > select CRASH_CORE
> > bool
> > --- a/Documentation/admin-guide/kdump/kdump.rst~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> > +++ a/Documentation/admin-guide/kdump/kdump.rst
> > @@ -285,7 +285,8 @@ This would mean:
> > 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
> > 3) if the RAM size is larger than 2G, then reserve 128M
> > -
> > +Or you can use crashkernel=auto to choose the crash kernel memory size
> > +based on the recommended configuration set for each arch.
> > Boot into System Kernel
> > =======================
> > --- a/Documentation/admin-guide/kernel-parameters.txt~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> > +++ a/Documentation/admin-guide/kernel-parameters.txt
> > @@ -751,6 +751,12 @@
> > a memory unit (amount[KMG]). See also
> > Documentation/admin-guide/kdump/kdump.rst for an example.
> > + crashkernel=auto
> > + [KNL] This parameter will set the reserved memory for
> > + the crash kernel based on the value of the CRASH_AUTO_STR
> > + that is the best effort estimation for each arch. See also
> > + arch/Kconfig for further details.
> > +
> > crashkernel=size[KMG],high
> > [KNL, X86-64] range could be above 4G. Allow kernel
> > to allocate physical memory region from top, so could
> > --- a/kernel/crash_core.c~kernel-crash_core-add-crashkernel=auto-for-vmcore-creation
> > +++ a/kernel/crash_core.c
> > @@ -7,6 +7,7 @@
> > #include <linux/crash_core.h>
> > #include <linux/utsname.h>
> > #include <linux/vmalloc.h>
> > +#include <linux/kexec.h>
> > #include <asm/page.h>
> > #include <asm/sections.h>
> > @@ -250,6 +251,12 @@ static int __init __parse_crashkernel(ch
> > if (suffix)
> > return parse_crashkernel_suffix(ck_cmdline, crash_size,
> > suffix);
> > +#ifdef CONFIG_CRASH_AUTO_STR
> > + if (strncmp(ck_cmdline, "auto", 4) == 0) {
> > + ck_cmdline = CONFIG_CRASH_AUTO_STR;
> > + pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
> > + }
> > +#endif
> I remember that the original "crashkernel=auto" as once proposed by Red Hat
> people did not receive a warm welcome.
>
> Let me take a look .... oh, there it is from 2009
>
> https://marc.info/?t=125006512600002&r=1&w=2
>
> and then we had it in 2018
>
> https://lkml.org/lkml/2018/5/20/262
Thanks for digging these two out, otherwise I may need do for people to
know the history better.
>
>
> The issue I have with this: it's just plain wrong when you take memory
> hotplug into serious account as we see it quite heavily in VMs. You don't
> know what you'll need when building a kernel. Just pass it via the cmdline
Hmm, kdump may have no issue with memory hotplug in crashkernel
reservation aspect. The system RAM size is not correlated to
crashkernel size directly, that's why the default value in this patch is
not linear related to system RAM size. The proportion of crashkernel
size to the total RAM size is thing we take into account. Usually
crashkernel 160M is enough on most of systems. If system RAM size is
larger, extra memory can be added just in case, and not bring much
impact to system.
With our investigation, PCIe devices impact the crashkernel size, and
cpu number. There are always pci devices which driver require tens of KB
meomry, even MB. E.g in below patch, my colleague Coiby found out the
i40e network card even cost 1.5G memory to initialize its ringbuffer on
ppc, and 85M on x86_64.
[PATCH v1 0/3] Reducing memory usage of i40e for kdump
http://lists.infradead.org/pipermail/kexec/2021-March/022117.html
Even though not all pci devices need surprisingly large memory like
i40e, system with hundreds of pci devices can also cost more memory than
expected. This kind of system usually is high end server, specified
crashkernel value need be set manually.
So system RAM size is the least important part to influence crashkernel
costing. Say my x1 laptop, even though I extended the RAM to 100TB, 160M
crashkernel is still enough. Just we would like to get a tiny extra part
to add to crashkernel if the total RAM is very large, that's the rule
for crashkernel=auto. As for VMs, given their very few devices, virtio
disk, NAT nic, etc, no matter how much memory is deployed and hot
added/removed, crashkernel size won't be influenced very much. My
personal understanding about it.
Thanks
Baoquan
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-08 8:51 ` Baoquan He
@ 2021-05-08 9:22 ` David Hildenbrand
2021-05-10 4:53 ` Baoquan He
0 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-08 9:22 UTC (permalink / raw)
To: Baoquan He
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
>> Let me take a look .... oh, there it is from 2009
>>
>> https://marc.info/?t=125006512600002&r=1&w=2
>>
>> and then we had it in 2018
>>
>> https://lkml.org/lkml/2018/5/20/262
>
> Thanks for digging these two out, otherwise I may need do for people to
> know the history better.
Sure, I stumbled over this myself recently when wondering about what
fadump is.
>> The issue I have with this: it's just plain wrong when you take memory
>> hotplug into serious account as we see it quite heavily in VMs. You don't
>> know what you'll need when building a kernel. Just pass it via the cmdline
>
> Hmm, kdump may have no issue with memory hotplug in crashkernel
> reservation aspect. The system RAM size is not correlated to
> crashkernel size directly, that's why the default value in this patch is
"Not correlated directly" ...
"1G-64G:128M,64G-1T:256M,1T-:512M"
Am I still asleep and dreaming? :)
> not linear related to system RAM size. The proportion of crashkernel
> size to the total RAM size is thing we take into account. Usually
> crashkernel 160M is enough on most of systems. If system RAM size is
> larger, extra memory can be added just in case, and not bring much
> impact to system.
So, all the rules we have are essentially broken because they rely
completely on the system RAM during boot.
>
> With our investigation, PCIe devices impact the crashkernel size, and
> cpu number. There are always pci devices which driver require tens of KB
> meomry, even MB. E.g in below patch, my colleague Coiby found out the
> i40e network card even cost 1.5G memory to initialize its ringbuffer on
> ppc, and 85M on x86_64.
>
> [PATCH v1 0/3] Reducing memory usage of i40e for kdump
> http://lists.infradead.org/pipermail/kexec/2021-March/022117.html
>
> Even though not all pci devices need surprisingly large memory like
> i40e, system with hundreds of pci devices can also cost more memory than
> expected. This kind of system usually is high end server, specified
> crashkernel value need be set manually.
>
> So system RAM size is the least important part to influence crashkernel
Aehm, not with fadump, no?
> costing. Say my x1 laptop, even though I extended the RAM to 100TB, 160M
> crashkernel is still enough. Just we would like to get a tiny extra part
> to add to crashkernel if the total RAM is very large, that's the rule
> for crashkernel=auto. As for VMs, given their very few devices, virtio
> disk, NAT nic, etc, no matter how much memory is deployed and hot
> added/removed, crashkernel size won't be influenced very much. My
> personal understanding about it.
That's an interesting observation. But you're telling me that we end up
wasting memory for the crashkernel because "crashkernel=auto" which is
supposed to do something magical good automatically does something very
suboptimal? Oh my ... this is broken.
Long story short: crashkernel=auto is pure ugliness.
Why can't we construct a crashkernel in user space when
installing/activating kdump and requiring a reboot for kdump to be
active as long as that crashkernel setting is not properly respected?
Just have a look at the system properties (is_qemu(), #PCI, ...) and
propose a value for "crashkernel=". Check that that value is at least
active when activating kdump. Otherwise don't enable kdump and fail.
Yes, it can be difficult with some newer/older kernels having some
different demands, but things should change drastically, and a distro
can always update its advises along with the kernel, no?
You could even have a kernel interface that gives you the current
crashkernel size (maybe already there) vs. the recommended crashkernel
size. Make kdump or *whoever* activate that in the cmdline and let kdump
check if both values are satisfied when booting up.
Also: this approach here doesn't make any sense when you want to do
something dependent on other cmdline parameters. Take "fadump=on" vs
"fadump=off" as an example. You just cannot handle it properly as
proposed in this patch. To me the approach in this patch makes least
sense TBH.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-08 9:22 ` David Hildenbrand
@ 2021-05-10 4:53 ` Baoquan He
2021-05-10 8:32 ` David Hildenbrand
0 siblings, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-10 4:53 UTC (permalink / raw)
To: David Hildenbrand
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
On 05/08/21 at 11:22am, David Hildenbrand wrote:
> > > Let me take a look .... oh, there it is from 2009
> > >
> > > https://marc.info/?t=125006512600002&r=1&w=2
> > >
> > > and then we had it in 2018
> > >
> > > https://lkml.org/lkml/2018/5/20/262
> >
> > Thanks for digging these two out, otherwise I may need do for people to
> > know the history better.
>
> Sure, I stumbled over this myself recently when wondering about what fadump
> is.
>
>
> > > The issue I have with this: it's just plain wrong when you take memory
> > > hotplug into serious account as we see it quite heavily in VMs. You don't
> > > know what you'll need when building a kernel. Just pass it via the cmdline
> >
> > Hmm, kdump may have no issue with memory hotplug in crashkernel
> > reservation aspect. The system RAM size is not correlated to
> > crashkernel size directly, that's why the default value in this patch is
>
> "Not correlated directly" ...
>
> "1G-64G:128M,64G-1T:256M,1T-:512M"
>
> Am I still asleep and dreaming? :)
Well, I said 'Not correlated directly', then gave sentences to explan
the reason. I would like to repeat them:
1) Crashkernel need more memory on some systems mainly because of
device driver. You can take a system, no matter how much memory you
increse or decrease total system RAM size, the crashkernel size needed
is invariable.
- The extreme case I have give about the i40e.
- And the more devices, narutally the more memory needed.
2) About "1G-64G:128M,64G-1T:256M,1T-:512M", I also said the different
value is because taking very low proprotion of extra memory to avoid
potential risk, it's cost effective. Here, add another 90M which is
0.13% of 64G, 0.0085% of 1TB.
Hope it can help people sober up.
>
>
> > not linear related to system RAM size. The proportion of crashkernel
> > size to the total RAM size is thing we take into account. Usually
> > crashkernel 160M is enough on most of systems. If system RAM size is
> > larger, extra memory can be added just in case, and not bring much
> > impact to system.
>
> So, all the rules we have are essentially broken because they rely
> completely on the system RAM during boot.
How do you get this?
Crashkernel=auto is a default value. PC, VMs, normal workstation and server
which are the overall majority can work well with it. I can say the number
is 99%. Only very few high end workstation, servers which contain
many PCI devices need investigation to decide crashkernel size. A possible
manual setting and rebooting is needed for them. You call this
'essentially broken'? So you later suggestd constructing crashkernel value
in user space and rebooting is not broken? Even though it's the similar
thing? what is your logic behind your conclusion?
Crashkernel=auto is mainly targetting most of systems, help people
w/o much knowledge of kdump implementation to use it for debugging.
I can say more about the benefit of crashkernel=auto. On Fedora, the
community distros sponsord by Redhat, the kexec/kdump is also maintained
by us. Fedora kernel is mainline kernel, so no crashkernel=auto
provided. We almost never get bug report from users, means almost nobody
use it. We hope Fedora users' usage can help test functionality of
component.
>
> >
> > With our investigation, PCIe devices impact the crashkernel size, and
> > cpu number. There are always pci devices which driver require tens of KB
> > meomry, even MB. E.g in below patch, my colleague Coiby found out the
> > i40e network card even cost 1.5G memory to initialize its ringbuffer on
> > ppc, and 85M on x86_64.
> >
> > [PATCH v1 0/3] Reducing memory usage of i40e for kdump
> > http://lists.infradead.org/pipermail/kexec/2021-March/022117.html
> >
> > Even though not all pci devices need surprisingly large memory like
> > i40e, system with hundreds of pci devices can also cost more memory than
> > expected. This kind of system usually is high end server, specified
> > crashkernel value need be set manually.
> >
> > So system RAM size is the least important part to influence crashkernel
>
> Aehm, not with fadump, no?
Fadump makes use of crashkernel reservation, but has different mechanism
to dumping. It needs a kernel config too if this patch is accepted, or
it can add it to command line from a user space program, I will talk
about that later. This depends on IBM's decision, I have added Hari to CC,
they will make the best choice after consideration.
}
>
> > costing. Say my x1 laptop, even though I extended the RAM to 100TB, 160M
> > crashkernel is still enough. Just we would like to get a tiny extra part
> > to add to crashkernel if the total RAM is very large, that's the rule
> > for crashkernel=auto. As for VMs, given their very few devices, virtio
> > disk, NAT nic, etc, no matter how much memory is deployed and hot
> > added/removed, crashkernel size won't be influenced very much. My
> > personal understanding about it.
>
> That's an interesting observation. But you're telling me that we end up
> wasting memory for the crashkernel because "crashkernel=auto" which is
> supposed to do something magical good automatically does something very
> suboptimal? Oh my ... this is broken.
>
> Long story short: crashkernel=auto is pure ugliness.
Very interesting. Your long story is clear to me, but your short story
confuses me a lot.
Let me try to sort out and understand. In your first reply, you asserted
"it's plain wrong when taking memory hotplug serious account as
we see it quite heavily in VMs", means you plain don't know if it's
wrong, but you say it's plain wrong. I answered you 'no, not at all'
with detailed explanation, means it's plain opposite to your assertion.
So then you quickly came to 'crashkernel=auto is pure ugliness'. If a
simple crashkernel=auto is added to cover 99% systems, and advanced
operation only need be done for the rest which is tiny proportion,
this is called pure ugliness, what's pure beauty? Here I say 99%, I
could be very conservative.
>
> Why can't we construct a crashkernel in user space when
> installing/activating kdump and requiring a reboot for kdump to be active as
> long as that crashkernel setting is not properly respected?
>
> Just have a look at the system properties (is_qemu(), #PCI, ...) and propose
> a value for "crashkernel=". Check that that value is at least active when
> activating kdump. Otherwise don't enable kdump and fail.
>
> Yes, it can be difficult with some newer/older kernels having some different
> demands, but things should change drastically, and a distro can always
> update its advises along with the kernel, no?
>
> You could even have a kernel interface that gives you the current
> crashkernel size (maybe already there) vs. the recommended crashkernel size.
> Make kdump or *whoever* activate that in the cmdline and let kdump check if
> both values are satisfied when booting up.
Now, let's go to your long story.
Yes, if you haven't seen our patch in fedora kexec-tools maining list,
your suggested approach is the exactly same thing we are doing, please
check below patch.
[PATCH v2] kdumpctl: Add kdumpctl estimate
https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/thread/YCEOJHQXKVEIVNB23M2TDAJGYVNP5MJZ/
We will provide a new feature in user space script, to let user check if
their current crashkernel size is good or not. If not, they can adjust
accordingly.
But, where's the current crashkernel size coming from? Surely
crashkernel=auto. You wouldn't add a random crashkernel size then
compared with the recommended crashkernel size, then reboot, will you?
If crashkernel=auto get the expected size, no need to reboot. Means 99%
of systems has no need to reboot. Only very few of systems, need reboot
after checking the recommended size.
Long story short. crashkernel=auto will give a default value, trying to
cover most of systems. (Very few high end server need check if it's
enough and adjust with the help of user space tools. Then reboot.)
>
> Also: this approach here doesn't make any sense when you want to do
> something dependent on other cmdline parameters. Take "fadump=on" vs
> "fadump=off" as an example. You just cannot handle it properly as proposed
> in this patch. To me the approach in this patch makes least sense TBH.
Why? We don't have this kind of judgement in kernel? Crashkernel=auto is
a generic mechanism, and has been added much earlier. Fadump was added
later by IBM for their need on ppc only, it relies on crashkernel
reservation but different mechanism of dumping. If it has different value
than kdump, a special hanlding is certainly needed. Who tell it has to be
'fadump=on'? They can check the value in user space program and add into
cmdline as you suggested, they can also make it into auto. The most suitable
is the best.
And I have several questions to ask, hope you can help answer:
1) Have you ever met crashkernel=auto broken on virt platform?
Asking this because you are from Virt team, and crashkernel=auto has been
there in RHEL for many years, and we have been working with Virt team to
support dumping. We haven't seen any bug report or complaint about
crashkernel=auto from Virt.
2) Adding crashkernel=auto, and the kdumpctl estimate as user space
program to get a recommended size, then reboot. Removing crashkernel=auto,
only the kdumpctl estimate to get a recommended size, always reboot.
In RHEL we will take the 1st option. Are you willing to take the 2nd one
for Virt platform since you think crashkernel=auto is plain wrong, pure
ugliness, essentially broken, least sense?
Thanks
Baoquan
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 4:53 ` Baoquan He
@ 2021-05-10 8:32 ` David Hildenbrand
2021-05-10 10:43 ` Baoquan He
0 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-10 8:32 UTC (permalink / raw)
To: Baoquan He
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
>> "Not correlated directly" ...
>>
>> "1G-64G:128M,64G-1T:256M,1T-:512M"
>>
>> Am I still asleep and dreaming? :)
>
> Well, I said 'Not correlated directly', then gave sentences to explan
> the reason. I would like to repeat them:
>
> 1) Crashkernel need more memory on some systems mainly because of
> device driver. You can take a system, no matter how much memory you
> increse or decrease total system RAM size, the crashkernel size needed
> is invariable.
>
> - The extreme case I have give about the i40e.
> - And the more devices, narutally the more memory needed.
>
> 2) About "1G-64G:128M,64G-1T:256M,1T-:512M", I also said the different
> value is because taking very low proprotion of extra memory to avoid
> potential risk, it's cost effective. Here, add another 90M which is
> 0.13% of 64G, 0.0085% of 1TB.
Just let me clarify the problem I am having with all of this:
We model the crashkernel size as a function of the memory size. Yet,
it's pretty much independent of the memory size. That screams for "ugly".
The main problem is that early during boot we don't have a clue how much
crashkernel memory we may need. So what I see is that we are mostly
using a heuristic based on the memory size to come up with the right
answer how much devices we might have. That just feels very wrong.
I can understand the reasoning of "using a fraction of the memory size"
when booting up just to be on the safe side as we don't know", and that
motivation is much better than what I read so far. But then I wonder if
we cannot handle that any better? Because this feels very suboptimal to
me and I feel like there can be cases where the heuristic is just wrong.
As one example, can I add a whole bunch of devices to a 32GB VM and
break "crashkernel=auto"?
As another example, when I boot a 64G VM, the crashkernel size will be
512MB, although I really only might need 128MB. That's an effective
overhead of 0.5%. And especially when we take memory ballooning etc.
into account it can effectively be more than that.
Let's do a more detailed look. PPC64 in kernel-ark:
"2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
Assume I would only need 385M on a simple 16GB VM. We would have an
overhead of ~4%. But maybe on ppc64 we do have to take the memory size
into account (my assumption and, thus, my comment regarding memory hotplug)?
I wonder if we could always try allocating larger granularity (falling
back to smaller if it fails), and once the kernel is able to come up
with a better answer how many devices there are and, thus, how big the
crashkernel area really should be, shrink the preallocated crashkernel
(either from the kernel or from user space)? Not completely trivial but
possible I think. It's trivial when we allocate a memmap for the
crashkernel (I think we mostly do but I might be wrong).
The "crashkernel=auto" would really do something magical good instead of
implement some heuristic base don the memory size.
[...]
>> So, all the rules we have are essentially broken because they rely
>> completely on the system RAM during boot.
>
> How do you get this?
>
> Crashkernel=auto is a default value. PC, VMs, normal workstation and server
> which are the overall majority can work well with it. I can say the number
> is 99%. Only very few high end workstation, servers which contain
> many PCI devices need investigation to decide crashkernel size. A possible
> manual setting and rebooting is needed for them. You call this
> 'essentially broken'? So you later suggestd constructing crashkernel value
> in user space and rebooting is not broken? Even though it's the similar
> thing? what is your logic behind your conclusion?
A kernel early during boot can only guess. A kernel late during boot
knows. Please correct me if I'm wrong.
>
> Crashkernel=auto is mainly targetting most of systems, help people
> w/o much knowledge of kdump implementation to use it for debugging.
>
> I can say more about the benefit of crashkernel=auto. On Fedora, the
> community distros sponsord by Redhat, the kexec/kdump is also maintained
> by us. Fedora kernel is mainline kernel, so no crashkernel=auto
> provided. We almost never get bug report from users, means almost nobody
> use it. We hope Fedora users' usage can help test functionality of
> component.
I know how helpful "crashkernel=auto" was so far, but I am also aware
that there was strong pushback in the past, and I remember for the
reasons I gave. IMHO we should refine that approach instead of trying to
push the same thing upstream every couple of years.
I ran into the "512MB crashkernel" on a 64G VM with memory ballooning
issue already but didn't report a BZ, because so far, I was under the
impression that more memory means more crashkernel. But you explained to
me that I was just running into a (for my use case) bad heuristic.
>>> So system RAM size is the least important part to influence crashkernel
>>
>> Aehm, not with fadump, no?
>
> Fadump makes use of crashkernel reservation, but has different mechanism
> to dumping. It needs a kernel config too if this patch is accepted, or
> it can add it to command line from a user space program, I will talk
> about that later. This depends on IBM's decision, I have added Hari to CC,
> they will make the best choice after consideration.
>
I was looking at RHEL8, and there we have
fadump_cmdline = get_last_crashkernel(cmdline, "fadump=", NULL);
...
if (!fadump_cmdline || (strncmp(fadump_cmdline, "off", 3) == 0))
ck_cmdline = ...
else
ck_cmdline = ...
which was a runtime check for fadump.
Something that cannot be modeled properly at least with this patch here.
> }
>>
>>> costing. Say my x1 laptop, even though I extended the RAM to 100TB, 160M
>>> crashkernel is still enough. Just we would like to get a tiny extra part
>>> to add to crashkernel if the total RAM is very large, that's the rule
>>> for crashkernel=auto. As for VMs, given their very few devices, virtio
>>> disk, NAT nic, etc, no matter how much memory is deployed and hot
>>> added/removed, crashkernel size won't be influenced very much. My
>>> personal understanding about it.
>>
>> That's an interesting observation. But you're telling me that we end up
>> wasting memory for the crashkernel because "crashkernel=auto" which is
>> supposed to do something magical good automatically does something very
>> suboptimal? Oh my ... this is broken.
>>
>> Long story short: crashkernel=auto is pure ugliness.
>
> Very interesting. Your long story is clear to me, but your short story
> confuses me a lot.
>
> Let me try to sort out and understand. In your first reply, you asserted
> "it's plain wrong when taking memory hotplug serious account as
> we see it quite heavily in VMs", means you plain don't know if it's
> wrong, but you say it's plain wrong. I answered you 'no, not at all'
> with detailed explanation, means it's plain opposite to your assertion.
Yep, I might be partially wrong about memory hotplug thingy, mostly
because I had the RHEL8 rule for ppc64 (including fadump) in mind. For
dynamic resizing of VMs, the current rules for VMs can be very sub-optimal.
Let's relax "plain wrong" to "the heuristic can be very suboptimal
because it uses something mostly unrelated to come up with an answer".
And it's simply not plain wrong because in practice it gets the job
done. Mostly.
> So then you quickly came to 'crashkernel=auto is pure ugliness'. If a
> simple crashkernel=auto is added to cover 99% systems, and advanced
> operation only need be done for the rest which is tiny proportion,
> this is called pure ugliness, what's pure beauty? Here I say 99%, I
> could be very conservative.
I don't like wasting memory just because we cannot come up with a better
heuristic. Yes, it somewhat gets the job done, but I call that ugly. My
humble opinion.
[...]
>
> Yes, if you haven't seen our patch in fedora kexec-tools maining list,
> your suggested approach is the exactly same thing we are doing, please
> check below patch.
>
> [PATCH v2] kdumpctl: Add kdumpctl estimate
> https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/thread/YCEOJHQXKVEIVNB23M2TDAJGYVNP5MJZ/
>
> We will provide a new feature in user space script, to let user check if
> their current crashkernel size is good or not. If not, they can adjust
> accordingly.
That's good, thanks for the pointer -- wasn't aware of that.
>
> But, where's the current crashkernel size coming from? Surely
> crashkernel=auto. You wouldn't add a random crashkernel size then
> compared with the recommended crashkernel size, then reboot, will you?
> If crashkernel=auto get the expected size, no need to reboot. Means 99%
> of systems has no need to reboot. Only very few of systems, need reboot
> after checking the recommended size.
>
> Long story short. crashkernel=auto will give a default value, trying to
> cover most of systems. (Very few high end server need check if it's
> enough and adjust with the help of user space tools. Then reboot.)
Then we might really want to investigate into shrinking a possibly
larger allocation dynamically during boot.
>>
>> Also: this approach here doesn't make any sense when you want to do
>> something dependent on other cmdline parameters. Take "fadump=on" vs
>> "fadump=off" as an example. You just cannot handle it properly as proposed
>> in this patch. To me the approach in this patch makes least sense TBH.
>
> Why? We don't have this kind of judgement in kernel? Crashkernel=auto is
> a generic mechanism, and has been added much earlier. Fadump was added
> later by IBM for their need on ppc only, it relies on crashkernel
> reservation but different mechanism of dumping. If it has different value
> than kdump, a special hanlding is certainly needed. Who tell it has to be
> 'fadump=on'? They can check the value in user space program and add into
> cmdline as you suggested, they can also make it into auto. The most suitable
> is the best.
Take a look at the RHEL8 handling to see where my comment is coming from.
>
> And I have several questions to ask, hope you can help answer:
>
> 1) Have you ever met crashkernel=auto broken on virt platform?
I have encountered it being very suboptimal. I call wasting hundreds of
MB problematic, especially when dynamically resizing of VMs (for
example, using memory ballooning)
>
> Asking this because you are from Virt team, and crashkernel=auto has been
> there in RHEL for many years, and we have been working with Virt team to
> support dumping. We haven't seen any bug report or complaint about
> crashkernel=auto from Virt.
I've had plenty of bug reports where people try inflating the balloon
fairly heavily but don't take the crashkernel size into account. The
bigger the crashkernel size, the bigger the issue when people try
squeezing the last couple of MB out of their VMs. I keep repeating to
them "with crashkernel=auto, you have to be careful about how much
memory might get set aside for the crashkernel and, therefore, reduces
your effective guest OS RAM size and reduces the maximum balloon size".
>
> 2) Adding crashkernel=auto, and the kdumpctl estimate as user space
> program to get a recommended size, then reboot. Removing crashkernel=auto,
> only the kdumpctl estimate to get a recommended size, always reboot.
> In RHEL we will take the 1st option. Are you willing to take the 2nd one
> for Virt platform since you think crashkernel=auto is plain wrong, pure
> ugliness, essentially broken, least sense?
We are talking about upstreaming stuff here and I am wearing my upstream
hat here. I'm stating (just like people decades ago) that this might not
be the right approach for upstream, at least not as it stands.
And no, I don't have time to solve problems/implement solutions/upstream
patches to tackle fundamental issues that have been there for decades.
I'll be happy to help looking into dynamic shrinking of the crashkernel
size if that approach makes sense. We could even let user space trigger
that resizing -- without a reboot.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 8:32 ` David Hildenbrand
@ 2021-05-10 10:43 ` Baoquan He
2021-05-10 11:01 ` David Hildenbrand
0 siblings, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-10 10:43 UTC (permalink / raw)
To: David Hildenbrand
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2
On 05/10/21 at 10:32am, David Hildenbrand wrote:
>
> > > "Not correlated directly" ...
> > >
> > > "1G-64G:128M,64G-1T:256M,1T-:512M"
> > >
> > > Am I still asleep and dreaming? :)
> >
> > Well, I said 'Not correlated directly', then gave sentences to explan
> > the reason. I would like to repeat them:
> >
> > 1) Crashkernel need more memory on some systems mainly because of
> > device driver. You can take a system, no matter how much memory you
> > increse or decrease total system RAM size, the crashkernel size needed
> > is invariable.
> >
> > - The extreme case I have give about the i40e.
> > - And the more devices, narutally the more memory needed.
> >
> > 2) About "1G-64G:128M,64G-1T:256M,1T-:512M", I also said the different
> > value is because taking very low proprotion of extra memory to avoid
> > potential risk, it's cost effective. Here, add another 90M which is
> > 0.13% of 64G, 0.0085% of 1TB.
>
> Just let me clarify the problem I am having with all of this:
>
> We model the crashkernel size as a function of the memory size. Yet, it's
> pretty much independent of the memory size. That screams for "ugly".
>
> The main problem is that early during boot we don't have a clue how much
> crashkernel memory we may need. So what I see is that we are mostly using a
> heuristic based on the memory size to come up with the right answer how much
> devices we might have. That just feels very wrong.
>
> I can understand the reasoning of "using a fraction of the memory size" when
> booting up just to be on the safe side as we don't know", and that
> motivation is much better than what I read so far. But then I wonder if we
> cannot handle that any better? Because this feels very suboptimal to me and
> I feel like there can be cases where the heuristic is just wrong.
Yes, I understand what you said. Our headache is mainly from bare metal
system worrying the reservation is not enough becuase of many devices.
On VM, it is truly different. With much less devices, it does waste some
memory. Usually a fixed minimal size can cover 99.9% of system unless
too many devices attached/added to VM, I am not sure what's the
probability it could happen. While, by the help of /sys/kernel/kexec_crash_size,
you can shrink it to an small enough but available size. Just you may
need to reload kdump kernel because the loaded kernel should have been
erazed and out of control. The shrinking should be done at early stage of
kernel running, I would say, lest crash may happen during that period.
We ever tried several different ways to enlarge the crashkernel size
dynamically, but didn't think of a good way.
>
> As one example, can I add a whole bunch of devices to a 32GB VM and break
> "crashkernel=auto"?
>
> As another example, when I boot a 64G VM, the crashkernel size will be
> 512MB, although I really only might need 128MB. That's an effective overhead
> of 0.5%. And especially when we take memory ballooning etc. into account it
> can effectively be more than that.
>
> Let's do a more detailed look. PPC64 in kernel-ark:
>
> "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
Yes, the wasting mainly happens on ppc. Its 64K page size, caused the
difference with other ARCHes. On x86_64, s390, it's much better, assuming
most of VM won't own memory bigger than 64G, their crashkernel size will
be 160M most of time.
>
> Assume I would only need 385M on a simple 16GB VM. We would have an overhead
> of ~4%. But maybe on ppc64 we do have to take the memory size into account
> (my assumption and, thus, my comment regarding memory hotplug)?
>
>
> I wonder if we could always try allocating larger granularity (falling back
> to smaller if it fails), and once the kernel is able to come up with a
> better answer how many devices there are and, thus, how big the crashkernel
> area really should be, shrink the preallocated crashkernel (either from the
> kernel or from user space)? Not completely trivial but possible I think.
> It's trivial when we allocate a memmap for the crashkernel (I think we
> mostly do but I might be wrong).
>
> The "crashkernel=auto" would really do something magical good instead of
> implement some heuristic base don the memory size.
>
> [...]
> > > So, all the rules we have are essentially broken because they rely
> > > completely on the system RAM during boot.
> >
> > How do you get this?
> >
> > Crashkernel=auto is a default value. PC, VMs, normal workstation and server
> > which are the overall majority can work well with it. I can say the number
> > is 99%. Only very few high end workstation, servers which contain
> > many PCI devices need investigation to decide crashkernel size. A possible
> > manual setting and rebooting is needed for them. You call this
> > 'essentially broken'? So you later suggestd constructing crashkernel value
> > in user space and rebooting is not broken? Even though it's the similar
> > thing? what is your logic behind your conclusion?
>
> A kernel early during boot can only guess. A kernel late during boot knows.
> Please correct me if I'm wrong.
Well, I would not say it's guess, and would like to call them experical
values from statistical data. With a priori vlaue given by 'auto',
basically normal users of kdump don't need to care about the setting.
E.g on Fedora, 'auto' can cover all systems, assume nobody would deploy
it on a high end server. Everything we do is to make thing simple enough.
If you don't know how to set, just add 'crashkernel=auto' to cmdline,
then everything is done. I believe you agree that not everybody would
like to dig into kexec/kdump just for getting how big crashkernel size
need be set when they want to use kdump functionality.
>
> >
> > Crashkernel=auto is mainly targetting most of systems, help people
> > w/o much knowledge of kdump implementation to use it for debugging.
> >
> > I can say more about the benefit of crashkernel=auto. On Fedora, the
> > community distros sponsord by Redhat, the kexec/kdump is also maintained
> > by us. Fedora kernel is mainline kernel, so no crashkernel=auto
> > provided. We almost never get bug report from users, means almost nobody
> > use it. We hope Fedora users' usage can help test functionality of
> > component.
>
> I know how helpful "crashkernel=auto" was so far, but I am also aware that
> there was strong pushback in the past, and I remember for the reasons I
> gave. IMHO we should refine that approach instead of trying to push the same
> thing upstream every couple of years.
>
> I ran into the "512MB crashkernel" on a 64G VM with memory ballooning issue
> already but didn't report a BZ, because so far, I was under the impression
> that more memory means more crashkernel. But you explained to me that I was
> just running into a (for my use case) bad heuristic.
I re-read the old posts, didn't see strong push-back. People just gave
some different ideas instead. When we were silent, we tried different
way, e.g the enlarging crashkernel at run time as told at above, but
failed. Reusing free pages and user space pages of 1st kernel in kdump
kernel, also failed. We also talked with people to consult if it's
doable to remove 'auto' support, nobody would like to give an affirmative
answer. I know SUSE is using the way you mentioned to get a recommended
size for long time, but it needs severeal more steps and need reboot. We
prefer to take that way too as an improvement. The simpler, the better.
Besides, 'auto' doesn't introduce tons of complicated code, and we don't
think of it with a pat on the head, then try to push to pollute kernel.
>
> > > > So system RAM size is the least important part to influence crashkernel
> > >
> > > Aehm, not with fadump, no?
> >
> > Fadump makes use of crashkernel reservation, but has different mechanism
> > to dumping. It needs a kernel config too if this patch is accepted, or
> > it can add it to command line from a user space program, I will talk
> > about that later. This depends on IBM's decision, I have added Hari to CC,
> > they will make the best choice after consideration.
> >
>
> I was looking at RHEL8, and there we have
>
> fadump_cmdline = get_last_crashkernel(cmdline, "fadump=", NULL);
> ...
> if (!fadump_cmdline || (strncmp(fadump_cmdline, "off", 3) == 0))
> ck_cmdline = ...
> else
> ck_cmdline = ...
>
> which was a runtime check for fadump.
>
> Something that cannot be modeled properly at least with this patch here.
Yes, I believe it won't be done like that. A static detection or a
global switch variable can solve it.
>
> > }
> > >
> > > > costing. Say my x1 laptop, even though I extended the RAM to 100TB, 160M
> > > > crashkernel is still enough. Just we would like to get a tiny extra part
> > > > to add to crashkernel if the total RAM is very large, that's the rule
> > > > for crashkernel=auto. As for VMs, given their very few devices, virtio
> > > > disk, NAT nic, etc, no matter how much memory is deployed and hot
> > > > added/removed, crashkernel size won't be influenced very much. My
> > > > personal understanding about it.
> > >
> > > That's an interesting observation. But you're telling me that we end up
> > > wasting memory for the crashkernel because "crashkernel=auto" which is
> > > supposed to do something magical good automatically does something very
> > > suboptimal? Oh my ... this is broken.
> > >
> > > Long story short: crashkernel=auto is pure ugliness.
> >
> > Very interesting. Your long story is clear to me, but your short story
> > confuses me a lot.
> >
> > Let me try to sort out and understand. In your first reply, you asserted
> > "it's plain wrong when taking memory hotplug serious account as
> > we see it quite heavily in VMs", means you plain don't know if it's
> > wrong, but you say it's plain wrong. I answered you 'no, not at all'
> > with detailed explanation, means it's plain opposite to your assertion.
>
> Yep, I might be partially wrong about memory hotplug thingy, mostly because
> I had the RHEL8 rule for ppc64 (including fadump) in mind. For dynamic
> resizing of VMs, the current rules for VMs can be very sub-optimal.
>
> Let's relax "plain wrong" to "the heuristic can be very suboptimal because
> it uses something mostly unrelated to come up with an answer". And it's
> simply not plain wrong because in practice it gets the job done. Mostly.
>
>
> > So then you quickly came to 'crashkernel=auto is pure ugliness'. If a
> > simple crashkernel=auto is added to cover 99% systems, and advanced
> > operation only need be done for the rest which is tiny proportion,
> > this is called pure ugliness, what's pure beauty? Here I say 99%, I
> > could be very conservative.
>
> I don't like wasting memory just because we cannot come up with a better
> heuristic. Yes, it somewhat gets the job done, but I call that ugly. My
> humble opinion.
>
> [...]
>
> >
> > Yes, if you haven't seen our patch in fedora kexec-tools maining list,
> > your suggested approach is the exactly same thing we are doing, please
> > check below patch.
> >
> > [PATCH v2] kdumpctl: Add kdumpctl estimate
> > https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/thread/YCEOJHQXKVEIVNB23M2TDAJGYVNP5MJZ/
> >
> > We will provide a new feature in user space script, to let user check if
> > their current crashkernel size is good or not. If not, they can adjust
> > accordingly.
>
> That's good, thanks for the pointer -- wasn't aware of that.
>
> >
> > But, where's the current crashkernel size coming from? Surely
> > crashkernel=auto. You wouldn't add a random crashkernel size then
> > compared with the recommended crashkernel size, then reboot, will you?
> > If crashkernel=auto get the expected size, no need to reboot. Means 99%
> > of systems has no need to reboot. Only very few of systems, need reboot
> > after checking the recommended size.
> >
> > Long story short. crashkernel=auto will give a default value, trying to
> > cover most of systems. (Very few high end server need check if it's
> > enough and adjust with the help of user space tools. Then reboot.)
>
> Then we might really want to investigate into shrinking a possibly larger
> allocation dynamically during boot.
>
> > >
> > > Also: this approach here doesn't make any sense when you want to do
> > > something dependent on other cmdline parameters. Take "fadump=on" vs
> > > "fadump=off" as an example. You just cannot handle it properly as proposed
> > > in this patch. To me the approach in this patch makes least sense TBH.
> >
> > Why? We don't have this kind of judgement in kernel? Crashkernel=auto is
> > a generic mechanism, and has been added much earlier. Fadump was added
> > later by IBM for their need on ppc only, it relies on crashkernel
> > reservation but different mechanism of dumping. If it has different value
> > than kdump, a special hanlding is certainly needed. Who tell it has to be
> > 'fadump=on'? They can check the value in user space program and add into
> > cmdline as you suggested, they can also make it into auto. The most suitable
> > is the best.
>
> Take a look at the RHEL8 handling to see where my comment is coming from.
>
> >
> > And I have several questions to ask, hope you can help answer:
> >
> > 1) Have you ever met crashkernel=auto broken on virt platform?
>
> I have encountered it being very suboptimal. I call wasting hundreds of MB
> problematic, especially when dynamically resizing of VMs (for example, using
> memory ballooning)
>
> >
> > Asking this because you are from Virt team, and crashkernel=auto has been
> > there in RHEL for many years, and we have been working with Virt team to
> > support dumping. We haven't seen any bug report or complaint about
> > crashkernel=auto from Virt.
>
> I've had plenty of bug reports where people try inflating the balloon fairly
> heavily but don't take the crashkernel size into account. The bigger the
> crashkernel size, the bigger the issue when people try squeezing the last
> couple of MB out of their VMs. I keep repeating to them "with
> crashkernel=auto, you have to be careful about how much memory might get set
> aside for the crashkernel and, therefore, reduces your effective guest OS
> RAM size and reduces the maximum balloon size".
>
> >
> > 2) Adding crashkernel=auto, and the kdumpctl estimate as user space
> > program to get a recommended size, then reboot. Removing crashkernel=auto,
> > only the kdumpctl estimate to get a recommended size, always reboot.
> > In RHEL we will take the 1st option. Are you willing to take the 2nd one
> > for Virt platform since you think crashkernel=auto is plain wrong, pure
> > ugliness, essentially broken, least sense?
>
> We are talking about upstreaming stuff here and I am wearing my upstream hat
> here. I'm stating (just like people decades ago) that this might not be the
> right approach for upstream, at least not as it stands.
>
> And no, I don't have time to solve problems/implement solutions/upstream
> patches to tackle fundamental issues that have been there for decades.
>
> I'll be happy to help looking into dynamic shrinking of the crashkernel size
> if that approach makes sense. We could even let user space trigger that
> resizing -- without a reboot.
Don't reply each inline comment since I believe they have been covered
by the earlier reply. Thanks for looking to this and telling your
thought, to let us know that in fact you really care about the extra
memory on VMs which we have realized, but didn't realized it really cause
issue.
Thanks
Baoquan
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 10:43 ` Baoquan He
@ 2021-05-10 11:01 ` David Hildenbrand
2021-05-10 11:44 ` Dave Young
0 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-10 11:01 UTC (permalink / raw)
To: Baoquan He
Cc: Andrew Morton, andreyknvl, christian.brauner, colin.king, corbet,
dyoung, frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2, Michal Hocko
>> I can understand the reasoning of "using a fraction of the memory size" when
>> booting up just to be on the safe side as we don't know", and that
>> motivation is much better than what I read so far. But then I wonder if we
>> cannot handle that any better? Because this feels very suboptimal to me and
>> I feel like there can be cases where the heuristic is just wrong.
>
> Yes, I understand what you said. Our headache is mainly from bare metal
> system worrying the reservation is not enough becuase of many devices.
>
> On VM, it is truly different. With much less devices, it does waste some
> memory. Usually a fixed minimal size can cover 99.9% of system unless
> too many devices attached/added to VM, I am not sure what's the
> probability it could happen. While, by the help of /sys/kernel/kexec_crash_size,
> you can shrink it to an small enough but available size. Just you may
> need to reload kdump kernel because the loaded kernel should have been
> erazed and out of control. The shrinking should be done at early stage of
> kernel running, I would say, lest crash may happen during that period.
>
> We ever tried several different ways to enlarge the crashkernel size
> dynamically, but didn't think of a good way.
Yes, enlarging it at runtime much more difficult than shrinking.
[...]
>> A kernel early during boot can only guess. A kernel late during boot knows.
>> Please correct me if I'm wrong.
>
> Well, I would not say it's guess, and would like to call them experical
> values from statistical data. With a priori vlaue given by 'auto',
> basically normal users of kdump don't need to care about the setting.
> E.g on Fedora, 'auto' can cover all systems, assume nobody would deploy
> it on a high end server. Everything we do is to make thing simple enough.
> If you don't know how to set, just add 'crashkernel=auto' to cmdline,
> then everything is done. I believe you agree that not everybody would
> like to dig into kexec/kdump just for getting how big crashkernel size
> need be set when they want to use kdump functionality.
Oh absolutely. But OTOH, most users will leave the value untouched if it
works -- and complain at least in the VM environment to me about
surpises waste of system RAM with "crashkernel=auto".
[...]
>> I know how helpful "crashkernel=auto" was so far, but I am also aware that
>> there was strong pushback in the past, and I remember for the reasons I
>> gave. IMHO we should refine that approach instead of trying to push the same
>> thing upstream every couple of years.
>>
>> I ran into the "512MB crashkernel" on a 64G VM with memory ballooning issue
>> already but didn't report a BZ, because so far, I was under the impression
>> that more memory means more crashkernel. But you explained to me that I was
>> just running into a (for my use case) bad heuristic.
>
> I re-read the old posts, didn't see strong push-back. People just gave
> some different ideas instead. When we were silent, we tried different
> way, e.g the enlarging crashkernel at run time as told at above, but
> failed. Reusing free pages and user space pages of 1st kernel in kdump
> kernel, also failed. We also talked with people to consult if it's
Thanks for an insight into the history.
> doable to remove 'auto' support, nobody would like to give an affirmative
> answer. I know SUSE is using the way you mentioned to get a recommended
> size for long time, but it needs severeal more steps and need reboot. We
> prefer to take that way too as an improvement. The simpler, the better.
At least I'm happy to hear that other people had the same idea as me ;)
I can understand the desire for simplicity. it would be great to hear
SUSEs perception of the problem and how they would ideally want to move
forward with this.
[...]
>> I'll be happy to help looking into dynamic shrinking of the crashkernel size
>> if that approach makes sense. We could even let user space trigger that
>> resizing -- without a reboot.
>
> Don't reply each inline comment since I believe they have been covered
> by the earlier reply. Thanks for looking to this and telling your
> thought, to let us know that in fact you really care about the extra
> memory on VMs which we have realized, but didn't realized it really cause
> issue.
I mess with dynamic resizing of VMs, that's why I usually take a closer
look at all things that do stuff based on the initial VM size; yes,
there is still a lot other such things out there.
It also bugged me for quite a bit that we don't have a sane way to
achieve what we're doing here upstream. It somewhat feels like "this
doesn't belong in the kernel and is user policy" but then, the existing
kernel support is suboptimal.
Maybe reserving some "maybe too big but okayish to boot the system in a
sane environment -- e.g., X% of system RAM and at least Y" size first
and shrinking it later as triggered by user space early (where we do
seem to have a way to pre-calculate things now) might actually be a good
direction to look into.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 11:01 ` David Hildenbrand
@ 2021-05-10 11:44 ` Dave Young
2021-05-10 11:56 ` David Hildenbrand
0 siblings, 1 reply; 325+ messages in thread
From: Dave Young @ 2021-05-10 11:44 UTC (permalink / raw)
To: David Hildenbrand
Cc: Baoquan He, Andrew Morton, andreyknvl, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, rppt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko
Hi David,
On 05/10/21 at 01:01pm, David Hildenbrand wrote:
[snip]
> It also bugged me for quite a bit that we don't have a sane way to achieve
> what we're doing here upstream. It somewhat feels like "this doesn't belong
> in the kernel and is user policy" but then, the existing kernel support is
> suboptimal.
>
> Maybe reserving some "maybe too big but okayish to boot the system in a sane
> environment -- e.g., X% of system RAM and at least Y" size first and
> shrinking it later as triggered by user space early (where we do seem to
> have a way to pre-calculate things now) might actually be a good direction
> to look into.
Hmm, that is also an option we considered before. Even for your
suggestion we still need a kernel option to set the default ratio/value.
and the ratio/value should be another patch which expands crashkernel
syntax.
Actually the kconfig help text in this patch is indeed misleading, it is
not introducing crashkernel=a:b... and no need to explain about the
crashkernel syntax, the config option is actually just some interface we
can add any valid crashkernel settings to be used by default. So current
patch help text describes the default value of crash auto str, instead
of describes what crash auto str is.
And crashkernel=auto makes this more flexibly. We can tune the values
easily when upgrading. But if we pass a fixed value in userspace we
can not know if the value is set by distribution automatically or by user
manually thus we can not blindly update it.
Thanks
Dave
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 11:44 ` Dave Young
@ 2021-05-10 11:56 ` David Hildenbrand
2021-05-11 13:36 ` Baoquan He
2021-05-12 7:42 ` Dave Young
0 siblings, 2 replies; 325+ messages in thread
From: David Hildenbrand @ 2021-05-10 11:56 UTC (permalink / raw)
To: Dave Young
Cc: Baoquan He, Andrew Morton, andreyknvl, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, rppt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko
On 10.05.21 13:44, Dave Young wrote:
> Hi David,
Hi Dave,
> On 05/10/21 at 01:01pm, David Hildenbrand wrote:
> [snip]
>> It also bugged me for quite a bit that we don't have a sane way to achieve
>> what we're doing here upstream. It somewhat feels like "this doesn't belong
>> in the kernel and is user policy" but then, the existing kernel support is
>> suboptimal.
>>
>> Maybe reserving some "maybe too big but okayish to boot the system in a sane
>> environment -- e.g., X% of system RAM and at least Y" size first and
>> shrinking it later as triggered by user space early (where we do seem to
>> have a way to pre-calculate things now) might actually be a good direction
>> to look into.
>
> Hmm, that is also an option we considered before. Even for your
> suggestion we still need a kernel option to set the default ratio/value.
> and the ratio/value should be another patch which expands crashkernel
> syntax.
Right.
>
> Actually the kconfig help text in this patch is indeed misleading, it is
> not introducing crashkernel=a:b... and no need to explain about the
> crashkernel syntax, the config option is actually just some interface we
> can add any valid crashkernel settings to be used by default. So current
> patch help text describes the default value of crash auto str, instead
> of describes what crash auto str is.
Right. And I would much rather prefer either
a) handling "auto" completely in the kernel, not just setting some
questionable default at compile time
b) passing it explicitly in via the cmdline
>
> And crashkernel=auto makes this more flexibly. We can tune the values
> easily when upgrading. But if we pass a fixed value in userspace we
> can not know if the value is set by distribution automatically or by user
> manually thus we can not blindly update it.
I think there are two different cases:
1. kernel space updates the value later during boot. "crashkernel=auto"
really does the right thing, meaning
a) allocate something reasonable and safe during early boot
b) update the allocation during late boot when we know what kind of
system we're running on
Then, we indeed care about "crashkernel=auto" in the kernel and I think
it would be a nice thing to have. The only question is on how to make
that a little configurable, depending on different thingies we might
want to run in the crashkernel (assuming someone doesn't want kdump).
2. user space updates the value later during boot
IMHO we don't really car who decided on the value as we do the update
from user space. If an admin messes with crashkernel=, the admin can
also mess with kdump not doing any overwrites (e.g., make that
configurable, or detect the overwrite in kdump somehow).
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 11:56 ` David Hildenbrand
@ 2021-05-11 13:36 ` Baoquan He
2021-05-11 16:31 ` Mike Rapoport
2021-05-12 7:42 ` Dave Young
1 sibling, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-11 13:36 UTC (permalink / raw)
To: David Hildenbrand
Cc: Dave Young, Andrew Morton, christian.brauner, colin.king, corbet,
frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt, rppt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2, Michal Hocko, kasong
On 05/10/21 at 01:56pm, David Hildenbrand wrote:
> On 10.05.21 13:44, Dave Young wrote:
> > Hi David,
>
> Hi Dave,
>
> > On 05/10/21 at 01:01pm, David Hildenbrand wrote:
> > [snip]
> > > It also bugged me for quite a bit that we don't have a sane way to achieve
> > > what we're doing here upstream. It somewhat feels like "this doesn't belong
> > > in the kernel and is user policy" but then, the existing kernel support is
> > > suboptimal.
> > >
> > > Maybe reserving some "maybe too big but okayish to boot the system in a sane
> > > environment -- e.g., X% of system RAM and at least Y" size first and
> > > shrinking it later as triggered by user space early (where we do seem to
> > > have a way to pre-calculate things now) might actually be a good direction
> > > to look into.
> >
> > Hmm, that is also an option we considered before. Even for your
> > suggestion we still need a kernel option to set the default ratio/value.
> > and the ratio/value should be another patch which expands crashkernel
> > syntax.
>
> Right.
>
> >
> > Actually the kconfig help text in this patch is indeed misleading, it is
> > not introducing crashkernel=a:b... and no need to explain about the
> > crashkernel syntax, the config option is actually just some interface we
> > can add any valid crashkernel settings to be used by default. So current
> > patch help text describes the default value of crash auto str, instead
> > of describes what crash auto str is.
>
> Right. And I would much rather prefer either
>
> a) handling "auto" completely in the kernel, not just setting some
> questionable default at compile time
Thanks for the suggestions.
If the way adding default value into kernel config is disliked,
this a) option looks good. We can get value with x% of system RAM, but
clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
defined with a default value for different ARCHes. It's very close to
our current implementation, and handling 'auto' in kernel.
And kernel config provided so that people can tune the MIN/MAX value,
but no need to post patch to do the tuning each time if have to?
> b) passing it explicitly in via the cmdline
>
> >
> > And crashkernel=auto makes this more flexibly. We can tune the values
> > easily when upgrading. But if we pass a fixed value in userspace we
> > can not know if the value is set by distribution automatically or by user
> > manually thus we can not blindly update it.
>
> I think there are two different cases:
>
>
> 1. kernel space updates the value later during boot. "crashkernel=auto"
> really does the right thing, meaning
>
> a) allocate something reasonable and safe during early boot
> b) update the allocation during late boot when we know what kind of system
> we're running on
>
> Then, we indeed care about "crashkernel=auto" in the kernel and I think it
> would be a nice thing to have. The only question is on how to make that a
> little configurable, depending on different thingies we might want to run in
> the crashkernel (assuming someone doesn't want kdump).
>
>
> 2. user space updates the value later during boot
>
> IMHO we don't really car who decided on the value as we do the update from
> user space. If an admin messes with crashkernel=, the admin can also mess
> with kdump not doing any overwrites (e.g., make that configurable, or detect
> the overwrite in kdump somehow).
>
> --
> Thanks,
>
> David / dhildenb
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-11 13:36 ` Baoquan He
@ 2021-05-11 16:31 ` Mike Rapoport
2021-05-11 17:07 ` David Hildenbrand
2021-05-12 14:13 ` Baoquan He
0 siblings, 2 replies; 325+ messages in thread
From: Mike Rapoport @ 2021-05-11 16:31 UTC (permalink / raw)
To: Baoquan He
Cc: David Hildenbrand, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
Hi Baoquan,
On Tue, May 11, 2021 at 09:36:41PM +0800, Baoquan He wrote:
> On 05/10/21 at 01:56pm, David Hildenbrand wrote:
> > On 10.05.21 13:44, Dave Young wrote:
> > > Hi David,
> >
> > Hi Dave,
> >
> > > On 05/10/21 at 01:01pm, David Hildenbrand wrote:
> > > [snip]
> > > > It also bugged me for quite a bit that we don't have a sane way to achieve
> > > > what we're doing here upstream. It somewhat feels like "this doesn't belong
> > > > in the kernel and is user policy" but then, the existing kernel support is
> > > > suboptimal.
> > > >
> > > > Maybe reserving some "maybe too big but okayish to boot the system in a sane
> > > > environment -- e.g., X% of system RAM and at least Y" size first and
> > > > shrinking it later as triggered by user space early (where we do seem to
> > > > have a way to pre-calculate things now) might actually be a good direction
> > > > to look into.
> > >
> > > Hmm, that is also an option we considered before. Even for your
> > > suggestion we still need a kernel option to set the default ratio/value.
> > > and the ratio/value should be another patch which expands crashkernel
> > > syntax.
> >
> > Right.
> >
> > >
> > > Actually the kconfig help text in this patch is indeed misleading, it is
> > > not introducing crashkernel=a:b... and no need to explain about the
> > > crashkernel syntax, the config option is actually just some interface we
> > > can add any valid crashkernel settings to be used by default. So current
> > > patch help text describes the default value of crash auto str, instead
> > > of describes what crash auto str is.
> >
> > Right. And I would much rather prefer either
> >
> > a) handling "auto" completely in the kernel, not just setting some
> > questionable default at compile time
>
> Thanks for the suggestions.
>
> If the way adding default value into kernel config is disliked,
> this a) option looks good. We can get value with x% of system RAM, but
> clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> defined with a default value for different ARCHes. It's very close to
> our current implementation, and handling 'auto' in kernel.
>
> And kernel config provided so that people can tune the MIN/MAX value,
> but no need to post patch to do the tuning each time if have to?
Maybe I'm missing something, but the whole point is to avoid kernel
configuration option at all. If the crashkernel=auto works good for 99% of
the cases, there is no need to provide build time configuration along with
it. There are plenty of ways users can control crashkernel reservations
with the existing 2-4 (depending on architecture) command line options.
Simply hard coding a reasonable defaults (e.g.
"1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
crashkernel=auto is set would cover the same 99% of users you referred to.
If we can resize the reservation later during boot this will also address
David's concern about the wasted memory.
You mentioned that amount of memory that is required for crash kernel
reservation depends on the devices present on the system. Is is possible to
detect how much memory is required at late stages of boot?
> > b) passing it explicitly in via the cmdline
> >
> > >
> > > And crashkernel=auto makes this more flexibly. We can tune the values
> > > easily when upgrading. But if we pass a fixed value in userspace we
> > > can not know if the value is set by distribution automatically or by user
> > > manually thus we can not blindly update it.
> >
> > I think there are two different cases:
> >
> >
> > 1. kernel space updates the value later during boot. "crashkernel=auto"
> > really does the right thing, meaning
> >
> > a) allocate something reasonable and safe during early boot
> > b) update the allocation during late boot when we know what kind of system
> > we're running on
> >
> > Then, we indeed care about "crashkernel=auto" in the kernel and I think it
> > would be a nice thing to have. The only question is on how to make that a
> > little configurable, depending on different thingies we might want to run in
> > the crashkernel (assuming someone doesn't want kdump).
> >
> >
> > 2. user space updates the value later during boot
> >
> > IMHO we don't really car who decided on the value as we do the update from
> > user space. If an admin messes with crashkernel=, the admin can also mess
> > with kdump not doing any overwrites (e.g., make that configurable, or detect
> > the overwrite in kdump somehow).
> >
> > --
> > Thanks,
> >
> > David / dhildenb
> >
>
>
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-11 16:31 ` Mike Rapoport
@ 2021-05-11 17:07 ` David Hildenbrand
2021-05-12 14:51 ` Baoquan He
2021-05-12 14:13 ` Baoquan He
1 sibling, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-11 17:07 UTC (permalink / raw)
To: Mike Rapoport, Baoquan He
Cc: Dave Young, Andrew Morton, christian.brauner, colin.king, corbet,
frederic, gpiccoli, john.p.donnelly, jpoimboe, keescook,
linux-mm, masahiroy, mchehab+huawei, mike.kravetz, mingo,
mm-commits, paulmck, peterz, rdunlap, rostedt,
saeed.mirzamohammadi, samitolvanen, sboyd, tglx, torvalds,
vgoyal, yifeifz2, Michal Hocko, kasong
>> If the way adding default value into kernel config is disliked,
>> this a) option looks good. We can get value with x% of system RAM, but
>> clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
>> defined with a default value for different ARCHes. It's very close to
>> our current implementation, and handling 'auto' in kernel.
>>
>> And kernel config provided so that people can tune the MIN/MAX value,
>> but no need to post patch to do the tuning each time if have to?
>
> Maybe I'm missing something, but the whole point is to avoid kernel
> configuration option at all. If the crashkernel=auto works good for 99% of
> the cases, there is no need to provide build time configuration along with
> it. There are plenty of ways users can control crashkernel reservations
> with the existing 2-4 (depending on architecture) command line options.
>
> Simply hard coding a reasonable defaults (e.g.
> "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> crashkernel=auto is set would cover the same 99% of users you referred to.
Right, and we can easily allocate a bit more as a safety net temporarily
when we can actually shrink the area later.
>
> If we can resize the reservation later during boot this will also address
> David's concern about the wasted memory.
>
Yes.
> You mentioned that amount of memory that is required for crash kernel
> reservation depends on the devices present on the system. Is is possible to
> detect how much memory is required at late stages of boot?
Here is my thinking:
There seems to be some kind of formula we can roughly use to come up
with the final crashkernel size. Baoquan for sure knows all the dirty
details, I assume it's roughly "core kernel + drivers + user space".
In the kernel, we can only come up with "core kernel + drivers"
expecting that we will run
a) roughly the same kernel
b) with roughly the same drivers
The "user space" part is completely under user space control, depending
on what application will be run after kexec.
So I wonder if something like
crashkernel=auto,100M
whereby "100M" corresponds to user space demands in addition to the
variable part depend on the current kernel + drivers.
would already be somewhat sufficient for main use cases I guess.
Of course, that approach will get more complicated if the user space
portion heavily depends on the drivers etc. Then we need more tunables.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-11 17:07 ` David Hildenbrand
@ 2021-05-12 14:51 ` Baoquan He
2021-05-12 15:07 ` David Hildenbrand
` (2 more replies)
0 siblings, 3 replies; 325+ messages in thread
From: Baoquan He @ 2021-05-12 14:51 UTC (permalink / raw)
To: David Hildenbrand
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
On 05/11/21 at 07:07pm, David Hildenbrand wrote:
> > > If the way adding default value into kernel config is disliked,
> > > this a) option looks good. We can get value with x% of system RAM, but
> > > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > > defined with a default value for different ARCHes. It's very close to
> > > our current implementation, and handling 'auto' in kernel.
> > >
> > > And kernel config provided so that people can tune the MIN/MAX value,
> > > but no need to post patch to do the tuning each time if have to?
> > Maybe I'm missing something, but the whole point is to avoid kernel
> > configuration option at all. If the crashkernel=auto works good for 99% of
> > the cases, there is no need to provide build time configuration along with
> > it. There are plenty of ways users can control crashkernel reservations
> > with the existing 2-4 (depending on architecture) command line options.
> >
> > Simply hard coding a reasonable defaults (e.g.
> > "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> > crashkernel=auto is set would cover the same 99% of users you referred to.
>
> Right, and we can easily allocate a bit more as a safety net temporarily
> when we can actually shrink the area later.
>
> >
> > If we can resize the reservation later during boot this will also address
> > David's concern about the wasted memory.
> >
>
> Yes.
>
> > You mentioned that amount of memory that is required for crash kernel
> > reservation depends on the devices present on the system. Is is possible to
> > detect how much memory is required at late stages of boot?
>
> Here is my thinking:
>
> There seems to be some kind of formula we can roughly use to come up with
> the final crashkernel size. Baoquan for sure knows all the dirty details, I
> assume it's roughly "core kernel + drivers + user space".
>
> In the kernel, we can only come up with "core kernel + drivers" expecting
> that we will run
>
> a) roughly the same kernel
> b) with roughly the same drivers
As replied to Mike, kernel size is undecided for different kernel with
different configs. We can define a default minimal size to cover kernel
and driver on systems with not many devices, but hardcoding the size
into upstream is not helpful. If the size is big, users will be asked to
check and shrink always. If the size is too small, a new value need be
got and added to cmdline and reboot.
>
> The "user space" part is completely under user space control, depending on
> what application will be run after kexec.
>
> So I wonder if something like
>
> crashkernel=auto,100M
>
> whereby "100M" corresponds to user space demands in addition to the variable
> part depend on the current kernel + drivers.
>
> would already be somewhat sufficient for main use cases I guess.
>
> Of course, that approach will get more complicated if the user space portion
> heavily depends on the drivers etc. Then we need more tunables.
>
> --
> Thanks,
>
> David / dhildenb
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-12 14:51 ` Baoquan He
@ 2021-05-12 15:07 ` David Hildenbrand
2021-05-13 5:04 ` Baoquan He
2021-05-12 19:03 ` Kairui Song
2021-05-17 8:22 ` David Hildenbrand
2 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-12 15:07 UTC (permalink / raw)
To: Baoquan He
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
On 12.05.21 16:51, Baoquan He wrote:
> On 05/11/21 at 07:07pm, David Hildenbrand wrote:
>>>> If the way adding default value into kernel config is disliked,
>>>> this a) option looks good. We can get value with x% of system RAM, but
>>>> clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
>>>> defined with a default value for different ARCHes. It's very close to
>>>> our current implementation, and handling 'auto' in kernel.
>>>>
>>>> And kernel config provided so that people can tune the MIN/MAX value,
>>>> but no need to post patch to do the tuning each time if have to?
>>> Maybe I'm missing something, but the whole point is to avoid kernel
>>> configuration option at all. If the crashkernel=auto works good for 99% of
>>> the cases, there is no need to provide build time configuration along with
>>> it. There are plenty of ways users can control crashkernel reservations
>>> with the existing 2-4 (depending on architecture) command line options.
>>>
>>> Simply hard coding a reasonable defaults (e.g.
>>> "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
>>> crashkernel=auto is set would cover the same 99% of users you referred to.
>>
>> Right, and we can easily allocate a bit more as a safety net temporarily
>> when we can actually shrink the area later.
>>
>>>
>>> If we can resize the reservation later during boot this will also address
>>> David's concern about the wasted memory.
>>>
>>
>> Yes.
>>
>>> You mentioned that amount of memory that is required for crash kernel
>>> reservation depends on the devices present on the system. Is is possible to
>>> detect how much memory is required at late stages of boot?
>>
>> Here is my thinking:
>>
>> There seems to be some kind of formula we can roughly use to come up with
>> the final crashkernel size. Baoquan for sure knows all the dirty details, I
>> assume it's roughly "core kernel + drivers + user space".
>>
>> In the kernel, we can only come up with "core kernel + drivers" expecting
>> that we will run
>>
>> a) roughly the same kernel
>> b) with roughly the same drivers
>
> As replied to Mike, kernel size is undecided for different kernel with
> different configs. We can define a default minimal size to cover kernel
> and driver on systems with not many devices, but hardcoding the size
I never talked about hardcoding, did I?
> into upstream is not helpful. If the size is big, users will be asked to
> check and shrink always. If the size is too small, a new value need be
> got and added to cmdline and reboot.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-12 15:07 ` David Hildenbrand
@ 2021-05-13 5:04 ` Baoquan He
0 siblings, 0 replies; 325+ messages in thread
From: Baoquan He @ 2021-05-13 5:04 UTC (permalink / raw)
To: David Hildenbrand
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
On 05/12/21 at 05:07pm, David Hildenbrand wrote:
> On 12.05.21 16:51, Baoquan He wrote:
> > On 05/11/21 at 07:07pm, David Hildenbrand wrote:
> > > > > If the way adding default value into kernel config is disliked,
> > > > > this a) option looks good. We can get value with x% of system RAM, but
> > > > > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > > > > defined with a default value for different ARCHes. It's very close to
> > > > > our current implementation, and handling 'auto' in kernel.
> > > > >
> > > > > And kernel config provided so that people can tune the MIN/MAX value,
> > > > > but no need to post patch to do the tuning each time if have to?
> > > > Maybe I'm missing something, but the whole point is to avoid kernel
> > > > configuration option at all. If the crashkernel=auto works good for 99% of
> > > > the cases, there is no need to provide build time configuration along with
> > > > it. There are plenty of ways users can control crashkernel reservations
> > > > with the existing 2-4 (depending on architecture) command line options.
> > > >
> > > > Simply hard coding a reasonable defaults (e.g.
> > > > "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> > > > crashkernel=auto is set would cover the same 99% of users you referred to.
> > >
> > > Right, and we can easily allocate a bit more as a safety net temporarily
> > > when we can actually shrink the area later.
> > >
> > > >
> > > > If we can resize the reservation later during boot this will also address
> > > > David's concern about the wasted memory.
> > > >
> > >
> > > Yes.
> > >
> > > > You mentioned that amount of memory that is required for crash kernel
> > > > reservation depends on the devices present on the system. Is is possible to
> > > > detect how much memory is required at late stages of boot?
> > >
> > > Here is my thinking:
> > >
> > > There seems to be some kind of formula we can roughly use to come up with
> > > the final crashkernel size. Baoquan for sure knows all the dirty details, I
> > > assume it's roughly "core kernel + drivers + user space".
> > >
> > > In the kernel, we can only come up with "core kernel + drivers" expecting
> > > that we will run
> > >
> > > a) roughly the same kernel
> > > b) with roughly the same drivers
> >
> > As replied to Mike, kernel size is undecided for different kernel with
> > different configs. We can define a default minimal size to cover kernel
> > and driver on systems with not many devices, but hardcoding the size
>
> I never talked about hardcoding, did I?
Sorry, I didn't make it clear. I said hardcoding, meaning a hardcoding
min value. No matter what formula we take, it needs a default MIN value
to restrict the lowest size, right? That MIN value is the hardcoding I
meant. With it properly chosen, most of systems have no need to shrink
or adjust the crashkernel, given most of systems own memory less than
64G. Let alone the later estimation is done in 1st kernel, very likely
it will get a bigger value as really needed.
>
> > into upstream is not helpful. If the size is big, users will be asked to
> > check and shrink always. If the size is too small, a new value need be
> > got and added to cmdline and reboot.
>
>
> --
> Thanks,
>
> David / dhildenb
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-12 14:51 ` Baoquan He
2021-05-12 15:07 ` David Hildenbrand
@ 2021-05-12 19:03 ` Kairui Song
2021-05-17 8:22 ` David Hildenbrand
2 siblings, 0 replies; 325+ messages in thread
From: Kairui Song @ 2021-05-12 19:03 UTC (permalink / raw)
To: David Hildenbrand, Baoquan He
Cc: Mike Rapoport, Dave Young, Andrew Morton, Christian Brauner,
Colin Ian King, Jonathan Corbet, Frederic Weisbecker,
Guilherme G. Piccoli, John Donnelly, Josh Poimboeuf, Kees Cook,
linux-mm, Masahiro Yamada, Mauro Carvalho Chehab, Mike Kravetz,
Ingo Molnar, mm-commits, Paul E. McKenney, Peter Zijlstra,
Randy Dunlap, Steven Rostedt (VMware),
Saeed Mirzamohammadi, Sami Tolvanen, Stephen Boyd,
Thomas Gleixner, torvalds, Vivek Goyal, YiFei Zhu, Michal Hocko
On Wed, May 12, 2021 at 10:52 PM Baoquan He <bhe@redhat.com> wrote:
> On 05/11/21 at 07:07pm, David Hildenbrand wrote:
> > > > If the way adding default value into kernel config is disliked,
> > > > this a) option looks good. We can get value with x% of system RAM, but
> > > > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > > > defined with a default value for different ARCHes. It's very close to
> > > > our current implementation, and handling 'auto' in kernel.
> > > >
> > > > And kernel config provided so that people can tune the MIN/MAX value,
> > > > but no need to post patch to do the tuning each time if have to?
> > > Maybe I'm missing something, but the whole point is to avoid kernel
> > > configuration option at all. If the crashkernel=auto works good for 99% of
> > > the cases, there is no need to provide build time configuration along with
> > > it. There are plenty of ways users can control crashkernel reservations
> > > with the existing 2-4 (depending on architecture) command line options.
> > >
> > > Simply hard coding a reasonable defaults (e.g.
> > > "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> > > crashkernel=auto is set would cover the same 99% of users you referred to.
> >
> > Right, and we can easily allocate a bit more as a safety net temporarily
> > when we can actually shrink the area later.
> >
> > >
> > > If we can resize the reservation later during boot this will also address
> > > David's concern about the wasted memory.
> > >
> >
> > Yes.
> >
> > > You mentioned that amount of memory that is required for crash kernel
> > > reservation depends on the devices present on the system. Is is possible to
> > > detect how much memory is required at late stages of boot?
> >
> > Here is my thinking:
> >
> > There seems to be some kind of formula we can roughly use to come up with
> > the final crashkernel size. Baoquan for sure knows all the dirty details, I
> > assume it's roughly "core kernel + drivers + user space".
> >
> > In the kernel, we can only come up with "core kernel + drivers" expecting
> > that we will run
> >
> > a) roughly the same kernel
> > b) with roughly the same drivers
>
> As replied to Mike, kernel size is undecided for different kernel with
> different configs. We can define a default minimal size to cover kernel
> and driver on systems with not many devices, but hardcoding the size
> into upstream is not helpful. If the size is big, users will be asked to
> check and shrink always. If the size is too small, a new value need be
> got and added to cmdline and reboot.
>
> >
> > The "user space" part is completely under user space control, depending on
> > what application will be run after kexec.
> >
> > So I wonder if something like
> >
> > crashkernel=auto,100M
> >
> > whereby "100M" corresponds to user space demands in addition to the variable
> > part depend on the current kernel + drivers.
> >
> > would already be somewhat sufficient for main use cases I guess.
> >
> > Of course, that approach will get more complicated if the user space portion
> > heavily depends on the drivers etc. Then we need more tunables.
> >
I actually like this idea of "crashkernel=auto,100M" at first look, it
gives some tunable space for userspace, and kernel can just take care
of its own memory usage. Userspace is completely undeterminable.
But unfortunately estimating kernel usage for kdump is also very hard.
It's heavily related to the kdump kernel's cmdline, and kernel has
many kdump specified behavior/workaround that affects mem usage, and
kernel kconfig also affects it.
Just for example, `nr_cpus=1`, `noefi` are commonly used for kdump
kernel cmdline to reduce memory usage, but it's also completely
acceptable to not use such kernel params for kdump kernel. Even a
rough estimation most likely won't work, those moving parts can change
the memory usage by a lot.
So basically the kdump's memory usage (userspace or kernel) is not
estimable from kernel side in a generic way. It's strictly bonded to
distro implementation and config.
And also that's why this patch started with adding a kconfig, so
distros can set a value that corresponds to their default setup.
Baoquan has added reasons why passing the `crashkernel=` config via
cmdline also mess things up. So at the time this patch is sent, having
a tunable (via kconfig) `crashkernel=auto` seemed the most helpful
way. I'm not sure if there is a better way to make it distro tunable
if not through kconfig.
--
Best Regards,
Kairui Song
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-12 14:51 ` Baoquan He
2021-05-12 15:07 ` David Hildenbrand
2021-05-12 19:03 ` Kairui Song
@ 2021-05-17 8:22 ` David Hildenbrand
2021-05-18 8:49 ` Baoquan He
2 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-17 8:22 UTC (permalink / raw)
To: Baoquan He
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
On 12.05.21 16:51, Baoquan He wrote:
> On 05/11/21 at 07:07pm, David Hildenbrand wrote:
>>>> If the way adding default value into kernel config is disliked,
>>>> this a) option looks good. We can get value with x% of system RAM, but
>>>> clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
>>>> defined with a default value for different ARCHes. It's very close to
>>>> our current implementation, and handling 'auto' in kernel.
>>>>
>>>> And kernel config provided so that people can tune the MIN/MAX value,
>>>> but no need to post patch to do the tuning each time if have to?
>>> Maybe I'm missing something, but the whole point is to avoid kernel
>>> configuration option at all. If the crashkernel=auto works good for 99% of
>>> the cases, there is no need to provide build time configuration along with
>>> it. There are plenty of ways users can control crashkernel reservations
>>> with the existing 2-4 (depending on architecture) command line options.
>>>
>>> Simply hard coding a reasonable defaults (e.g.
>>> "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
>>> crashkernel=auto is set would cover the same 99% of users you referred to.
>>
>> Right, and we can easily allocate a bit more as a safety net temporarily
>> when we can actually shrink the area later.
>>
>>>
>>> If we can resize the reservation later during boot this will also address
>>> David's concern about the wasted memory.
>>>
>>
>> Yes.
>>
>>> You mentioned that amount of memory that is required for crash kernel
>>> reservation depends on the devices present on the system. Is is possible to
>>> detect how much memory is required at late stages of boot?
>>
>> Here is my thinking:
>>
>> There seems to be some kind of formula we can roughly use to come up with
>> the final crashkernel size. Baoquan for sure knows all the dirty details, I
>> assume it's roughly "core kernel + drivers + user space".
>>
>> In the kernel, we can only come up with "core kernel + drivers" expecting
>> that we will run
>>
>> a) roughly the same kernel
>> b) with roughly the same drivers
>
> As replied to Mike, kernel size is undecided for different kernel with
> different configs. We can define a default minimal size to cover kernel
> and driver on systems with not many devices, but hardcoding the size
> into upstream is not helpful. If the size is big, users will be asked to
> check and shrink always. If the size is too small, a new value need be
> got and added to cmdline and reboot.
>
Hi Baoquan, Kairui, Dave,
so IIUC now, our "old" kernel cannot actually tell us any reliable
"crashkernel area size" because
a) it has no idea with which cmdline parameters the crashkernel will be
started with, and these can have a big impact.
b) it has no idea which driver will be loaded in the crashkernel.
c) It has no idea what will be running in the crashkernel user space.
AFAIKS, best we can do without further information is, therefore, use
some heuristic to a) allocate some memory early during boot in the
kernel and b) later refine our allocation, triggered by user space (->
shrink the crashkernel area).
I dislike calling a) "auto". It provides a default based on some
heuristic (boot memory size), and that default might be very unfortunate
in some scenarios (-> waste memory).
While we could discuss calling the current approach ( a)
)"crashkernel=default", whereby the default is encoded at compile time
as determined by a distributor, I still still quite don't like it
because it feels like this is not necessary. We have a way to pass
something like that via the cmdline, so it's just a matter of properly
using that feature from user space.
AFAIKS, all you want is most probably a more dynamic way to construct a
kernel cmdline, with some properties specific to a kernel.
Let's assume the following:
a) When a distributor ships a kernel, he also ships some kind of
defaults file. Let's assume for simplicity
/lib/modules/5.11.19-200.fc33.x86_64/defaults.conf
The file might contain
CRASHKERNEL_DEFAULT=WHATEVER
b) When generating the cmdline for e.g.,
/boot/loader/entries/XXX-5.11.19-200.fc33.x86_64.conf we run some script
that consult that file in addition to /etc/default/grub. For example, if
the kdump service was installed and /etc/default/grub does not contain
"crashkernel=" (except when we encounter "crashkernel=auto" for compat
handling), we add "crashkernel=WHATEVER". Of course, we might do more
involved stuff based on the current setup, user config, etc.
c) When we install the kdump service, all we have to do is re-generate
the boot entries AFAIKS. Just like we would when adding
"crashkernel=auto" right now.
The end result would also allow for having per-kernel defaults and
change them on kernel updates. Would require some thought on how to make
it fly in user space, how to "ship" the defaults etc.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-17 8:22 ` David Hildenbrand
@ 2021-05-18 8:49 ` Baoquan He
2021-05-18 8:51 ` David Hildenbrand
0 siblings, 1 reply; 325+ messages in thread
From: Baoquan He @ 2021-05-18 8:49 UTC (permalink / raw)
To: David Hildenbrand
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong, hbathini
On 05/17/21 at 10:22am, David Hildenbrand wrote:
> On 12.05.21 16:51, Baoquan He wrote:
> > On 05/11/21 at 07:07pm, David Hildenbrand wrote:
> > > > > If the way adding default value into kernel config is disliked,
> > > > > this a) option looks good. We can get value with x% of system RAM, but
> > > > > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > > > > defined with a default value for different ARCHes. It's very close to
> > > > > our current implementation, and handling 'auto' in kernel.
> > > > >
> > > > > And kernel config provided so that people can tune the MIN/MAX value,
> > > > > but no need to post patch to do the tuning each time if have to?
> > > > Maybe I'm missing something, but the whole point is to avoid kernel
> > > > configuration option at all. If the crashkernel=auto works good for 99% of
> > > > the cases, there is no need to provide build time configuration along with
> > > > it. There are plenty of ways users can control crashkernel reservations
> > > > with the existing 2-4 (depending on architecture) command line options.
> > > >
> > > > Simply hard coding a reasonable defaults (e.g.
> > > > "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> > > > crashkernel=auto is set would cover the same 99% of users you referred to.
> > >
> > > Right, and we can easily allocate a bit more as a safety net temporarily
> > > when we can actually shrink the area later.
> > >
> > > >
> > > > If we can resize the reservation later during boot this will also address
> > > > David's concern about the wasted memory.
> > > >
> > >
> > > Yes.
> > >
> > > > You mentioned that amount of memory that is required for crash kernel
> > > > reservation depends on the devices present on the system. Is is possible to
> > > > detect how much memory is required at late stages of boot?
> > >
> > > Here is my thinking:
> > >
> > > There seems to be some kind of formula we can roughly use to come up with
> > > the final crashkernel size. Baoquan for sure knows all the dirty details, I
> > > assume it's roughly "core kernel + drivers + user space".
> > >
> > > In the kernel, we can only come up with "core kernel + drivers" expecting
> > > that we will run
> > >
> > > a) roughly the same kernel
> > > b) with roughly the same drivers
> >
> > As replied to Mike, kernel size is undecided for different kernel with
> > different configs. We can define a default minimal size to cover kernel
> > and driver on systems with not many devices, but hardcoding the size
> > into upstream is not helpful. If the size is big, users will be asked to
> > check and shrink always. If the size is too small, a new value need be
> > got and added to cmdline and reboot.
> >
>
> Hi Baoquan, Kairui, Dave,
>
> so IIUC now, our "old" kernel cannot actually tell us any reliable
> "crashkernel area size" because
>
> a) it has no idea with which cmdline parameters the crashkernel will be
> started with, and these can have a big impact.
> b) it has no idea which driver will be loaded in the crashkernel.
> c) It has no idea what will be running in the crashkernel user space.
>
>
> AFAIKS, best we can do without further information is, therefore, use some
> heuristic to a) allocate some memory early during boot in the kernel and b)
> later refine our allocation, triggered by user space (-> shrink the
> crashkernel area).
>
> I dislike calling a) "auto". It provides a default based on some heuristic
> (boot memory size), and that default might be very unfortunate in some
> scenarios (-> waste memory).
>
> While we could discuss calling the current approach ( a)
> )"crashkernel=default", whereby the default is encoded at compile time as
> determined by a distributor, I still still quite don't like it because it
> feels like this is not necessary. We have a way to pass something like that
> via the cmdline, so it's just a matter of properly using that feature from
> user space.
>
>
> AFAIKS, all you want is most probably a more dynamic way to construct a
> kernel cmdline, with some properties specific to a kernel.
>
> Let's assume the following:
>
> a) When a distributor ships a kernel, he also ships some kind of defaults
> file. Let's assume for simplicity
>
> /lib/modules/5.11.19-200.fc33.x86_64/defaults.conf
>
> The file might contain
>
> CRASHKERNEL_DEFAULT=WHATEVER
>
>
> b) When generating the cmdline for e.g.,
> /boot/loader/entries/XXX-5.11.19-200.fc33.x86_64.conf we run some script
> that consult that file in addition to /etc/default/grub. For example, if the
> kdump service was installed and /etc/default/grub does not contain
> "crashkernel=" (except when we encounter "crashkernel=auto" for compat
> handling), we add "crashkernel=WHATEVER". Of course, we might do more
> involved stuff based on the current setup, user config, etc.
>
>
> c) When we install the kdump service, all we have to do is re-generate the
> boot entries AFAIKS. Just like we would when adding "crashkernel=auto" right
> now.
>
>
> The end result would also allow for having per-kernel defaults and change
> them on kernel updates. Would require some thought on how to make it fly in
> user space, how to "ship" the defaults etc.
Thanks for looking into this, and really appreciate your insight,
comments and patience.
We had a sync in team about various viable solutions the other day,
and also talked about the similar one as you suggested here since
it seems to be able to resolve the concerns we have for a replacement
of crashkernel=auto. We will try these in userspace in our side, hope it
won't introduce risk and can replace crashkernel=auto perfectly.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-18 8:49 ` Baoquan He
@ 2021-05-18 8:51 ` David Hildenbrand
2021-05-18 9:24 ` Dave Young
0 siblings, 1 reply; 325+ messages in thread
From: David Hildenbrand @ 2021-05-18 8:51 UTC (permalink / raw)
To: Baoquan He
Cc: Mike Rapoport, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong, hbathini
On 18.05.21 10:49, Baoquan He wrote:
> On 05/17/21 at 10:22am, David Hildenbrand wrote:
>> On 12.05.21 16:51, Baoquan He wrote:
>>> On 05/11/21 at 07:07pm, David Hildenbrand wrote:
>>>>>> If the way adding default value into kernel config is disliked,
>>>>>> this a) option looks good. We can get value with x% of system RAM, but
>>>>>> clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
>>>>>> defined with a default value for different ARCHes. It's very close to
>>>>>> our current implementation, and handling 'auto' in kernel.
>>>>>>
>>>>>> And kernel config provided so that people can tune the MIN/MAX value,
>>>>>> but no need to post patch to do the tuning each time if have to?
>>>>> Maybe I'm missing something, but the whole point is to avoid kernel
>>>>> configuration option at all. If the crashkernel=auto works good for 99% of
>>>>> the cases, there is no need to provide build time configuration along with
>>>>> it. There are plenty of ways users can control crashkernel reservations
>>>>> with the existing 2-4 (depending on architecture) command line options.
>>>>>
>>>>> Simply hard coding a reasonable defaults (e.g.
>>>>> "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
>>>>> crashkernel=auto is set would cover the same 99% of users you referred to.
>>>>
>>>> Right, and we can easily allocate a bit more as a safety net temporarily
>>>> when we can actually shrink the area later.
>>>>
>>>>>
>>>>> If we can resize the reservation later during boot this will also address
>>>>> David's concern about the wasted memory.
>>>>>
>>>>
>>>> Yes.
>>>>
>>>>> You mentioned that amount of memory that is required for crash kernel
>>>>> reservation depends on the devices present on the system. Is is possible to
>>>>> detect how much memory is required at late stages of boot?
>>>>
>>>> Here is my thinking:
>>>>
>>>> There seems to be some kind of formula we can roughly use to come up with
>>>> the final crashkernel size. Baoquan for sure knows all the dirty details, I
>>>> assume it's roughly "core kernel + drivers + user space".
>>>>
>>>> In the kernel, we can only come up with "core kernel + drivers" expecting
>>>> that we will run
>>>>
>>>> a) roughly the same kernel
>>>> b) with roughly the same drivers
>>>
>>> As replied to Mike, kernel size is undecided for different kernel with
>>> different configs. We can define a default minimal size to cover kernel
>>> and driver on systems with not many devices, but hardcoding the size
>>> into upstream is not helpful. If the size is big, users will be asked to
>>> check and shrink always. If the size is too small, a new value need be
>>> got and added to cmdline and reboot.
>>>
>>
>> Hi Baoquan, Kairui, Dave,
>>
>> so IIUC now, our "old" kernel cannot actually tell us any reliable
>> "crashkernel area size" because
>>
>> a) it has no idea with which cmdline parameters the crashkernel will be
>> started with, and these can have a big impact.
>> b) it has no idea which driver will be loaded in the crashkernel.
>> c) It has no idea what will be running in the crashkernel user space.
>>
>>
>> AFAIKS, best we can do without further information is, therefore, use some
>> heuristic to a) allocate some memory early during boot in the kernel and b)
>> later refine our allocation, triggered by user space (-> shrink the
>> crashkernel area).
>>
>> I dislike calling a) "auto". It provides a default based on some heuristic
>> (boot memory size), and that default might be very unfortunate in some
>> scenarios (-> waste memory).
>>
>> While we could discuss calling the current approach ( a)
>> )"crashkernel=default", whereby the default is encoded at compile time as
>> determined by a distributor, I still still quite don't like it because it
>> feels like this is not necessary. We have a way to pass something like that
>> via the cmdline, so it's just a matter of properly using that feature from
>> user space.
>>
>>
>> AFAIKS, all you want is most probably a more dynamic way to construct a
>> kernel cmdline, with some properties specific to a kernel.
>>
>> Let's assume the following:
>>
>> a) When a distributor ships a kernel, he also ships some kind of defaults
>> file. Let's assume for simplicity
>>
>> /lib/modules/5.11.19-200.fc33.x86_64/defaults.conf
>>
>> The file might contain
>>
>> CRASHKERNEL_DEFAULT=WHATEVER
>>
>>
>> b) When generating the cmdline for e.g.,
>> /boot/loader/entries/XXX-5.11.19-200.fc33.x86_64.conf we run some script
>> that consult that file in addition to /etc/default/grub. For example, if the
>> kdump service was installed and /etc/default/grub does not contain
>> "crashkernel=" (except when we encounter "crashkernel=auto" for compat
>> handling), we add "crashkernel=WHATEVER". Of course, we might do more
>> involved stuff based on the current setup, user config, etc.
>>
>>
>> c) When we install the kdump service, all we have to do is re-generate the
>> boot entries AFAIKS. Just like we would when adding "crashkernel=auto" right
>> now.
>>
>>
>> The end result would also allow for having per-kernel defaults and change
>> them on kernel updates. Would require some thought on how to make it fly in
>> user space, how to "ship" the defaults etc.
>
> Thanks for looking into this, and really appreciate your insight,
> comments and patience.
Thanks for being patient with me :)
>
> We had a sync in team about various viable solutions the other day,
> and also talked about the similar one as you suggested here since
> it seems to be able to resolve the concerns we have for a replacement
> of crashkernel=auto. We will try these in userspace in our side, hope it
> won't introduce risk and can replace crashkernel=auto perfectly.
Sure, and as I said, if we want to look into shrinking of the
crashkernel area triggered by user space, I'm happy to help.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-18 8:51 ` David Hildenbrand
@ 2021-05-18 9:24 ` Dave Young
0 siblings, 0 replies; 325+ messages in thread
From: Dave Young @ 2021-05-18 9:24 UTC (permalink / raw)
To: David Hildenbrand, hbathini
Cc: Baoquan He, Mike Rapoport, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong, kexec
[Add kexec list, for people interested about the old replies, please find in linux-mm archive]
On 05/18/21 at 10:51am, David Hildenbrand wrote:
> On 18.05.21 10:49, Baoquan He wrote:
> > On 05/17/21 at 10:22am, David Hildenbrand wrote:
> > > On 12.05.21 16:51, Baoquan He wrote:
> > > > On 05/11/21 at 07:07pm, David Hildenbrand wrote:
> > > > > > > If the way adding default value into kernel config is disliked,
> > > > > > > this a) option looks good. We can get value with x% of system RAM, but
> > > > > > > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > > > > > > defined with a default value for different ARCHes. It's very close to
> > > > > > > our current implementation, and handling 'auto' in kernel.
> > > > > > >
> > > > > > > And kernel config provided so that people can tune the MIN/MAX value,
> > > > > > > but no need to post patch to do the tuning each time if have to?
> > > > > > Maybe I'm missing something, but the whole point is to avoid kernel
> > > > > > configuration option at all. If the crashkernel=auto works good for 99% of
> > > > > > the cases, there is no need to provide build time configuration along with
> > > > > > it. There are plenty of ways users can control crashkernel reservations
> > > > > > with the existing 2-4 (depending on architecture) command line options.
> > > > > >
> > > > > > Simply hard coding a reasonable defaults (e.g.
> > > > > > "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> > > > > > crashkernel=auto is set would cover the same 99% of users you referred to.
> > > > >
> > > > > Right, and we can easily allocate a bit more as a safety net temporarily
> > > > > when we can actually shrink the area later.
> > > > >
> > > > > >
> > > > > > If we can resize the reservation later during boot this will also address
> > > > > > David's concern about the wasted memory.
> > > > > >
> > > > >
> > > > > Yes.
> > > > >
> > > > > > You mentioned that amount of memory that is required for crash kernel
> > > > > > reservation depends on the devices present on the system. Is is possible to
> > > > > > detect how much memory is required at late stages of boot?
> > > > >
> > > > > Here is my thinking:
> > > > >
> > > > > There seems to be some kind of formula we can roughly use to come up with
> > > > > the final crashkernel size. Baoquan for sure knows all the dirty details, I
> > > > > assume it's roughly "core kernel + drivers + user space".
> > > > >
> > > > > In the kernel, we can only come up with "core kernel + drivers" expecting
> > > > > that we will run
> > > > >
> > > > > a) roughly the same kernel
> > > > > b) with roughly the same drivers
> > > >
> > > > As replied to Mike, kernel size is undecided for different kernel with
> > > > different configs. We can define a default minimal size to cover kernel
> > > > and driver on systems with not many devices, but hardcoding the size
> > > > into upstream is not helpful. If the size is big, users will be asked to
> > > > check and shrink always. If the size is too small, a new value need be
> > > > got and added to cmdline and reboot.
> > > >
> > >
> > > Hi Baoquan, Kairui, Dave,
> > >
> > > so IIUC now, our "old" kernel cannot actually tell us any reliable
> > > "crashkernel area size" because
> > >
> > > a) it has no idea with which cmdline parameters the crashkernel will be
> > > started with, and these can have a big impact.
> > > b) it has no idea which driver will be loaded in the crashkernel.
> > > c) It has no idea what will be running in the crashkernel user space.
> > >
> > >
> > > AFAIKS, best we can do without further information is, therefore, use some
> > > heuristic to a) allocate some memory early during boot in the kernel and b)
> > > later refine our allocation, triggered by user space (-> shrink the
> > > crashkernel area).
> > >
> > > I dislike calling a) "auto". It provides a default based on some heuristic
> > > (boot memory size), and that default might be very unfortunate in some
> > > scenarios (-> waste memory).
> > >
> > > While we could discuss calling the current approach ( a)
> > > )"crashkernel=default", whereby the default is encoded at compile time as
> > > determined by a distributor, I still still quite don't like it because it
> > > feels like this is not necessary. We have a way to pass something like that
> > > via the cmdline, so it's just a matter of properly using that feature from
> > > user space.
> > >
> > >
> > > AFAIKS, all you want is most probably a more dynamic way to construct a
> > > kernel cmdline, with some properties specific to a kernel.
> > >
> > > Let's assume the following:
> > >
> > > a) When a distributor ships a kernel, he also ships some kind of defaults
> > > file. Let's assume for simplicity
> > >
> > > /lib/modules/5.11.19-200.fc33.x86_64/defaults.conf
> > >
> > > The file might contain
> > >
> > > CRASHKERNEL_DEFAULT=WHATEVER
> > >
> > >
> > > b) When generating the cmdline for e.g.,
> > > /boot/loader/entries/XXX-5.11.19-200.fc33.x86_64.conf we run some script
> > > that consult that file in addition to /etc/default/grub. For example, if the
> > > kdump service was installed and /etc/default/grub does not contain
> > > "crashkernel=" (except when we encounter "crashkernel=auto" for compat
> > > handling), we add "crashkernel=WHATEVER". Of course, we might do more
> > > involved stuff based on the current setup, user config, etc.
> > >
> > >
> > > c) When we install the kdump service, all we have to do is re-generate the
> > > boot entries AFAIKS. Just like we would when adding "crashkernel=auto" right
> > > now.
> > >
> > >
> > > The end result would also allow for having per-kernel defaults and change
> > > them on kernel updates. Would require some thought on how to make it fly in
> > > user space, how to "ship" the defaults etc.
> >
> > Thanks for looking into this, and really appreciate your insight,
> > comments and patience.
>
> Thanks for being patient with me :)
>
> >
> > We had a sync in team about various viable solutions the other day,
> > and also talked about the similar one as you suggested here since
> > it seems to be able to resolve the concerns we have for a replacement
> > of crashkernel=auto. We will try these in userspace in our side, hope it
> > won't introduce risk and can replace crashkernel=auto perfectly.
>
> Sure, and as I said, if we want to look into shrinking of the crashkernel
> area triggered by user space, I'm happy to help.
>
David, Baoquan, thank you both for exploring the issue. Let's try to do
it like this in downstream.
Kdump initramfs is created for kdump needed only with less memory
requirements, but fadump depends on the normal kernel initramfs thus
fadump needs more memory than kdump.
Hari, with this new no-auto approach, another thing we need to consider is how
fadump will use same value if you do not introduce a new param. As you
are working in dracut to pack kdump initramfs into 1st kernel initramfs,
it is possible that kdump and fadump can use same value, maybe kdump
crashkernel value plus some static number for powerpc only. Anyway just
a thought. Please provide your comments if any.
Thanks
Dave
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-11 16:31 ` Mike Rapoport
2021-05-11 17:07 ` David Hildenbrand
@ 2021-05-12 14:13 ` Baoquan He
1 sibling, 0 replies; 325+ messages in thread
From: Baoquan He @ 2021-05-12 14:13 UTC (permalink / raw)
To: Mike Rapoport
Cc: David Hildenbrand, Dave Young, Andrew Morton, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong, piliu
On 05/11/21 at 07:31pm, Mike Rapoport wrote:
> Hi Baoquan,
>
> On Tue, May 11, 2021 at 09:36:41PM +0800, Baoquan He wrote:
> > On 05/10/21 at 01:56pm, David Hildenbrand wrote:
> > > On 10.05.21 13:44, Dave Young wrote:
> > > > Hi David,
> > >
> > > Hi Dave,
> > >
> > > > On 05/10/21 at 01:01pm, David Hildenbrand wrote:
> > > > [snip]
> > > > > It also bugged me for quite a bit that we don't have a sane way to achieve
> > > > > what we're doing here upstream. It somewhat feels like "this doesn't belong
> > > > > in the kernel and is user policy" but then, the existing kernel support is
> > > > > suboptimal.
> > > > >
> > > > > Maybe reserving some "maybe too big but okayish to boot the system in a sane
> > > > > environment -- e.g., X% of system RAM and at least Y" size first and
> > > > > shrinking it later as triggered by user space early (where we do seem to
> > > > > have a way to pre-calculate things now) might actually be a good direction
> > > > > to look into.
> > > >
> > > > Hmm, that is also an option we considered before. Even for your
> > > > suggestion we still need a kernel option to set the default ratio/value.
> > > > and the ratio/value should be another patch which expands crashkernel
> > > > syntax.
> > >
> > > Right.
> > >
> > > >
> > > > Actually the kconfig help text in this patch is indeed misleading, it is
> > > > not introducing crashkernel=a:b... and no need to explain about the
> > > > crashkernel syntax, the config option is actually just some interface we
> > > > can add any valid crashkernel settings to be used by default. So current
> > > > patch help text describes the default value of crash auto str, instead
> > > > of describes what crash auto str is.
> > >
> > > Right. And I would much rather prefer either
> > >
> > > a) handling "auto" completely in the kernel, not just setting some
> > > questionable default at compile time
> >
> > Thanks for the suggestions.
> >
> > If the way adding default value into kernel config is disliked,
> > this a) option looks good. We can get value with x% of system RAM, but
> > clamp it with CRASH_KERNEL_MIN/MAX. The CRASH_KERNEL_MIN/MAX may need be
> > defined with a default value for different ARCHes. It's very close to
> > our current implementation, and handling 'auto' in kernel.
> >
> > And kernel config provided so that people can tune the MIN/MAX value,
> > but no need to post patch to do the tuning each time if have to?
>
> Maybe I'm missing something, but the whole point is to avoid kernel
> configuration option at all. If the crashkernel=auto works good for 99% of
> the cases, there is no need to provide build time configuration along with
> it. There are plenty of ways users can control crashkernel reservations
> with the existing 2-4 (depending on architecture) command line options.
>
> Simply hard coding a reasonable defaults (e.g.
> "1G-64G:128M,64G-1T:256M,1T-:512M"), and using these defaults when
> crashkernel=auto is set would cover the same 99% of users you referred to.
Thanks for looking into this, Mike.
The crashkernel=auto works well for 99% of systems with a prerequisite
that values of 'auto' corresponds to a certain kernel, e.g distros kernel.
Say so because the kernel configs of a distros kernel decides the kernel
size, and also the initrd size. A generic default value for
crashkernel=auto doesn't make much sense when we make it into distros.
That's why we want to add the default value into kernel config originally.
Then asking for a minimal size with a kernel config tunable as the second
best when handle 'auto' in kernel as David's option a) suggested.
Here it's a little not clear to me about why kernel config has to be
avoided. We have this kind of tunable, e.g CONFIG_CMA_SIZE_SEL_MBYTES.
>
> If we can resize the reservation later during boot this will also address
> David's concern about the wasted memory.
We can't resize the reservation, we can only shrink currently.
>
> You mentioned that amount of memory that is required for crash kernel
> reservation depends on the devices present on the system. Is is possible to
> detect how much memory is required at late stages of boot?
It may be doable to detect at late stage of boot, need investigation, now we
are working to do after system bootup. The thing is the detection is
very coarse-grained. We count all loaded kernel modules in. But in kdump
kernel, only very necessary modules is added in our distros. e.g if we
dump through network, NIC modules are collected. otherwise we filter it out
to reduce memory usage in kdump kernel. For most of normal systems with
dozens of devices, memory required by device driver in kdump kernel is
limited. On VM guests, it's even much less since only very necessary
devices are added, e.g disk/NIC/serial.
So, I said 99% of systems can be covered by default value, it's based on
a certain kernel with fixed kernel configs, mainly related to distros.
Adding a permanent default value in upstream kernel doesn't make much
sense, if no tunable provided for distros to adjust.
>
> > > b) passing it explicitly in via the cmdline
> > >
> > > >
> > > > And crashkernel=auto makes this more flexibly. We can tune the values
> > > > easily when upgrading. But if we pass a fixed value in userspace we
> > > > can not know if the value is set by distribution automatically or by user
> > > > manually thus we can not blindly update it.
> > >
> > > I think there are two different cases:
> > >
> > >
> > > 1. kernel space updates the value later during boot. "crashkernel=auto"
> > > really does the right thing, meaning
> > >
> > > a) allocate something reasonable and safe during early boot
> > > b) update the allocation during late boot when we know what kind of system
> > > we're running on
> > >
> > > Then, we indeed care about "crashkernel=auto" in the kernel and I think it
> > > would be a nice thing to have. The only question is on how to make that a
> > > little configurable, depending on different thingies we might want to run in
> > > the crashkernel (assuming someone doesn't want kdump).
> > >
> > >
> > > 2. user space updates the value later during boot
> > >
> > > IMHO we don't really car who decided on the value as we do the update from
> > > user space. If an admin messes with crashkernel=, the admin can also mess
> > > with kdump not doing any overwrites (e.g., make that configurable, or detect
> > > the overwrite in kdump somehow).
> > >
> > > --
> > > Thanks,
> > >
> > > David / dhildenb
> > >
> >
> >
>
> --
> Sincerely yours,
> Mike.
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation
2021-05-10 11:56 ` David Hildenbrand
2021-05-11 13:36 ` Baoquan He
@ 2021-05-12 7:42 ` Dave Young
1 sibling, 0 replies; 325+ messages in thread
From: Dave Young @ 2021-05-12 7:42 UTC (permalink / raw)
To: David Hildenbrand
Cc: Baoquan He, Andrew Morton, andreyknvl, christian.brauner,
colin.king, corbet, frederic, gpiccoli, john.p.donnelly,
jpoimboe, keescook, linux-mm, masahiroy, mchehab+huawei,
mike.kravetz, mingo, mm-commits, paulmck, peterz, rdunlap,
rostedt, rppt, saeed.mirzamohammadi, samitolvanen, sboyd, tglx,
torvalds, vgoyal, yifeifz2, Michal Hocko, kasong
On 05/10/21 at 01:56pm, David Hildenbrand wrote:
> On 10.05.21 13:44, Dave Young wrote:
> > Hi David,
>
> Hi Dave,
>
> > On 05/10/21 at 01:01pm, David Hildenbrand wrote:
> > [snip]
> > > It also bugged me for quite a bit that we don't have a sane way to achieve
> > > what we're doing here upstream. It somewhat feels like "this doesn't belong
> > > in the kernel and is user policy" but then, the existing kernel support is
> > > suboptimal.
> > >
> > > Maybe reserving some "maybe too big but okayish to boot the system in a sane
> > > environment -- e.g., X% of system RAM and at least Y" size first and
> > > shrinking it later as triggered by user space early (where we do seem to
> > > have a way to pre-calculate things now) might actually be a good direction
> > > to look into.
> >
> > Hmm, that is also an option we considered before. Even for your
> > suggestion we still need a kernel option to set the default ratio/value.
> > and the ratio/value should be another patch which expands crashkernel
> > syntax.
>
> Right.
>
> >
> > Actually the kconfig help text in this patch is indeed misleading, it is
> > not introducing crashkernel=a:b... and no need to explain about the
> > crashkernel syntax, the config option is actually just some interface we
> > can add any valid crashkernel settings to be used by default. So current
> > patch help text describes the default value of crash auto str, instead
> > of describes what crash auto str is.
>
> Right. And I would much rather prefer either
>
> a) handling "auto" completely in the kernel, not just setting some
> questionable default at compile time
> b) passing it explicitly in via the cmdline
>
> >
> > And crashkernel=auto makes this more flexibly. We can tune the values
> > easily when upgrading. But if we pass a fixed value in userspace we
> > can not know if the value is set by distribution automatically or by user
> > manually thus we can not blindly update it.
>
> I think there are two different cases:
>
>
> 1. kernel space updates the value later during boot. "crashkernel=auto"
> really does the right thing, meaning
>
> a) allocate something reasonable and safe during early boot
> b) update the allocation during late boot when we know what kind of system
> we're running on
Sorry for my laggy reply :)
As for kernel late boot action, the other notable issue is most device
drivers are kernel modules, they are loaded with udev. Especially about
some complex storage/network drivers, they often use a lot memory.
Kairui has a tool named "memstrack" which can be used for monitor the
module loading phase peak memory. But that can only be done in
userspace for now.
And we have some different setups for normal boot and kdump
kernel, eg. some special cmdline eg. nr_cpu=1; and also some in kernel
handling for example some patches merged in networking drivers to use
less memory in kdump kernel via smaller queues etc.
Otherwise about other kernel memory requirement can be done in kernel.
>
> Then, we indeed care about "crashkernel=auto" in the kernel and I think it
> would be a nice thing to have. The only question is on how to make that a
> little configurable, depending on different thingies we might want to run in
> the crashkernel (assuming someone doesn't want kdump).
>
>
> 2. user space updates the value later during boot
>
> IMHO we don't really car who decided on the value as we do the update from
> user space. If an admin messes with crashkernel=, the admin can also mess
> with kdump not doing any overwrites (e.g., make that configurable, or detect
> the overwrite in kdump somehow).
>
> --
> Thanks,
>
> David / dhildenb
>
Thanks
Dave
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 49/91] kexec: add kexec reboot string
2021-05-07 1:01 incoming Andrew Morton
` (47 preceding siblings ...)
2021-05-07 1:04 ` [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 50/91] kernel: kexec_file: fix error return code of kexec_calculate_store_digests() Andrew Morton
` (42 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, bhe, jolevequ, lguohan, linux-mm, mm-commits, pmenzel, torvalds
From: Joe LeVeque <jolevequ@microsoft.com>
Subject: kexec: Add kexec reboot string
The purpose is to notify the kernel module for fast reboot.
Upstream a patch from the SONiC network operating system [1].
[1]: https://github.com/Azure/sonic-linux-kernel/pull/46
Link: https://lkml.kernel.org/r/20210304124626.13927-1-pmenzel@molgen.mpg.de
Signed-off-by: Joe LeVeque <jolevequ@microsoft.com>
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Acked-by: Baoquan He <bhe@redhat.com>
Cc: Guohan Lu <lguohan@gmail.com>
Cc: Joe LeVeque <jolevequ@microsoft.com>
Cc: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/kexec_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/kexec_core.c~kexec-add-kexec-reboot-string
+++ a/kernel/kexec_core.c
@@ -1165,7 +1165,7 @@ int kernel_kexec(void)
#endif
{
kexec_in_progress = true;
- kernel_restart_prepare(NULL);
+ kernel_restart_prepare("kexec reboot");
migrate_to_reboot_cpu();
/*
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 50/91] kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
2021-05-07 1:01 incoming Andrew Morton
` (48 preceding siblings ...)
2021-05-07 1:04 ` [patch 49/91] kexec: add kexec reboot string Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 51/91] kexec: dump kmessage before machine_kexec Andrew Morton
` (41 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, baijiaju1990, bhe, linux-mm, mm-commits, oslab, torvalds
From: Jia-Ju Bai <baijiaju1990@gmail.com>
Subject: kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
When vzalloc() returns NULL to sha_regions, no error return code of
kexec_calculate_store_digests() is assigned. To fix this bug, ret is
assigned with -ENOMEM in this case.
Link: https://lkml.kernel.org/r/20210309083904.24321-1-baijiaju1990@gmail.com
Fixes: a43cac0d9dc2 ("kexec: split kexec_file syscall code to kexec_file.c")
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Acked-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/kexec_file.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/kernel/kexec_file.c~kernel-kexec_file-fix-error-return-code-of-kexec_calculate_store_digests
+++ a/kernel/kexec_file.c
@@ -740,8 +740,10 @@ static int kexec_calculate_store_digests
sha_region_sz = KEXEC_SEGMENT_MAX * sizeof(struct kexec_sha_region);
sha_regions = vzalloc(sha_region_sz);
- if (!sha_regions)
+ if (!sha_regions) {
+ ret = -ENOMEM;
goto out_free_desc;
+ }
desc->tfm = tfm;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 51/91] kexec: dump kmessage before machine_kexec
2021-05-07 1:01 incoming Andrew Morton
` (49 preceding siblings ...)
2021-05-07 1:04 ` [patch 50/91] kernel: kexec_file: fix error return code of kexec_calculate_store_digests() Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 52/91] gcov: combine common code Andrew Morton
` (40 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, anton, bhe, bhsharma, ccross, ebiederm, jmorris, keescook,
linux-mm, mm-commits, pasha.tatashin, pmladek, sashal, tony.luck,
torvalds, tyhicks
From: Pavel Tatashin <pasha.tatashin@soleen.com>
Subject: kexec: dump kmessage before machine_kexec
kmsg_dump(KMSG_DUMP_SHUTDOWN) is called before
machine_restart(), machine_halt(), machine_power_off(), the only one that
is missing is machine_kexec().
The dmesg output that it contains can be used to study the shutdown
performance of both kernel and systemd during kexec reboot.
Here is example of dmesg data collected after kexec:
root@dplat-cp22:~# cat /sys/fs/pstore/dmesg-ramoops-0 | tail
...
<6>[ 70.914592] psci: CPU3 killed (polled 0 ms)
<5>[ 70.915705] CPU4: shutdown
<6>[ 70.916643] psci: CPU4 killed (polled 4 ms)
<5>[ 70.917715] CPU5: shutdown
<6>[ 70.918725] psci: CPU5 killed (polled 0 ms)
<5>[ 70.919704] CPU6: shutdown
<6>[ 70.920726] psci: CPU6 killed (polled 4 ms)
<5>[ 70.921642] CPU7: shutdown
<6>[ 70.922650] psci: CPU7 killed (polled 0 ms)
Link: https://lkml.kernel.org/r/20210319192326.146000-2-pasha.tatashin@soleen.com
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com>
Cc: James Morris <jmorris@namei.org>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/kexec_core.c | 2 ++
1 file changed, 2 insertions(+)
--- a/kernel/kexec_core.c~kexec-dump-kmessage-before-machine_kexec
+++ a/kernel/kexec_core.c
@@ -37,6 +37,7 @@
#include <linux/compiler.h>
#include <linux/hugetlb.h>
#include <linux/objtool.h>
+#include <linux/kmsg_dump.h>
#include <asm/page.h>
#include <asm/sections.h>
@@ -1179,6 +1180,7 @@ int kernel_kexec(void)
machine_shutdown();
}
+ kmsg_dump(KMSG_DUMP_SHUTDOWN);
machine_kexec(kexec_image);
#ifdef CONFIG_KEXEC_JUMP
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 52/91] gcov: combine common code
2021-05-07 1:01 incoming Andrew Morton
` (50 preceding siblings ...)
2021-05-07 1:04 ` [patch 51/91] kexec: dump kmessage before machine_kexec Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 53/91] gcov: simplify buffer allocation Andrew Morton
` (39 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, johannes.berg, linux-mm, mm-commits, oberpar, torvalds
From: Johannes Berg <johannes.berg@intel.com>
Subject: gcov: combine common code
There's a lot of duplicated code between gcc and clang implementations,
move it over to fs.c to simplify the code, there's no reason to believe
that for small data like this one would not just implement the simple
convert_to_gcda() function.
Link: https://lkml.kernel.org/r/20210315235453.e3fbb86e99a0.I08a3ee6dbe47ea3e8024956083f162884a958e40@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/gcov/base.c | 49 +++++++++++
kernel/gcov/clang.c | 167 ----------------------------------------
kernel/gcov/fs.c | 116 +++++++++++++++++++++++++++
kernel/gcov/gcc_4_7.c | 167 ----------------------------------------
kernel/gcov/gcov.h | 14 ---
5 files changed, 171 insertions(+), 342 deletions(-)
--- a/kernel/gcov/base.c~gcov-combine-common-code
+++ a/kernel/gcov/base.c
@@ -49,6 +49,55 @@ void gcov_enable_events(void)
mutex_unlock(&gcov_lock);
}
+/**
+ * store_gcov_u32 - store 32 bit number in gcov format to buffer
+ * @buffer: target buffer or NULL
+ * @off: offset into the buffer
+ * @v: value to be stored
+ *
+ * Number format defined by gcc: numbers are recorded in the 32 bit
+ * unsigned binary form of the endianness of the machine generating the
+ * file. Returns the number of bytes stored. If @buffer is %NULL, doesn't
+ * store anything.
+ */
+size_t store_gcov_u32(void *buffer, size_t off, u32 v)
+{
+ u32 *data;
+
+ if (buffer) {
+ data = buffer + off;
+ *data = v;
+ }
+
+ return sizeof(*data);
+}
+
+/**
+ * store_gcov_u64 - store 64 bit number in gcov format to buffer
+ * @buffer: target buffer or NULL
+ * @off: offset into the buffer
+ * @v: value to be stored
+ *
+ * Number format defined by gcc: numbers are recorded in the 32 bit
+ * unsigned binary form of the endianness of the machine generating the
+ * file. 64 bit numbers are stored as two 32 bit numbers, the low part
+ * first. Returns the number of bytes stored. If @buffer is %NULL, doesn't store
+ * anything.
+ */
+size_t store_gcov_u64(void *buffer, size_t off, u64 v)
+{
+ u32 *data;
+
+ if (buffer) {
+ data = buffer + off;
+
+ data[0] = (v & 0xffffffffUL);
+ data[1] = (v >> 32);
+ }
+
+ return sizeof(*data) * 2;
+}
+
#ifdef CONFIG_MODULES
/* Update list and generate events when modules are unloaded. */
static int gcov_module_notifier(struct notifier_block *nb, unsigned long event,
--- a/kernel/gcov/clang.c~gcov-combine-common-code
+++ a/kernel/gcov/clang.c
@@ -48,7 +48,6 @@
#include <linux/list.h>
#include <linux/printk.h>
#include <linux/ratelimit.h>
-#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include "gcov.h"
@@ -449,71 +448,6 @@ void gcov_info_free(struct gcov_info *in
}
#endif
-#define ITER_STRIDE PAGE_SIZE
-
-/**
- * struct gcov_iterator - specifies current file position in logical records
- * @info: associated profiling data
- * @buffer: buffer containing file data
- * @size: size of buffer
- * @pos: current position in file
- */
-struct gcov_iterator {
- struct gcov_info *info;
- void *buffer;
- size_t size;
- loff_t pos;
-};
-
-/**
- * store_gcov_u32 - store 32 bit number in gcov format to buffer
- * @buffer: target buffer or NULL
- * @off: offset into the buffer
- * @v: value to be stored
- *
- * Number format defined by gcc: numbers are recorded in the 32 bit
- * unsigned binary form of the endianness of the machine generating the
- * file. Returns the number of bytes stored. If @buffer is %NULL, doesn't
- * store anything.
- */
-static size_t store_gcov_u32(void *buffer, size_t off, u32 v)
-{
- u32 *data;
-
- if (buffer) {
- data = buffer + off;
- *data = v;
- }
-
- return sizeof(*data);
-}
-
-/**
- * store_gcov_u64 - store 64 bit number in gcov format to buffer
- * @buffer: target buffer or NULL
- * @off: offset into the buffer
- * @v: value to be stored
- *
- * Number format defined by gcc: numbers are recorded in the 32 bit
- * unsigned binary form of the endianness of the machine generating the
- * file. 64 bit numbers are stored as two 32 bit numbers, the low part
- * first. Returns the number of bytes stored. If @buffer is %NULL, doesn't store
- * anything.
- */
-static size_t store_gcov_u64(void *buffer, size_t off, u64 v)
-{
- u32 *data;
-
- if (buffer) {
- data = buffer + off;
-
- data[0] = (v & 0xffffffffUL);
- data[1] = (v >> 32);
- }
-
- return sizeof(*data) * 2;
-}
-
/**
* convert_to_gcda - convert profiling data set to gcda file format
* @buffer: the buffer to store file data or %NULL if no data should be stored
@@ -521,7 +455,7 @@ static size_t store_gcov_u64(void *buffe
*
* Returns the number of bytes that were/would have been stored into the buffer.
*/
-static size_t convert_to_gcda(char *buffer, struct gcov_info *info)
+size_t convert_to_gcda(char *buffer, struct gcov_info *info)
{
struct gcov_fn_info *fi_ptr;
size_t pos = 0;
@@ -558,102 +492,3 @@ static size_t convert_to_gcda(char *buff
return pos;
}
-
-/**
- * gcov_iter_new - allocate and initialize profiling data iterator
- * @info: profiling data set to be iterated
- *
- * Return file iterator on success, %NULL otherwise.
- */
-struct gcov_iterator *gcov_iter_new(struct gcov_info *info)
-{
- struct gcov_iterator *iter;
-
- iter = kzalloc(sizeof(struct gcov_iterator), GFP_KERNEL);
- if (!iter)
- goto err_free;
-
- iter->info = info;
- /* Dry-run to get the actual buffer size. */
- iter->size = convert_to_gcda(NULL, info);
- iter->buffer = vmalloc(iter->size);
- if (!iter->buffer)
- goto err_free;
-
- convert_to_gcda(iter->buffer, info);
-
- return iter;
-
-err_free:
- kfree(iter);
- return NULL;
-}
-
-
-/**
- * gcov_iter_get_info - return profiling data set for given file iterator
- * @iter: file iterator
- */
-void gcov_iter_free(struct gcov_iterator *iter)
-{
- vfree(iter->buffer);
- kfree(iter);
-}
-
-/**
- * gcov_iter_get_info - return profiling data set for given file iterator
- * @iter: file iterator
- */
-struct gcov_info *gcov_iter_get_info(struct gcov_iterator *iter)
-{
- return iter->info;
-}
-
-/**
- * gcov_iter_start - reset file iterator to starting position
- * @iter: file iterator
- */
-void gcov_iter_start(struct gcov_iterator *iter)
-{
- iter->pos = 0;
-}
-
-/**
- * gcov_iter_next - advance file iterator to next logical record
- * @iter: file iterator
- *
- * Return zero if new position is valid, non-zero if iterator has reached end.
- */
-int gcov_iter_next(struct gcov_iterator *iter)
-{
- if (iter->pos < iter->size)
- iter->pos += ITER_STRIDE;
-
- if (iter->pos >= iter->size)
- return -EINVAL;
-
- return 0;
-}
-
-/**
- * gcov_iter_write - write data for current pos to seq_file
- * @iter: file iterator
- * @seq: seq_file handle
- *
- * Return zero on success, non-zero otherwise.
- */
-int gcov_iter_write(struct gcov_iterator *iter, struct seq_file *seq)
-{
- size_t len;
-
- if (iter->pos >= iter->size)
- return -EINVAL;
-
- len = ITER_STRIDE;
- if (iter->pos + len > iter->size)
- len = iter->size - iter->pos;
-
- seq_write(seq, iter->buffer + iter->pos, len);
-
- return 0;
-}
--- a/kernel/gcov/fs.c~gcov-combine-common-code
+++ a/kernel/gcov/fs.c
@@ -26,6 +26,7 @@
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/seq_file.h>
+#include <linux/vmalloc.h>
#include "gcov.h"
/**
@@ -85,6 +86,121 @@ static int __init gcov_persist_setup(cha
}
__setup("gcov_persist=", gcov_persist_setup);
+#define ITER_STRIDE PAGE_SIZE
+
+/**
+ * struct gcov_iterator - specifies current file position in logical records
+ * @info: associated profiling data
+ * @buffer: buffer containing file data
+ * @size: size of buffer
+ * @pos: current position in file
+ */
+struct gcov_iterator {
+ struct gcov_info *info;
+ void *buffer;
+ size_t size;
+ loff_t pos;
+};
+
+/**
+ * gcov_iter_new - allocate and initialize profiling data iterator
+ * @info: profiling data set to be iterated
+ *
+ * Return file iterator on success, %NULL otherwise.
+ */
+static struct gcov_iterator *gcov_iter_new(struct gcov_info *info)
+{
+ struct gcov_iterator *iter;
+
+ iter = kzalloc(sizeof(struct gcov_iterator), GFP_KERNEL);
+ if (!iter)
+ goto err_free;
+
+ iter->info = info;
+ /* Dry-run to get the actual buffer size. */
+ iter->size = convert_to_gcda(NULL, info);
+ iter->buffer = vmalloc(iter->size);
+ if (!iter->buffer)
+ goto err_free;
+
+ convert_to_gcda(iter->buffer, info);
+
+ return iter;
+
+err_free:
+ kfree(iter);
+ return NULL;
+}
+
+
+/**
+ * gcov_iter_free - free iterator data
+ * @iter: file iterator
+ */
+static void gcov_iter_free(struct gcov_iterator *iter)
+{
+ vfree(iter->buffer);
+ kfree(iter);
+}
+
+/**
+ * gcov_iter_get_info - return profiling data set for given file iterator
+ * @iter: file iterator
+ */
+static struct gcov_info *gcov_iter_get_info(struct gcov_iterator *iter)
+{
+ return iter->info;
+}
+
+/**
+ * gcov_iter_start - reset file iterator to starting position
+ * @iter: file iterator
+ */
+static void gcov_iter_start(struct gcov_iterator *iter)
+{
+ iter->pos = 0;
+}
+
+/**
+ * gcov_iter_next - advance file iterator to next logical record
+ * @iter: file iterator
+ *
+ * Return zero if new position is valid, non-zero if iterator has reached end.
+ */
+static int gcov_iter_next(struct gcov_iterator *iter)
+{
+ if (iter->pos < iter->size)
+ iter->pos += ITER_STRIDE;
+
+ if (iter->pos >= iter->size)
+ return -EINVAL;
+
+ return 0;
+}
+
+/**
+ * gcov_iter_write - write data for current pos to seq_file
+ * @iter: file iterator
+ * @seq: seq_file handle
+ *
+ * Return zero on success, non-zero otherwise.
+ */
+static int gcov_iter_write(struct gcov_iterator *iter, struct seq_file *seq)
+{
+ size_t len;
+
+ if (iter->pos >= iter->size)
+ return -EINVAL;
+
+ len = ITER_STRIDE;
+ if (iter->pos + len > iter->size)
+ len = iter->size - iter->pos;
+
+ seq_write(seq, iter->buffer + iter->pos, len);
+
+ return 0;
+}
+
/*
* seq_file.start() implementation for gcov data files. Note that the
* gcov_iterator interface is designed to be more restrictive than seq_file
--- a/kernel/gcov/gcc_4_7.c~gcov-combine-common-code
+++ a/kernel/gcov/gcc_4_7.c
@@ -15,7 +15,6 @@
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/string.h>
-#include <linux/seq_file.h>
#include <linux/vmalloc.h>
#include "gcov.h"
@@ -363,71 +362,6 @@ free_info:
kfree(info);
}
-#define ITER_STRIDE PAGE_SIZE
-
-/**
- * struct gcov_iterator - specifies current file position in logical records
- * @info: associated profiling data
- * @buffer: buffer containing file data
- * @size: size of buffer
- * @pos: current position in file
- */
-struct gcov_iterator {
- struct gcov_info *info;
- void *buffer;
- size_t size;
- loff_t pos;
-};
-
-/**
- * store_gcov_u32 - store 32 bit number in gcov format to buffer
- * @buffer: target buffer or NULL
- * @off: offset into the buffer
- * @v: value to be stored
- *
- * Number format defined by gcc: numbers are recorded in the 32 bit
- * unsigned binary form of the endianness of the machine generating the
- * file. Returns the number of bytes stored. If @buffer is %NULL, doesn't
- * store anything.
- */
-static size_t store_gcov_u32(void *buffer, size_t off, u32 v)
-{
- u32 *data;
-
- if (buffer) {
- data = buffer + off;
- *data = v;
- }
-
- return sizeof(*data);
-}
-
-/**
- * store_gcov_u64 - store 64 bit number in gcov format to buffer
- * @buffer: target buffer or NULL
- * @off: offset into the buffer
- * @v: value to be stored
- *
- * Number format defined by gcc: numbers are recorded in the 32 bit
- * unsigned binary form of the endianness of the machine generating the
- * file. 64 bit numbers are stored as two 32 bit numbers, the low part
- * first. Returns the number of bytes stored. If @buffer is %NULL, doesn't store
- * anything.
- */
-static size_t store_gcov_u64(void *buffer, size_t off, u64 v)
-{
- u32 *data;
-
- if (buffer) {
- data = buffer + off;
-
- data[0] = (v & 0xffffffffUL);
- data[1] = (v >> 32);
- }
-
- return sizeof(*data) * 2;
-}
-
/**
* convert_to_gcda - convert profiling data set to gcda file format
* @buffer: the buffer to store file data or %NULL if no data should be stored
@@ -435,7 +369,7 @@ static size_t store_gcov_u64(void *buffe
*
* Returns the number of bytes that were/would have been stored into the buffer.
*/
-static size_t convert_to_gcda(char *buffer, struct gcov_info *info)
+size_t convert_to_gcda(char *buffer, struct gcov_info *info)
{
struct gcov_fn_info *fi_ptr;
struct gcov_ctr_info *ci_ptr;
@@ -481,102 +415,3 @@ static size_t convert_to_gcda(char *buff
return pos;
}
-
-/**
- * gcov_iter_new - allocate and initialize profiling data iterator
- * @info: profiling data set to be iterated
- *
- * Return file iterator on success, %NULL otherwise.
- */
-struct gcov_iterator *gcov_iter_new(struct gcov_info *info)
-{
- struct gcov_iterator *iter;
-
- iter = kzalloc(sizeof(struct gcov_iterator), GFP_KERNEL);
- if (!iter)
- goto err_free;
-
- iter->info = info;
- /* Dry-run to get the actual buffer size. */
- iter->size = convert_to_gcda(NULL, info);
- iter->buffer = vmalloc(iter->size);
- if (!iter->buffer)
- goto err_free;
-
- convert_to_gcda(iter->buffer, info);
-
- return iter;
-
-err_free:
- kfree(iter);
- return NULL;
-}
-
-
-/**
- * gcov_iter_get_info - return profiling data set for given file iterator
- * @iter: file iterator
- */
-void gcov_iter_free(struct gcov_iterator *iter)
-{
- vfree(iter->buffer);
- kfree(iter);
-}
-
-/**
- * gcov_iter_get_info - return profiling data set for given file iterator
- * @iter: file iterator
- */
-struct gcov_info *gcov_iter_get_info(struct gcov_iterator *iter)
-{
- return iter->info;
-}
-
-/**
- * gcov_iter_start - reset file iterator to starting position
- * @iter: file iterator
- */
-void gcov_iter_start(struct gcov_iterator *iter)
-{
- iter->pos = 0;
-}
-
-/**
- * gcov_iter_next - advance file iterator to next logical record
- * @iter: file iterator
- *
- * Return zero if new position is valid, non-zero if iterator has reached end.
- */
-int gcov_iter_next(struct gcov_iterator *iter)
-{
- if (iter->pos < iter->size)
- iter->pos += ITER_STRIDE;
-
- if (iter->pos >= iter->size)
- return -EINVAL;
-
- return 0;
-}
-
-/**
- * gcov_iter_write - write data for current pos to seq_file
- * @iter: file iterator
- * @seq: seq_file handle
- *
- * Return zero on success, non-zero otherwise.
- */
-int gcov_iter_write(struct gcov_iterator *iter, struct seq_file *seq)
-{
- size_t len;
-
- if (iter->pos >= iter->size)
- return -EINVAL;
-
- len = ITER_STRIDE;
- if (iter->pos + len > iter->size)
- len = iter->size - iter->pos;
-
- seq_write(seq, iter->buffer + iter->pos, len);
-
- return 0;
-}
--- a/kernel/gcov/gcov.h~gcov-combine-common-code
+++ a/kernel/gcov/gcov.h
@@ -48,6 +48,7 @@ struct gcov_info *gcov_info_next(struct
void gcov_info_link(struct gcov_info *info);
void gcov_info_unlink(struct gcov_info *prev, struct gcov_info *info);
bool gcov_info_within_module(struct gcov_info *info, struct module *mod);
+size_t convert_to_gcda(char *buffer, struct gcov_info *info);
/* Base interface. */
enum gcov_action {
@@ -58,16 +59,9 @@ enum gcov_action {
void gcov_event(enum gcov_action action, struct gcov_info *info);
void gcov_enable_events(void);
-/* Iterator control. */
-struct seq_file;
-struct gcov_iterator;
-
-struct gcov_iterator *gcov_iter_new(struct gcov_info *info);
-void gcov_iter_free(struct gcov_iterator *iter);
-void gcov_iter_start(struct gcov_iterator *iter);
-int gcov_iter_next(struct gcov_iterator *iter);
-int gcov_iter_write(struct gcov_iterator *iter, struct seq_file *seq);
-struct gcov_info *gcov_iter_get_info(struct gcov_iterator *iter);
+/* writing helpers */
+size_t store_gcov_u32(void *buffer, size_t off, u32 v);
+size_t store_gcov_u64(void *buffer, size_t off, u64 v);
/* gcov_info control. */
void gcov_info_reset(struct gcov_info *info);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 53/91] gcov: simplify buffer allocation
2021-05-07 1:01 incoming Andrew Morton
` (51 preceding siblings ...)
2021-05-07 1:04 ` [patch 52/91] gcov: combine common code Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 54/91] gcov: use kvmalloc() Andrew Morton
` (38 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, johannes.berg, linux-mm, mm-commits, oberpar, torvalds
From: Johannes Berg <johannes.berg@intel.com>
Subject: gcov: simplify buffer allocation
Use just a single vmalloc() with struct_size() instead of a separate
kmalloc() for the iter struct.
Link: https://lkml.kernel.org/r/20210315235453.b6de4a92096e.Iac40a5166589cefbff8449e466bd1b38ea7a17af@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Cc: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/gcov/fs.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
--- a/kernel/gcov/fs.c~gcov-simplify-buffer-allocation
+++ a/kernel/gcov/fs.c
@@ -97,9 +97,9 @@ __setup("gcov_persist=", gcov_persist_se
*/
struct gcov_iterator {
struct gcov_info *info;
- void *buffer;
size_t size;
loff_t pos;
+ char buffer[];
};
/**
@@ -111,25 +111,20 @@ struct gcov_iterator {
static struct gcov_iterator *gcov_iter_new(struct gcov_info *info)
{
struct gcov_iterator *iter;
+ size_t size;
+
+ /* Dry-run to get the actual buffer size. */
+ size = convert_to_gcda(NULL, info);
- iter = kzalloc(sizeof(struct gcov_iterator), GFP_KERNEL);
+ iter = vmalloc(struct_size(iter, buffer, size));
if (!iter)
- goto err_free;
+ return NULL;
iter->info = info;
- /* Dry-run to get the actual buffer size. */
- iter->size = convert_to_gcda(NULL, info);
- iter->buffer = vmalloc(iter->size);
- if (!iter->buffer)
- goto err_free;
-
+ iter->size = size;
convert_to_gcda(iter->buffer, info);
return iter;
-
-err_free:
- kfree(iter);
- return NULL;
}
@@ -139,8 +134,7 @@ err_free:
*/
static void gcov_iter_free(struct gcov_iterator *iter)
{
- vfree(iter->buffer);
- kfree(iter);
+ vfree(iter);
}
/**
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 54/91] gcov: use kvmalloc()
2021-05-07 1:01 incoming Andrew Morton
` (52 preceding siblings ...)
2021-05-07 1:04 ` [patch 53/91] gcov: simplify buffer allocation Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 55/91] gcov: clang: drop support for clang-10 and older Andrew Morton
` (37 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, johannes.berg, linux-mm, mm-commits, ndesaulniers, oberpar,
torvalds
From: Johannes Berg <johannes.berg@intel.com>
Subject: gcov: use kvmalloc()
Using vmalloc() in gcov is really quite wasteful, many of the objects
allocated are really small (e.g. I've seen 24 bytes.) Use kvmalloc() to
automatically pick the better of kmalloc() or vmalloc() depending on the
size.
[johannes.berg@intel.com: fix clang-11+ build]
Link: https://lkml.kernel.org/r/20210412214210.6e1ecca9cdc5.I24459763acf0591d5e6b31c7e3a59890d802f79c@changeid
Link: https://lkml.kernel.org/r/20210315235453.799e7a9d627d.I741d0db096c6f312910f7f1bcdfde0fda20801a4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Cc: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/gcov/clang.c | 12 ++++++------
kernel/gcov/fs.c | 6 +++---
kernel/gcov/gcc_4_7.c | 6 +++---
3 files changed, 12 insertions(+), 12 deletions(-)
--- a/kernel/gcov/clang.c~gcov-use-kvmalloc
+++ a/kernel/gcov/clang.c
@@ -49,7 +49,7 @@
#include <linux/printk.h>
#include <linux/ratelimit.h>
#include <linux/slab.h>
-#include <linux/vmalloc.h>
+#include <linux/mm.h>
#include "gcov.h"
typedef void (*llvm_gcov_callback)(void);
@@ -333,8 +333,8 @@ void gcov_info_add(struct gcov_info *dst
static struct gcov_fn_info *gcov_fn_info_dup(struct gcov_fn_info *fn)
{
size_t cv_size; /* counter values size */
- struct gcov_fn_info *fn_dup = kmemdup(fn, sizeof(*fn),
- GFP_KERNEL);
+ struct gcov_fn_info *fn_dup = kmemdup(fn, sizeof(*fn), GFP_KERNEL);
+
if (!fn_dup)
return NULL;
INIT_LIST_HEAD(&fn_dup->head);
@@ -344,7 +344,7 @@ static struct gcov_fn_info *gcov_fn_info
goto err_name;
cv_size = fn->num_counters * sizeof(fn->counters[0]);
- fn_dup->counters = vmalloc(cv_size);
+ fn_dup->counters = kvmalloc(cv_size, GFP_KERNEL);
if (!fn_dup->counters)
goto err_counters;
memcpy(fn_dup->counters, fn->counters, cv_size);
@@ -368,7 +368,7 @@ static struct gcov_fn_info *gcov_fn_info
INIT_LIST_HEAD(&fn_dup->head);
cv_size = fn->num_counters * sizeof(fn->counters[0]);
- fn_dup->counters = vmalloc(cv_size);
+ fn_dup->counters = kvmalloc(cv_size, GFP_KERNEL);
if (!fn_dup->counters) {
kfree(fn_dup);
return NULL;
@@ -439,7 +439,7 @@ void gcov_info_free(struct gcov_info *in
struct gcov_fn_info *fn, *tmp;
list_for_each_entry_safe(fn, tmp, &info->functions, head) {
- vfree(fn->counters);
+ kvfree(fn->counters);
list_del(&fn->head);
kfree(fn);
}
--- a/kernel/gcov/fs.c~gcov-use-kvmalloc
+++ a/kernel/gcov/fs.c
@@ -26,7 +26,7 @@
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/seq_file.h>
-#include <linux/vmalloc.h>
+#include <linux/mm.h>
#include "gcov.h"
/**
@@ -116,7 +116,7 @@ static struct gcov_iterator *gcov_iter_n
/* Dry-run to get the actual buffer size. */
size = convert_to_gcda(NULL, info);
- iter = vmalloc(struct_size(iter, buffer, size));
+ iter = kvmalloc(struct_size(iter, buffer, size), GFP_KERNEL);
if (!iter)
return NULL;
@@ -134,7 +134,7 @@ static struct gcov_iterator *gcov_iter_n
*/
static void gcov_iter_free(struct gcov_iterator *iter)
{
- vfree(iter);
+ kvfree(iter);
}
/**
--- a/kernel/gcov/gcc_4_7.c~gcov-use-kvmalloc
+++ a/kernel/gcov/gcc_4_7.c
@@ -15,7 +15,7 @@
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/string.h>
-#include <linux/vmalloc.h>
+#include <linux/mm.h>
#include "gcov.h"
#if (__GNUC__ >= 10)
@@ -309,7 +309,7 @@ struct gcov_info *gcov_info_dup(struct g
cv_size = sizeof(gcov_type) * sci_ptr->num;
- dci_ptr->values = vmalloc(cv_size);
+ dci_ptr->values = kvmalloc(cv_size, GFP_KERNEL);
if (!dci_ptr->values)
goto err_free;
@@ -351,7 +351,7 @@ void gcov_info_free(struct gcov_info *in
ci_ptr = info->functions[fi_idx]->ctrs;
for (ct_idx = 0; ct_idx < active; ct_idx++, ci_ptr++)
- vfree(ci_ptr->values);
+ kvfree(ci_ptr->values);
kfree(info->functions[fi_idx]);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 55/91] gcov: clang: drop support for clang-10 and older
2021-05-07 1:01 incoming Andrew Morton
` (53 preceding siblings ...)
2021-05-07 1:04 ` [patch 54/91] gcov: use kvmalloc() Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:04 ` [patch 56/91] smp: kernel/panic.c - silence warnings Andrew Morton
` (36 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, johannes.berg, linux-mm, maskray, mm-commits, nathan,
ndesaulniers, oberpar, psodagud, torvalds
From: Nick Desaulniers <ndesaulniers@google.com>
Subject: gcov: clang: drop support for clang-10 and older
LLVM changed the expected function signatures for llvm_gcda_start_file()
and llvm_gcda_emit_function() in the clang-11 release. Drop the older
implementations and require folks to upgrade their compiler if they're
interested in GCOV support.
Link: https://reviews.llvm.org/rGcdd683b516d147925212724b09ec6fb792a40041
Link: https://reviews.llvm.org/rG13a633b438b6500ecad9e4f936ebadf3411d0f44
Link: https://lkml.kernel.org/r/20210312224132.3413602-3-ndesaulniers@google.com
Link: https://lkml.kernel.org/r/20210413183113.2977432-1-ndesaulniers@google.com
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Fangrui Song <maskray@google.com>
Cc: Prasad Sodagudi <psodagud@quicinc.com>
Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/gcov/Kconfig | 1
kernel/gcov/clang.c | 103 ------------------------------------------
2 files changed, 1 insertion(+), 103 deletions(-)
--- a/kernel/gcov/clang.c~gcov-clang-drop-support-for-clang-10-and-older
+++ a/kernel/gcov/clang.c
@@ -69,16 +69,10 @@ struct gcov_fn_info {
u32 ident;
u32 checksum;
-#if CONFIG_CLANG_VERSION < 110000
- u8 use_extra_checksum;
-#endif
u32 cfg_checksum;
u32 num_counters;
u64 *counters;
-#if CONFIG_CLANG_VERSION < 110000
- const char *function_name;
-#endif
};
static struct gcov_info *current_info;
@@ -108,16 +102,6 @@ void llvm_gcov_init(llvm_gcov_callback w
}
EXPORT_SYMBOL(llvm_gcov_init);
-#if CONFIG_CLANG_VERSION < 110000
-void llvm_gcda_start_file(const char *orig_filename, const char version[4],
- u32 checksum)
-{
- current_info->filename = orig_filename;
- memcpy(¤t_info->version, version, sizeof(current_info->version));
- current_info->checksum = checksum;
-}
-EXPORT_SYMBOL(llvm_gcda_start_file);
-#else
void llvm_gcda_start_file(const char *orig_filename, u32 version, u32 checksum)
{
current_info->filename = orig_filename;
@@ -125,28 +109,7 @@ void llvm_gcda_start_file(const char *or
current_info->checksum = checksum;
}
EXPORT_SYMBOL(llvm_gcda_start_file);
-#endif
-#if CONFIG_CLANG_VERSION < 110000
-void llvm_gcda_emit_function(u32 ident, const char *function_name,
- u32 func_checksum, u8 use_extra_checksum, u32 cfg_checksum)
-{
- struct gcov_fn_info *info = kzalloc(sizeof(*info), GFP_KERNEL);
-
- if (!info)
- return;
-
- INIT_LIST_HEAD(&info->head);
- info->ident = ident;
- info->checksum = func_checksum;
- info->use_extra_checksum = use_extra_checksum;
- info->cfg_checksum = cfg_checksum;
- if (function_name)
- info->function_name = kstrdup(function_name, GFP_KERNEL);
-
- list_add_tail(&info->head, ¤t_info->functions);
-}
-#else
void llvm_gcda_emit_function(u32 ident, u32 func_checksum, u32 cfg_checksum)
{
struct gcov_fn_info *info = kzalloc(sizeof(*info), GFP_KERNEL);
@@ -160,7 +123,6 @@ void llvm_gcda_emit_function(u32 ident,
info->cfg_checksum = cfg_checksum;
list_add_tail(&info->head, ¤t_info->functions);
}
-#endif
EXPORT_SYMBOL(llvm_gcda_emit_function);
void llvm_gcda_emit_arcs(u32 num_counters, u64 *counters)
@@ -291,16 +253,8 @@ int gcov_info_is_compatible(struct gcov_
!list_is_last(&fn_ptr2->head, &info2->functions)) {
if (fn_ptr1->checksum != fn_ptr2->checksum)
return false;
-#if CONFIG_CLANG_VERSION < 110000
- if (fn_ptr1->use_extra_checksum != fn_ptr2->use_extra_checksum)
- return false;
- if (fn_ptr1->use_extra_checksum &&
- fn_ptr1->cfg_checksum != fn_ptr2->cfg_checksum)
- return false;
-#else
if (fn_ptr1->cfg_checksum != fn_ptr2->cfg_checksum)
return false;
-#endif
fn_ptr1 = list_next_entry(fn_ptr1, head);
fn_ptr2 = list_next_entry(fn_ptr2, head);
}
@@ -329,35 +283,6 @@ void gcov_info_add(struct gcov_info *dst
}
}
-#if CONFIG_CLANG_VERSION < 110000
-static struct gcov_fn_info *gcov_fn_info_dup(struct gcov_fn_info *fn)
-{
- size_t cv_size; /* counter values size */
- struct gcov_fn_info *fn_dup = kmemdup(fn, sizeof(*fn), GFP_KERNEL);
-
- if (!fn_dup)
- return NULL;
- INIT_LIST_HEAD(&fn_dup->head);
-
- fn_dup->function_name = kstrdup(fn->function_name, GFP_KERNEL);
- if (!fn_dup->function_name)
- goto err_name;
-
- cv_size = fn->num_counters * sizeof(fn->counters[0]);
- fn_dup->counters = kvmalloc(cv_size, GFP_KERNEL);
- if (!fn_dup->counters)
- goto err_counters;
- memcpy(fn_dup->counters, fn->counters, cv_size);
-
- return fn_dup;
-
-err_counters:
- kfree(fn_dup->function_name);
-err_name:
- kfree(fn_dup);
- return NULL;
-}
-#else
static struct gcov_fn_info *gcov_fn_info_dup(struct gcov_fn_info *fn)
{
size_t cv_size; /* counter values size */
@@ -378,7 +303,6 @@ static struct gcov_fn_info *gcov_fn_info
return fn_dup;
}
-#endif
/**
* gcov_info_dup - duplicate profiling data set
@@ -419,21 +343,6 @@ err:
* gcov_info_free - release memory for profiling data set duplicate
* @info: profiling data set duplicate to free
*/
-#if CONFIG_CLANG_VERSION < 110000
-void gcov_info_free(struct gcov_info *info)
-{
- struct gcov_fn_info *fn, *tmp;
-
- list_for_each_entry_safe(fn, tmp, &info->functions, head) {
- kfree(fn->function_name);
- vfree(fn->counters);
- list_del(&fn->head);
- kfree(fn);
- }
- kfree(info->filename);
- kfree(info);
-}
-#else
void gcov_info_free(struct gcov_info *info)
{
struct gcov_fn_info *fn, *tmp;
@@ -446,7 +355,6 @@ void gcov_info_free(struct gcov_info *in
kfree(info->filename);
kfree(info);
}
-#endif
/**
* convert_to_gcda - convert profiling data set to gcda file format
@@ -469,21 +377,10 @@ size_t convert_to_gcda(char *buffer, str
u32 i;
pos += store_gcov_u32(buffer, pos, GCOV_TAG_FUNCTION);
-#if CONFIG_CLANG_VERSION < 110000
- pos += store_gcov_u32(buffer, pos,
- fi_ptr->use_extra_checksum ? 3 : 2);
-#else
pos += store_gcov_u32(buffer, pos, 3);
-#endif
pos += store_gcov_u32(buffer, pos, fi_ptr->ident);
pos += store_gcov_u32(buffer, pos, fi_ptr->checksum);
-#if CONFIG_CLANG_VERSION < 110000
- if (fi_ptr->use_extra_checksum)
- pos += store_gcov_u32(buffer, pos, fi_ptr->cfg_checksum);
-#else
pos += store_gcov_u32(buffer, pos, fi_ptr->cfg_checksum);
-#endif
-
pos += store_gcov_u32(buffer, pos, GCOV_TAG_COUNTER_BASE);
pos += store_gcov_u32(buffer, pos, fi_ptr->num_counters * 2);
for (i = 0; i < fi_ptr->num_counters; i++)
--- a/kernel/gcov/Kconfig~gcov-clang-drop-support-for-clang-10-and-older
+++ a/kernel/gcov/Kconfig
@@ -4,6 +4,7 @@ menu "GCOV-based kernel profiling"
config GCOV_KERNEL
bool "Enable gcov-based kernel profiling"
depends on DEBUG_FS
+ depends on !CC_IS_CLANG || CLANG_VERSION >= 110000
select CONSTRUCTORS
default n
help
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 56/91] smp: kernel/panic.c - silence warnings
2021-05-07 1:01 incoming Andrew Morton
` (54 preceding siblings ...)
2021-05-07 1:04 ` [patch 55/91] gcov: clang: drop support for clang-10 and older Andrew Morton
@ 2021-05-07 1:04 ` Andrew Morton
2021-05-07 1:05 ` [patch 57/91] delayacct: clear right task's flag after blkio completes Andrew Morton
` (35 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:04 UTC (permalink / raw)
To: akpm, heying24, hulkci, linux-mm, mm-commits, torvalds
From: He Ying <heying24@huawei.com>
Subject: smp: kernel/panic.c - silence warnings
We found these warnings in kernel/panic.c by using sparse tool:
warning: symbol 'panic_smp_self_stop' was not declared.
warning: symbol 'nmi_panic_self_stop' was not declared.
warning: symbol 'crash_smp_send_stop' was not declared.
To avoid them, add declarations for these three functions in
include/linux/smp.h.
Link: https://lkml.kernel.org/r/20210316084150.75201-1-heying24@huawei.com
Signed-off-by: He Ying <heying24@huawei.com>
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/smp.h | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/include/linux/smp.h~smp-kernel-panicc-silence-warnings
+++ a/include/linux/smp.h
@@ -56,6 +56,14 @@ void on_each_cpu_cond_mask(smp_cond_func
int smp_call_function_single_async(int cpu, call_single_data_t *csd);
/*
+ * Cpus stopping functions in panic. All have default weak definitions.
+ * Architecture-dependent code may override them.
+ */
+void panic_smp_self_stop(void);
+void nmi_panic_self_stop(struct pt_regs *regs);
+void crash_smp_send_stop(void);
+
+/*
* Call a function on all processors
*/
static inline void on_each_cpu(smp_call_func_t func, void *info, int wait)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 57/91] delayacct: clear right task's flag after blkio completes
2021-05-07 1:01 incoming Andrew Morton
` (55 preceding siblings ...)
2021-05-07 1:04 ` [patch 56/91] smp: kernel/panic.c - silence warnings Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 58/91] gdb: lx-symbols: store the abspath() Andrew Morton
` (34 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, axboe, joshs, laoar.shao, linux-mm, mingo, mm-commits, tj,
torvalds
From: Yafang Shao <laoar.shao@gmail.com>
Subject: delayacct: clear right task's flag after blkio completes
When I was implementing a latency analyze tool by using task->delays and
other things, I found there's issue in delayacct. The issue is it should
clear the target's flag instead of current's in delayacct_blkio_end().
When I git blame delayacct, I found there're some similar issues we have
fixed in delayacct_blkio_end().
'Commit c96f5471ce7d ("delayacct: Account blkio completion on the correct task")'
fixed the issue that it should account blkio completion on the target
task instead of current.
'Commit b512719f771a ("delayacct: fix crash in delayacct_blkio_end() after delayacct init failure")'
fixed the issue that it should check target task's delays instead of
current task'. It seems that delayacct_blkio_{begin, end} are error prone.
So I introduce a new paratmeter - the target task 'p' into these helpers,
after that change, the callsite will specifilly set the right task, which
should make it less error prone.
Link: https://lkml.kernel.org/r/20210414083720.24083-1-laoar.shao@gmail.com
Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Josh Snyder <joshs@netflix.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/delayacct.h | 20 ++++++++++----------
mm/memory.c | 8 ++++----
2 files changed, 14 insertions(+), 14 deletions(-)
--- a/include/linux/delayacct.h~delayacct-clear-right-tasks-flag-after-blkio-completes
+++ a/include/linux/delayacct.h
@@ -82,16 +82,16 @@ static inline int delayacct_is_task_wait
return 0;
}
-static inline void delayacct_set_flag(int flag)
+static inline void delayacct_set_flag(struct task_struct *p, int flag)
{
- if (current->delays)
- current->delays->flags |= flag;
+ if (p->delays)
+ p->delays->flags |= flag;
}
-static inline void delayacct_clear_flag(int flag)
+static inline void delayacct_clear_flag(struct task_struct *p, int flag)
{
- if (current->delays)
- current->delays->flags &= ~flag;
+ if (p->delays)
+ p->delays->flags &= ~flag;
}
static inline void delayacct_tsk_init(struct task_struct *tsk)
@@ -114,7 +114,7 @@ static inline void delayacct_tsk_free(st
static inline void delayacct_blkio_start(void)
{
- delayacct_set_flag(DELAYACCT_PF_BLKIO);
+ delayacct_set_flag(current, DELAYACCT_PF_BLKIO);
if (current->delays)
__delayacct_blkio_start();
}
@@ -123,7 +123,7 @@ static inline void delayacct_blkio_end(s
{
if (p->delays)
__delayacct_blkio_end(p);
- delayacct_clear_flag(DELAYACCT_PF_BLKIO);
+ delayacct_clear_flag(p, DELAYACCT_PF_BLKIO);
}
static inline int delayacct_add_tsk(struct taskstats *d,
@@ -166,9 +166,9 @@ static inline void delayacct_thrashing_e
}
#else
-static inline void delayacct_set_flag(int flag)
+static inline void delayacct_set_flag(struct task_struct *p, int flag)
{}
-static inline void delayacct_clear_flag(int flag)
+static inline void delayacct_clear_flag(struct task_struct *p, int flag)
{}
static inline void delayacct_init(void)
{}
--- a/mm/memory.c~delayacct-clear-right-tasks-flag-after-blkio-completes
+++ a/mm/memory.c
@@ -3339,7 +3339,7 @@ vm_fault_t do_swap_page(struct vm_fault
}
- delayacct_set_flag(DELAYACCT_PF_SWAPIN);
+ delayacct_set_flag(current, DELAYACCT_PF_SWAPIN);
page = lookup_swap_cache(entry, vma, vmf->address);
swapcache = page;
@@ -3388,7 +3388,7 @@ vm_fault_t do_swap_page(struct vm_fault
vmf->address, &vmf->ptl);
if (likely(pte_same(*vmf->pte, vmf->orig_pte)))
ret = VM_FAULT_OOM;
- delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
+ delayacct_clear_flag(current, DELAYACCT_PF_SWAPIN);
goto unlock;
}
@@ -3402,13 +3402,13 @@ vm_fault_t do_swap_page(struct vm_fault
* owner processes (which may be unknown at hwpoison time)
*/
ret = VM_FAULT_HWPOISON;
- delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
+ delayacct_clear_flag(current, DELAYACCT_PF_SWAPIN);
goto out_release;
}
locked = lock_page_or_retry(page, vma->vm_mm, vmf->flags);
- delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
+ delayacct_clear_flag(current, DELAYACCT_PF_SWAPIN);
if (!locked) {
ret |= VM_FAULT_RETRY;
goto out_release;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 58/91] gdb: lx-symbols: store the abspath()
2021-05-07 1:01 incoming Andrew Morton
` (56 preceding siblings ...)
2021-05-07 1:05 ` [patch 57/91] delayacct: clear right task's flag after blkio completes Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 59/91] scripts/gdb: document lx_current is only supported by x86 Andrew Morton
` (33 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, jan.kiszka, johannes.berg, kbingham, linux-mm, mm-commits,
torvalds
From: Johannes Berg <johannes.berg@intel.com>
Subject: gdb: lx-symbols: store the abspath()
If we store the relative path, the user might later cd to a different
directory, and that would break the automatic symbol resolving that
happens when a module is loaded into the target kernel. Fix this by
storing the abspath() of each path given, just like we already do for the
cwd (os.getcwd() is absolute.)
Link: https://lkml.kernel.org/r/20201217091747.bf4332cf2b35.I10ebbdb7e9b80ab1a5cddebf53d073be8232d656@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/gdb/linux/symbols.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/scripts/gdb/linux/symbols.py~gdb-lx-symbols-store-the-abspath
+++ a/scripts/gdb/linux/symbols.py
@@ -164,7 +164,8 @@ lx-symbols command."""
saved_state['breakpoint'].enabled = saved_state['enabled']
def invoke(self, arg, from_tty):
- self.module_paths = [os.path.expanduser(p) for p in arg.split()]
+ self.module_paths = [os.path.abspath(os.path.expanduser(p))
+ for p in arg.split()]
self.module_paths.append(os.getcwd())
# enforce update
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 59/91] scripts/gdb: document lx_current is only supported by x86
2021-05-07 1:01 incoming Andrew Morton
` (57 preceding siblings ...)
2021-05-07 1:05 ` [patch 58/91] gdb: lx-symbols: store the abspath() Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 60/91] scripts/gdb: add lx_current support for arm64 Andrew Morton
` (32 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, corbet, jan.kiszka, kbingham, linux-mm, mm-commits,
song.bao.hua, torvalds
From: Barry Song <song.bao.hua@hisilicon.com>
Subject: scripts/gdb: document lx_current is only supported by x86
Patch series "scripts/gdb: clarify the platforms supporting lx_current and add arm64 support", v2.
lx_current depends on per_cpu current_task variable which exists on x86
only. so it actually works on x86 only. the 1st patch documents this
clearly; the 2nd patch adds support for arm64.
This patch (of 2):
x86 is the only architecture which has per_cpu current_task:
arch$ git grep current_task | grep -i per_cpu
x86/include/asm/current.h:DECLARE_PER_CPU(struct task_struct *, current_task);
x86/kernel/cpu/common.c:DEFINE_PER_CPU(struct task_struct *, current_task) ____cacheline_aligned =
x86/kernel/cpu/common.c:EXPORT_PER_CPU_SYMBOL(current_task);
x86/kernel/cpu/common.c:DEFINE_PER_CPU(struct task_struct *, current_task) = &init_task;
x86/kernel/cpu/common.c:EXPORT_PER_CPU_SYMBOL(current_task);
x86/kernel/smpboot.c: per_cpu(current_task, cpu) = idle;
On other architectures, lx_current() will lead to a python exception:
(gdb) p $lx_current().pid
Python Exception <class 'gdb.error'> No symbol "current_task" in current context.:
Error occurred in Python: No symbol "current_task" in current context.
To avoid more people struggling and wasting time in other architectures,
document it.
Link: https://lkml.kernel.org/r/20210314203444.15188-1-song.bao.hua@hisilicon.com
Link: https://lkml.kernel.org/r/20210314203444.15188-2-song.bao.hua@hisilicon.com
Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/dev-tools/gdb-kernel-debugging.rst | 2 +-
scripts/gdb/linux/cpus.py | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
--- a/Documentation/dev-tools/gdb-kernel-debugging.rst~scripts-gdb-document-lx_current-is-only-supported-by-x86
+++ a/Documentation/dev-tools/gdb-kernel-debugging.rst
@@ -114,7 +114,7 @@ Examples of using the Linux-provided gdb
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
....
-- Examine fields of the current task struct::
+- Examine fields of the current task struct(supported by x86 only)::
(gdb) p $lx_current().pid
$1 = 4998
--- a/scripts/gdb/linux/cpus.py~scripts-gdb-document-lx_current-is-only-supported-by-x86
+++ a/scripts/gdb/linux/cpus.py
@@ -156,6 +156,13 @@ Note that VAR has to be quoted as string
PerCpu()
+def get_current_task(cpu):
+ if utils.is_target_arch("x86"):
+ var_ptr = gdb.parse_and_eval("¤t_task")
+ return per_cpu(var_ptr, cpu).dereference()
+ else:
+ raise gdb.GdbError("Sorry, obtaining the current task is not yet "
+ "supported with this arch")
class LxCurrentFunc(gdb.Function):
"""Return current task.
@@ -167,8 +174,7 @@ number. If CPU is omitted, the CPU of th
super(LxCurrentFunc, self).__init__("lx_current")
def invoke(self, cpu=-1):
- var_ptr = gdb.parse_and_eval("¤t_task")
- return per_cpu(var_ptr, cpu).dereference()
+ return get_current_task(cpu)
LxCurrentFunc()
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 60/91] scripts/gdb: add lx_current support for arm64
2021-05-07 1:01 incoming Andrew Morton
` (58 preceding siblings ...)
2021-05-07 1:05 ` [patch 59/91] scripts/gdb: document lx_current is only supported by x86 Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 61/91] kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources Andrew Morton
` (31 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, corbet, jan.kiszka, kbingham, linux-mm, mm-commits,
song.bao.hua, torvalds
From: Barry Song <song.bao.hua@hisilicon.com>
Subject: scripts/gdb: add lx_current support for arm64
arm64 uses SP_EL0 to save the current task_struct address. While running
in EL0, SP_EL0 is clobbered by userspace. So if the upper bit is not 1
(not TTBR1), the current address is invalid. This patch checks the upper
bit of SP_EL0, if the upper bit is 1, lx_current() of arm64 will return
the derefrence of current task. Otherwise, lx_current() will tell users
they are running in userspace(EL0).
While arm64 is running in EL0, it is actually pointless to print current
task as the memory of kernel space is not accessible in EL0.
Link: https://lkml.kernel.org/r/20210314203444.15188-3-song.bao.hua@hisilicon.com
Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kieran Bingham <kbingham@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/dev-tools/gdb-kernel-debugging.rst | 2 +-
scripts/gdb/linux/cpus.py | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
--- a/Documentation/dev-tools/gdb-kernel-debugging.rst~scripts-gdb-add-lx_current-support-for-arm64
+++ a/Documentation/dev-tools/gdb-kernel-debugging.rst
@@ -114,7 +114,7 @@ Examples of using the Linux-provided gdb
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
....
-- Examine fields of the current task struct(supported by x86 only)::
+- Examine fields of the current task struct(supported by x86 and arm64 only)::
(gdb) p $lx_current().pid
$1 = 4998
--- a/scripts/gdb/linux/cpus.py~scripts-gdb-add-lx_current-support-for-arm64
+++ a/scripts/gdb/linux/cpus.py
@@ -16,6 +16,9 @@ import gdb
from linux import tasks, utils
+task_type = utils.CachedType("struct task_struct")
+
+
MAX_CPUS = 4096
@@ -157,9 +160,19 @@ Note that VAR has to be quoted as string
PerCpu()
def get_current_task(cpu):
+ task_ptr_type = task_type.get_type().pointer()
+
if utils.is_target_arch("x86"):
var_ptr = gdb.parse_and_eval("¤t_task")
return per_cpu(var_ptr, cpu).dereference()
+ elif utils.is_target_arch("aarch64"):
+ current_task_addr = gdb.parse_and_eval("$SP_EL0")
+ if((current_task_addr >> 63) != 0):
+ current_task = current_task_addr.cast(task_ptr_type)
+ return current_task.dereference()
+ else:
+ raise gdb.GdbError("Sorry, obtaining the current task is not allowed "
+ "while running in userspace(EL0)")
else:
raise gdb.GdbError("Sorry, obtaining the current task is not yet "
"supported with this arch")
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 61/91] kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
2021-05-07 1:01 incoming Andrew Morton
` (59 preceding siblings ...)
2021-05-07 1:05 ` [patch 60/91] scripts/gdb: add lx_current support for arm64 Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 62/91] kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources Andrew Morton
` (30 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, andriy.shevchenko, bhe, bp, brijesh.singh, cai,
dan.j.williams, daniel.vetter, dave.hansen, david, dyoung,
ebiederm, gregkh, hpa, keith.busch, linux-mm, mchehab+huawei,
mhocko, mingo, mm-commits, osalvador, tglx, thomas.lendacky,
torvalds, vgoyal
From: David Hildenbrand <david@redhat.com>
Subject: kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
Patch series "kernel/resource: make walk_system_ram_res() and walk_mem_res() search the whole tree", v2.
Playing with kdump+virtio-mem I noticed that kexec_file_load() does not
consider System RAM added via dax/kmem and virtio-mem when preparing the
elf header for kdump. Looking into the details, the logic used in
walk_system_ram_res() and walk_mem_res() seems to be outdated.
walk_system_ram_range() already does the right thing, let's change
walk_system_ram_res() and walk_mem_res(), and clean up.
Loading a kdump kernel via "kexec -p -s" ... will result in the kdump
kernel to also dump dax/kmem and virtio-mem added System RAM now.
Note: kexec-tools on x86-64 also have to be updated to consider this
memory in the kexec_load() case when processing /proc/iomem.
This patch (of 3):
It used to be true that we can have system RAM (IORESOURCE_SYSTEM_RAM |
IORESOURCE_BUSY) only on the first level in the resource tree. However,
this is no longer holds for driver-managed system RAM (i.e., added via
dax/kmem and virtio-mem), which gets added on lower levels, for example,
inside device containers.
We have two users of walk_system_ram_res(), which currently only
consideres the first level:
a) kernel/kexec_file.c:kexec_walk_resources() -- We properly skip
IORESOURCE_SYSRAM_DRIVER_MANAGED resources via
locate_mem_hole_callback(), so even after this change, we won't be
placing kexec images onto dax/kmem and virtio-mem added memory. No
change.
b) arch/x86/kernel/crash.c:fill_up_crash_elf_data() -- we're currently
not adding relevant ranges to the crash elf header, resulting in them
not getting dumped via kdump.
This change fixes loading a crashkernel via kexec_file_load() and
including dax/kmem and virtio-mem added System RAM in the crashdump on
x86-64. Note that e.g,, arm64 relies on memblock data and, therefore,
always considers all added System RAM already.
Let's find all IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY resources, making
the function behave like walk_system_ram_range().
Link: https://lkml.kernel.org/r/20210325115326.7826-1-david@redhat.com
Link: https://lkml.kernel.org/r/20210325115326.7826-2-david@redhat.com
Fixes: ebf71552bb0e ("virtio-mem: Add parent resource for all added "System RAM"")
Fixes: c221c0b0308f ("device-dax: "Hotplug" persistent memory for use like normal RAM")
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Baoquan He <bhe@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/resource.c~kernel-resource-make-walk_system_ram_res-find-all-busy-ioresource_system_ram-resources
+++ a/kernel/resource.c
@@ -457,7 +457,7 @@ int walk_system_ram_res(u64 start, u64 e
{
unsigned long flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
- return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, true,
+ return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, false,
arg, func);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 62/91] kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
2021-05-07 1:01 incoming Andrew Morton
` (60 preceding siblings ...)
2021-05-07 1:05 ` [patch 61/91] kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 63/91] kernel/resource: remove first_lvl / siblings_only logic Andrew Morton
` (29 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, andriy.shevchenko, bhe, bp, brijesh.singh, cai,
dan.j.williams, daniel.vetter, dave.hansen, david, dyoung,
ebiederm, gregkh, hpa, keith.busch, linux-mm, mchehab+huawei,
mhocko, mingo, mm-commits, osalvador, tglx, thomas.lendacky,
torvalds, vgoyal
From: David Hildenbrand <david@redhat.com>
Subject: kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
It used to be true that we can have system RAM (IORESOURCE_SYSTEM_RAM |
IORESOURCE_BUSY) only on the first level in the resource tree. However,
this is no longer holds for driver-managed system RAM (i.e., added via
dax/kmem and virtio-mem), which gets added on lower levels, for example,
inside device containers.
IORESOURCE_SYSTEM_RAM is defined as IORESOURCE_MEM | IORESOURCE_SYSRAM and
just a special type of IORESOURCE_MEM.
The function walk_mem_res() only considers the first level and is used in
arch/x86/mm/ioremap.c:__ioremap_check_mem() only. We currently fail to
identify System RAM added by dax/kmem and virtio-mem as
"IORES_MAP_SYSTEM_RAM", for example, allowing for remapping of such
"normal RAM" in __ioremap_caller().
Let's find all IORESOURCE_MEM | IORESOURCE_BUSY resources, making the
function behave similar to walk_system_ram_res().
Link: https://lkml.kernel.org/r/20210325115326.7826-3-david@redhat.com
Fixes: ebf71552bb0e ("virtio-mem: Add parent resource for all added "System RAM"")
Fixes: c221c0b0308f ("device-dax: "Hotplug" persistent memory for use like normal RAM")
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/resource.c~kernel-resource-make-walk_mem_res-find-all-busy-ioresource_mem-resources
+++ a/kernel/resource.c
@@ -470,7 +470,7 @@ int walk_mem_res(u64 start, u64 end, voi
{
unsigned long flags = IORESOURCE_MEM | IORESOURCE_BUSY;
- return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, true,
+ return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, false,
arg, func);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 63/91] kernel/resource: remove first_lvl / siblings_only logic
2021-05-07 1:01 incoming Andrew Morton
` (61 preceding siblings ...)
2021-05-07 1:05 ` [patch 62/91] kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 64/91] kernel/resource: allow region_intersects users to hold resource_lock Andrew Morton
` (28 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, andriy.shevchenko, bhe, bp, brijesh.singh, cai,
dan.j.williams, daniel.vetter, dave.hansen, david, dyoung,
ebiederm, gregkh, hpa, keith.busch, linux-mm, mchehab+huawei,
mhocko, mingo, mm-commits, osalvador, tglx, thomas.lendacky,
torvalds, vgoyal
From: David Hildenbrand <david@redhat.com>
Subject: kernel/resource: remove first_lvl / siblings_only logic
All functions that search for IORESOURCE_SYSTEM_RAM or IORESOURCE_MEM
resources now properly consider the whole resource tree, not just the
first level. Let's drop the unused first_lvl / siblings_only logic.
Remove documentation that indicates that some functions behave differently,
all consider the full resource tree now.
Link: https://lkml.kernel.org/r/20210325115326.7826-4-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Dave Young <dyoung@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 45 +++++++++++---------------------------------
1 file changed, 12 insertions(+), 33 deletions(-)
--- a/kernel/resource.c~kernel-resource-remove-first_lvl-siblings_only-logic
+++ a/kernel/resource.c
@@ -64,12 +64,8 @@ static DEFINE_RWLOCK(resource_lock);
static struct resource *bootmem_resource_free;
static DEFINE_SPINLOCK(bootmem_resource_lock);
-static struct resource *next_resource(struct resource *p, bool sibling_only)
+static struct resource *next_resource(struct resource *p)
{
- /* Caller wants to traverse through siblings only */
- if (sibling_only)
- return p->sibling;
-
if (p->child)
return p->child;
while (!p->sibling && p->parent)
@@ -81,7 +77,7 @@ static void *r_next(struct seq_file *m,
{
struct resource *p = v;
(*pos)++;
- return (void *)next_resource(p, false);
+ return (void *)next_resource(p);
}
#ifdef CONFIG_PROC_FS
@@ -330,14 +326,10 @@ EXPORT_SYMBOL(release_resource);
* of the resource that's within [@start..@end]; if none is found, returns
* -ENODEV. Returns -EINVAL for invalid parameters.
*
- * This function walks the whole tree and not just first level children
- * unless @first_lvl is true.
- *
* @start: start address of the resource searched for
* @end: end address of same resource
* @flags: flags which the resource must have
* @desc: descriptor the resource must have
- * @first_lvl: walk only the first level children, if set
* @res: return ptr, if resource found
*
* The caller must specify @start, @end, @flags, and @desc
@@ -345,9 +337,8 @@ EXPORT_SYMBOL(release_resource);
*/
static int find_next_iomem_res(resource_size_t start, resource_size_t end,
unsigned long flags, unsigned long desc,
- bool first_lvl, struct resource *res)
+ struct resource *res)
{
- bool siblings_only = true;
struct resource *p;
if (!res)
@@ -358,7 +349,7 @@ static int find_next_iomem_res(resource_
read_lock(&resource_lock);
- for (p = iomem_resource.child; p; p = next_resource(p, siblings_only)) {
+ for (p = iomem_resource.child; p; p = next_resource(p)) {
/* If we passed the resource we are looking for, stop */
if (p->start > end) {
p = NULL;
@@ -369,13 +360,6 @@ static int find_next_iomem_res(resource_
if (p->end < start)
continue;
- /*
- * Now that we found a range that matches what we look for,
- * check the flags and the descriptor. If we were not asked to
- * use only the first level, start looking at children as well.
- */
- siblings_only = first_lvl;
-
if ((p->flags & flags) != flags)
continue;
if ((desc != IORES_DESC_NONE) && (desc != p->desc))
@@ -402,14 +386,14 @@ static int find_next_iomem_res(resource_
static int __walk_iomem_res_desc(resource_size_t start, resource_size_t end,
unsigned long flags, unsigned long desc,
- bool first_lvl, void *arg,
+ void *arg,
int (*func)(struct resource *, void *))
{
struct resource res;
int ret = -EINVAL;
while (start < end &&
- !find_next_iomem_res(start, end, flags, desc, first_lvl, &res)) {
+ !find_next_iomem_res(start, end, flags, desc, &res)) {
ret = (*func)(&res, arg);
if (ret)
break;
@@ -431,7 +415,6 @@ static int __walk_iomem_res_desc(resourc
* @arg: function argument for the callback @func
* @func: callback function that is called for each qualifying resource area
*
- * This walks through whole tree and not just first level children.
* All the memory ranges which overlap start,end and also match flags and
* desc are valid candidates.
*
@@ -441,7 +424,7 @@ static int __walk_iomem_res_desc(resourc
int walk_iomem_res_desc(unsigned long desc, unsigned long flags, u64 start,
u64 end, void *arg, int (*func)(struct resource *, void *))
{
- return __walk_iomem_res_desc(start, end, flags, desc, false, arg, func);
+ return __walk_iomem_res_desc(start, end, flags, desc, arg, func);
}
EXPORT_SYMBOL_GPL(walk_iomem_res_desc);
@@ -457,8 +440,8 @@ int walk_system_ram_res(u64 start, u64 e
{
unsigned long flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
- return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, false,
- arg, func);
+ return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, arg,
+ func);
}
/*
@@ -470,17 +453,14 @@ int walk_mem_res(u64 start, u64 end, voi
{
unsigned long flags = IORESOURCE_MEM | IORESOURCE_BUSY;
- return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, false,
- arg, func);
+ return __walk_iomem_res_desc(start, end, flags, IORES_DESC_NONE, arg,
+ func);
}
/*
* This function calls the @func callback against all memory ranges of type
* System RAM which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY.
* It is to be used only for System RAM.
- *
- * This will find System RAM ranges that are children of top-level resources
- * in addition to top-level System RAM resources.
*/
int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
void *arg, int (*func)(unsigned long, unsigned long, void *))
@@ -495,8 +475,7 @@ int walk_system_ram_range(unsigned long
end = ((u64)(start_pfn + nr_pages) << PAGE_SHIFT) - 1;
flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
while (start < end &&
- !find_next_iomem_res(start, end, flags, IORES_DESC_NONE,
- false, &res)) {
+ !find_next_iomem_res(start, end, flags, IORES_DESC_NONE, &res)) {
pfn = PFN_UP(res.start);
end_pfn = PFN_DOWN(res.end + 1);
if (end_pfn > pfn)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 64/91] kernel/resource: allow region_intersects users to hold resource_lock
2021-05-07 1:01 incoming Andrew Morton
` (62 preceding siblings ...)
2021-05-07 1:05 ` [patch 63/91] kernel/resource: remove first_lvl / siblings_only logic Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 65/91] kernel/resource: refactor __request_region to allow external locking Andrew Morton
` (27 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, apopple, bsingharora, dan.j.williams, daniel.vetter, david,
gregkh, jglisse, jhubbard, linux-mm, mm-commits, smuchun,
torvalds
From: Alistair Popple <apopple@nvidia.com>
Subject: kernel/resource: allow region_intersects users to hold resource_lock
Introduce a version of region_intersects() that can be called with the
resource_lock already held. This is used in a future fix to
__request_free_mem_region().
[akpm@linux-foundation.org: make __region_intersects static]
Link: https://lkml.kernel.org/r/20210419070109.4780-1-apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Muchun Song <smuchun@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 52 ++++++++++++++++++++++++++------------------
1 file changed, 31 insertions(+), 21 deletions(-)
--- a/kernel/resource.c~kernel-resource-allow-region_intersects-users-to-hold-resource_lock
+++ a/kernel/resource.c
@@ -502,6 +502,34 @@ int __weak page_is_ram(unsigned long pfn
}
EXPORT_SYMBOL_GPL(page_is_ram);
+static int __region_intersects(resource_size_t start, size_t size,
+ unsigned long flags, unsigned long desc)
+{
+ struct resource res;
+ int type = 0; int other = 0;
+ struct resource *p;
+
+ res.start = start;
+ res.end = start + size - 1;
+
+ for (p = iomem_resource.child; p ; p = p->sibling) {
+ bool is_type = (((p->flags & flags) == flags) &&
+ ((desc == IORES_DESC_NONE) ||
+ (desc == p->desc)));
+
+ if (resource_overlaps(p, &res))
+ is_type ? type++ : other++;
+ }
+
+ if (type == 0)
+ return REGION_DISJOINT;
+
+ if (other == 0)
+ return REGION_INTERSECTS;
+
+ return REGION_MIXED;
+}
+
/**
* region_intersects() - determine intersection of region with known resources
* @start: region start address
@@ -525,31 +553,13 @@ EXPORT_SYMBOL_GPL(page_is_ram);
int region_intersects(resource_size_t start, size_t size, unsigned long flags,
unsigned long desc)
{
- struct resource res;
- int type = 0; int other = 0;
- struct resource *p;
-
- res.start = start;
- res.end = start + size - 1;
+ int ret;
read_lock(&resource_lock);
- for (p = iomem_resource.child; p ; p = p->sibling) {
- bool is_type = (((p->flags & flags) == flags) &&
- ((desc == IORES_DESC_NONE) ||
- (desc == p->desc)));
-
- if (resource_overlaps(p, &res))
- is_type ? type++ : other++;
- }
+ ret = __region_intersects(start, size, flags, desc);
read_unlock(&resource_lock);
- if (type == 0)
- return REGION_DISJOINT;
-
- if (other == 0)
- return REGION_INTERSECTS;
-
- return REGION_MIXED;
+ return ret;
}
EXPORT_SYMBOL_GPL(region_intersects);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 65/91] kernel/resource: refactor __request_region to allow external locking
2021-05-07 1:01 incoming Andrew Morton
` (63 preceding siblings ...)
2021-05-07 1:05 ` [patch 64/91] kernel/resource: allow region_intersects users to hold resource_lock Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 66/91] kernel/resource: fix locking in request_free_mem_region Andrew Morton
` (26 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, apopple, bsingharora, dan.j.williams, daniel.vetter, david,
gregkh, jglisse, jhubbard, linux-mm, mm-commits, smuchun,
torvalds
From: Alistair Popple <apopple@nvidia.com>
Subject: kernel/resource: refactor __request_region to allow external locking
Refactor the portion of __request_region() done whilst holding the
resource_lock into a separate function to allow callers to hold the lock.
Link: https://lkml.kernel.org/r/20210419070109.4780-2-apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Muchun Song <smuchun@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 52 +++++++++++++++++++++++++++-----------------
1 file changed, 32 insertions(+), 20 deletions(-)
--- a/kernel/resource.c~kernel-resource-refactor-__request_region-to-allow-external-locking
+++ a/kernel/resource.c
@@ -1160,31 +1160,16 @@ struct address_space *iomem_get_mapping(
return smp_load_acquire(&iomem_inode)->i_mapping;
}
-/**
- * __request_region - create a new busy resource region
- * @parent: parent resource descriptor
- * @start: resource start address
- * @n: resource region size
- * @name: reserving caller's ID string
- * @flags: IO resource flags
- */
-struct resource * __request_region(struct resource *parent,
+static int __request_region_locked(struct resource *res, struct resource *parent,
resource_size_t start, resource_size_t n,
const char *name, int flags)
{
DECLARE_WAITQUEUE(wait, current);
- struct resource *res = alloc_resource(GFP_KERNEL);
- struct resource *orig_parent = parent;
-
- if (!res)
- return NULL;
res->name = name;
res->start = start;
res->end = start + n - 1;
- write_lock(&resource_lock);
-
for (;;) {
struct resource *conflict;
@@ -1220,13 +1205,40 @@ struct resource * __request_region(struc
continue;
}
/* Uhhuh, that didn't work out.. */
- free_resource(res);
- res = NULL;
- break;
+ return -EBUSY;
}
+
+ return 0;
+}
+
+/**
+ * __request_region - create a new busy resource region
+ * @parent: parent resource descriptor
+ * @start: resource start address
+ * @n: resource region size
+ * @name: reserving caller's ID string
+ * @flags: IO resource flags
+ */
+struct resource *__request_region(struct resource *parent,
+ resource_size_t start, resource_size_t n,
+ const char *name, int flags)
+{
+ struct resource *res = alloc_resource(GFP_KERNEL);
+ int ret;
+
+ if (!res)
+ return NULL;
+
+ write_lock(&resource_lock);
+ ret = __request_region_locked(res, parent, start, n, name, flags);
write_unlock(&resource_lock);
- if (res && orig_parent == &iomem_resource)
+ if (ret) {
+ free_resource(res);
+ return NULL;
+ }
+
+ if (parent == &iomem_resource)
revoke_iomem(res);
return res;
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 66/91] kernel/resource: fix locking in request_free_mem_region
2021-05-07 1:01 incoming Andrew Morton
` (64 preceding siblings ...)
2021-05-07 1:05 ` [patch 65/91] kernel/resource: refactor __request_region to allow external locking Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 67/91] selftests: remove duplicate include Andrew Morton
` (25 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, apopple, bsingharora, dan.j.williams, daniel.vetter, david,
gregkh, jglisse, jhubbard, linux-mm, mm-commits, smuchun,
torvalds
From: Alistair Popple <apopple@nvidia.com>
Subject: kernel/resource: fix locking in request_free_mem_region
request_free_mem_region() is used to find an empty range of physical
addresses for hotplugging ZONE_DEVICE memory. It does this by iterating
over the range of possible addresses using region_intersects() to see if
the range is free before calling request_mem_region() to allocate the
region.
However the resource_lock is dropped between these two calls meaning by
the time request_mem_region() is called in request_free_mem_region()
another thread may have already reserved the requested region. This
results in unexpected failures and a message in the kernel log from
hitting this condition:
/*
* mm/hmm.c reserves physical addresses which then
* become unavailable to other users. Conflicts are
* not expected. Warn to aid debugging if encountered.
*/
if (conflict->desc == IORES_DESC_DEVICE_PRIVATE_MEMORY) {
pr_warn("Unaddressable device %s %pR conflicts with %pR",
conflict->name, conflict, res);
These unexpected failures can be corrected by holding resource_lock across
the two calls. This also requires memory allocation to be performed prior
to taking the lock.
Link: https://lkml.kernel.org/r/20210419070109.4780-3-apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Muchun Song <smuchun@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/resource.c | 45 +++++++++++++++++++++++++++++++++++++-------
1 file changed, 38 insertions(+), 7 deletions(-)
--- a/kernel/resource.c~kernel-resource-fix-locking-in-request_free_mem_region
+++ a/kernel/resource.c
@@ -1780,25 +1780,56 @@ static struct resource *__request_free_m
{
resource_size_t end, addr;
struct resource *res;
+ struct region_devres *dr = NULL;
size = ALIGN(size, 1UL << PA_SECTION_SHIFT);
end = min_t(unsigned long, base->end, (1UL << MAX_PHYSMEM_BITS) - 1);
addr = end - size + 1UL;
+ res = alloc_resource(GFP_KERNEL);
+ if (!res)
+ return ERR_PTR(-ENOMEM);
+
+ if (dev) {
+ dr = devres_alloc(devm_region_release,
+ sizeof(struct region_devres), GFP_KERNEL);
+ if (!dr) {
+ free_resource(res);
+ return ERR_PTR(-ENOMEM);
+ }
+ }
+
+ write_lock(&resource_lock);
for (; addr > size && addr >= base->start; addr -= size) {
- if (region_intersects(addr, size, 0, IORES_DESC_NONE) !=
+ if (__region_intersects(addr, size, 0, IORES_DESC_NONE) !=
REGION_DISJOINT)
continue;
- if (dev)
- res = devm_request_mem_region(dev, addr, size, name);
- else
- res = request_mem_region(addr, size, name);
- if (!res)
- return ERR_PTR(-ENOMEM);
+ if (!__request_region_locked(res, &iomem_resource, addr, size,
+ name, 0))
+ break;
+
+ if (dev) {
+ dr->parent = &iomem_resource;
+ dr->start = addr;
+ dr->n = size;
+ devres_add(dev, dr);
+ }
+
res->desc = IORES_DESC_DEVICE_PRIVATE_MEMORY;
+ write_unlock(&resource_lock);
+
+ /*
+ * A driver is claiming this region so revoke any mappings.
+ */
+ revoke_iomem(res);
return res;
}
+ write_unlock(&resource_lock);
+
+ free_resource(res);
+ if (dr)
+ devres_free(dr);
return ERR_PTR(-ERANGE);
}
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 67/91] selftests: remove duplicate include
2021-05-07 1:01 incoming Andrew Morton
` (65 preceding siblings ...)
2021-05-07 1:05 ` [patch 66/91] kernel/resource: fix locking in request_free_mem_region Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 68/91] kernel/async.c: stop guarding pr_debug() statements Andrew Morton
` (24 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, pbonzini, shuah, torvalds, zhang.yunkai
From: Zhang Yunkai <zhang.yunkai@zte.com.cn>
Subject: selftests: remove duplicate include
'assert.h' included in 'sparsebit.c' is duplicated.
It is also included in the 161th line.
'string.h' included in 'mincore_selftest.c' is duplicated.
It is also included in the 15th line.
'sched.h' included in 'tlbie_test.c' is duplicated.
It is also included in the 33th line.
Link: https://lkml.kernel.org/r/20210316073336.426255-1-zhang.yunkai@zte.com.cn
Signed-off-by: Zhang Yunkai <zhang.yunkai@zte.com.cn>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
tools/testing/selftests/kvm/lib/sparsebit.c | 1 -
tools/testing/selftests/mincore/mincore_selftest.c | 1 -
tools/testing/selftests/powerpc/mm/tlbie_test.c | 1 -
3 files changed, 3 deletions(-)
--- a/tools/testing/selftests/kvm/lib/sparsebit.c~selftests-remove-duplicate-include
+++ a/tools/testing/selftests/kvm/lib/sparsebit.c
@@ -1890,7 +1890,6 @@ void sparsebit_validate_internal(struct
*/
#include <stdlib.h>
-#include <assert.h>
struct range {
sparsebit_idx_t first, last;
--- a/tools/testing/selftests/mincore/mincore_selftest.c~selftests-remove-duplicate-include
+++ a/tools/testing/selftests/mincore/mincore_selftest.c
@@ -14,7 +14,6 @@
#include <sys/mman.h>
#include <string.h>
#include <fcntl.h>
-#include <string.h>
#include "../kselftest.h"
#include "../kselftest_harness.h"
--- a/tools/testing/selftests/powerpc/mm/tlbie_test.c~selftests-remove-duplicate-include
+++ a/tools/testing/selftests/powerpc/mm/tlbie_test.c
@@ -33,7 +33,6 @@
#include <sched.h>
#include <time.h>
#include <stdarg.h>
-#include <sched.h>
#include <pthread.h>
#include <signal.h>
#include <sys/prctl.h>
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 68/91] kernel/async.c: stop guarding pr_debug() statements
2021-05-07 1:01 incoming Andrew Morton
` (66 preceding siblings ...)
2021-05-07 1:05 ` [patch 67/91] selftests: remove duplicate include Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 69/91] kernel/async.c: remove async_unregister_domain() Andrew Morton
` (23 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, linux-mm, linux, mm-commits, tj, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: kernel/async.c: stop guarding pr_debug() statements
It's currently nigh impossible to get these pr_debug()s to print
something. Being guarded by initcall_debug means one has to enable tons
of other debug output during boot, and the system_state condition further
means it's impossible to get them when loading modules later.
Also, the compiler can't know that these global conditions do not change,
so there are W=2 warnings
kernel/async.c:125:9: warning: `calltime' may be used uninitialized in this function [-Wmaybe-uninitialized]
kernel/async.c:300:9: warning: `starttime' may be used uninitialized in this function [-Wmaybe-uninitialized]
Make it possible, for a DYNAMIC_DEBUG kernel, to get these to print their
messages by booting with appropriate 'dyndbg="file async.c +p"' command
line argument. For a non-DYNAMIC_DEBUG kernel, pr_debug() compiles to
nothing.
This does cost doing an unconditional ktime_get() for the starttime value,
but the corresponding ktime_get for the end time can be elided by
factoring it into a function which only gets called if the printk()
arguments end up being evaluated.
Link: https://lkml.kernel.org/r/20210309151723.1907838-1-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/async.c | 48 +++++++++++++++++++----------------------------
1 file changed, 20 insertions(+), 28 deletions(-)
--- a/kernel/async.c~kernel-asyncc-stop-guarding-pr_debug-statements
+++ a/kernel/async.c
@@ -78,6 +78,12 @@ static DECLARE_WAIT_QUEUE_HEAD(async_don
static atomic_t entry_count;
+static long long microseconds_since(ktime_t start)
+{
+ ktime_t now = ktime_get();
+ return ktime_to_ns(ktime_sub(now, start)) >> 10;
+}
+
static async_cookie_t lowest_in_progress(struct async_domain *domain)
{
struct async_entry *first = NULL;
@@ -111,24 +117,18 @@ static void async_run_entry_fn(struct wo
struct async_entry *entry =
container_of(work, struct async_entry, work);
unsigned long flags;
- ktime_t calltime, delta, rettime;
+ ktime_t calltime;
/* 1) run (and print duration) */
- if (initcall_debug && system_state < SYSTEM_RUNNING) {
- pr_debug("calling %lli_%pS @ %i\n",
- (long long)entry->cookie,
- entry->func, task_pid_nr(current));
- calltime = ktime_get();
- }
+ pr_debug("calling %lli_%pS @ %i\n", (long long)entry->cookie,
+ entry->func, task_pid_nr(current));
+ calltime = ktime_get();
+
entry->func(entry->data, entry->cookie);
- if (initcall_debug && system_state < SYSTEM_RUNNING) {
- rettime = ktime_get();
- delta = ktime_sub(rettime, calltime);
- pr_debug("initcall %lli_%pS returned after %lld usecs\n",
- (long long)entry->cookie,
- entry->func,
- (long long)ktime_to_ns(delta) >> 10);
- }
+
+ pr_debug("initcall %lli_%pS returned after %lld usecs\n",
+ (long long)entry->cookie, entry->func,
+ microseconds_since(calltime));
/* 2) remove self from the pending queues */
spin_lock_irqsave(&async_lock, flags);
@@ -287,23 +287,15 @@ EXPORT_SYMBOL_GPL(async_synchronize_full
*/
void async_synchronize_cookie_domain(async_cookie_t cookie, struct async_domain *domain)
{
- ktime_t starttime, delta, endtime;
+ ktime_t starttime;
- if (initcall_debug && system_state < SYSTEM_RUNNING) {
- pr_debug("async_waiting @ %i\n", task_pid_nr(current));
- starttime = ktime_get();
- }
+ pr_debug("async_waiting @ %i\n", task_pid_nr(current));
+ starttime = ktime_get();
wait_event(async_done, lowest_in_progress(domain) >= cookie);
- if (initcall_debug && system_state < SYSTEM_RUNNING) {
- endtime = ktime_get();
- delta = ktime_sub(endtime, starttime);
-
- pr_debug("async_continuing @ %i after %lli usec\n",
- task_pid_nr(current),
- (long long)ktime_to_ns(delta) >> 10);
- }
+ pr_debug("async_continuing @ %i after %lli usec\n", task_pid_nr(current),
+ microseconds_since(starttime));
}
EXPORT_SYMBOL_GPL(async_synchronize_cookie_domain);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 69/91] kernel/async.c: remove async_unregister_domain()
2021-05-07 1:01 incoming Andrew Morton
` (67 preceding siblings ...)
2021-05-07 1:05 ` [patch 68/91] kernel/async.c: stop guarding pr_debug() statements Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 70/91] init/initramfs.c: do unpacking asynchronously Andrew Morton
` (22 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, linux-mm, linux, mm-commits, tj, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: kernel/async.c: remove async_unregister_domain()
No callers in the tree.
Link: https://lkml.kernel.org/r/20210309151723.1907838-2-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/async.h | 1 -
kernel/async.c | 18 ------------------
2 files changed, 19 deletions(-)
--- a/include/linux/async.h~kernel-asyncc-remove-async_unregister_domain
+++ a/include/linux/async.h
@@ -112,7 +112,6 @@ async_schedule_dev_domain(async_func_t f
return async_schedule_node_domain(func, dev, dev_to_node(dev), domain);
}
-void async_unregister_domain(struct async_domain *domain);
extern void async_synchronize_full(void);
extern void async_synchronize_full_domain(struct async_domain *domain);
extern void async_synchronize_cookie(async_cookie_t cookie);
--- a/kernel/async.c~kernel-asyncc-remove-async_unregister_domain
+++ a/kernel/async.c
@@ -246,24 +246,6 @@ void async_synchronize_full(void)
EXPORT_SYMBOL_GPL(async_synchronize_full);
/**
- * async_unregister_domain - ensure no more anonymous waiters on this domain
- * @domain: idle domain to flush out of any async_synchronize_full instances
- *
- * async_synchronize_{cookie|full}_domain() are not flushed since callers
- * of these routines should know the lifetime of @domain
- *
- * Prefer ASYNC_DOMAIN_EXCLUSIVE() declarations over flushing
- */
-void async_unregister_domain(struct async_domain *domain)
-{
- spin_lock_irq(&async_lock);
- WARN_ON(!domain->registered || !list_empty(&domain->pending));
- domain->registered = 0;
- spin_unlock_irq(&async_lock);
-}
-EXPORT_SYMBOL_GPL(async_unregister_domain);
-
-/**
* async_synchronize_full_domain - synchronize all asynchronous function within a certain domain
* @domain: the domain to synchronize
*
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 70/91] init/initramfs.c: do unpacking asynchronously
2021-05-07 1:01 incoming Andrew Morton
` (68 preceding siblings ...)
2021-05-07 1:05 ` [patch 69/91] kernel/async.c: remove async_unregister_domain() Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 71/91] modules: add CONFIG_MODPROBE_PATH Andrew Morton
` (21 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, bp, corbet, gregkh, jeyu, linux-mm, linux, mcgrof,
mm-commits, ndesaulniers, tiwai, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: init/initramfs.c: do unpacking asynchronously
Patch series "background initramfs unpacking, and CONFIG_MODPROBE_PATH", v3.
These two patches are independent, but better-together.
The second is a rather trivial patch that simply allows the developer to
change "/sbin/modprobe" to something else - e.g. the empty string, so
that all request_module() during early boot return -ENOENT early, without
even spawning a usermode helper, needlessly synchronizing with the
initramfs unpacking.
The first patch delegates decompressing the initramfs to a worker thread,
allowing do_initcalls() in main.c to proceed to the device_ and late_
initcalls without waiting for that decompression (and populating of
rootfs) to finish. Obviously, some of those later calls may rely on the
initramfs being available, so I've added synchronization points in the
firmware loader and usermodehelper paths - there might be other places
that would need this, but so far no one has been able to think of any
places I have missed.
There's not much to win if most of the functionality needed during boot is
only available as modules. But systems with a custom-made .config and
initramfs can boot faster, partly due to utilizing more than one cpu
earlier, partly by avoiding known-futile modprobe calls (which would still
trigger synchronization with the initramfs unpacking, thus eliminating
most of the first benefit).
This patch (of 2):
Most of the boot process doesn't actually need anything from the
initramfs, until of course PID1 is to be executed. So instead of doing
the decompressing and populating of the initramfs synchronously in
populate_rootfs() itself, push that off to a worker thread.
This is primarily motivated by an embedded ppc target, where unpacking
even the rather modest sized initramfs takes 0.6 seconds, which is long
enough that the external watchdog becomes unhappy that it doesn't get
attention soon enough. By doing the initramfs decompression in a worker
thread, we get to do the device_initcalls and hence start petting the
watchdog much sooner.
Normal desktops might benefit as well. On my mostly stock Ubuntu kernel,
my initramfs is a 26M xz-compressed blob, decompressing to around 126M.
That takes almost two seconds:
[ 0.201454] Trying to unpack rootfs image as initramfs...
[ 1.976633] Freeing initrd memory: 29416K
Before this patch, these lines occur consecutively in dmesg. With this
patch, the timestamps on these two lines is roughly the same as above, but
with 172 lines inbetween - so more than one cpu has been kept busy doing
work that would otherwise only happen after the populate_rootfs()
finished.
Should one of the initcalls done after rootfs_initcall time (i.e., device_
and late_ initcalls) need something from the initramfs (say, a kernel
module or a firmware blob), it will simply wait for the initramfs
unpacking to be done before proceeding, which should in theory make this
completely safe.
But if some driver pokes around in the filesystem directly and not via one
of the official kernel interfaces (i.e. request_firmware*(),
call_usermodehelper*) that theory may not hold - also, I certainly might
have missed a spot when sprinkling wait_for_initramfs(). So there is an
escape hatch in the form of an initramfs_async= command line parameter.
Link: https://lkml.kernel.org/r/20210313212528.2956377-1-linux@rasmusvillemoes.dk
Link: https://lkml.kernel.org/r/20210313212528.2956377-2-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/admin-guide/kernel-parameters.txt | 12 ++++
drivers/base/firmware_loader/main.c | 2
include/linux/initrd.h | 2
init/initramfs.c | 38 +++++++++++++-
init/main.c | 1
kernel/umh.c | 2
6 files changed, 56 insertions(+), 1 deletion(-)
--- a/Documentation/admin-guide/kernel-parameters.txt~init-initramfsc-do-unpacking-asynchronously
+++ a/Documentation/admin-guide/kernel-parameters.txt
@@ -1839,6 +1839,18 @@
initcall functions. Useful for debugging built-in
modules and initcalls.
+ initramfs_async= [KNL]
+ Format: <bool>
+ Default: 1
+ This parameter controls whether the initramfs
+ image is unpacked asynchronously, concurrently
+ with devices being probed and
+ initialized. This should normally just work,
+ but as a debugging aid, one can get the
+ historical behaviour of the initramfs
+ unpacking being completed before device_ and
+ late_ initcalls.
+
initrd= [BOOT] Specify the location of the initial ramdisk
initrdmem= [KNL] Specify a physical address and size from which to
--- a/drivers/base/firmware_loader/main.c~init-initramfsc-do-unpacking-asynchronously
+++ a/drivers/base/firmware_loader/main.c
@@ -15,6 +15,7 @@
#include <linux/kernel_read_file.h>
#include <linux/module.h>
#include <linux/init.h>
+#include <linux/initrd.h>
#include <linux/timer.h>
#include <linux/vmalloc.h>
#include <linux/interrupt.h>
@@ -504,6 +505,7 @@ fw_get_filesystem_firmware(struct device
if (!path)
return -ENOMEM;
+ wait_for_initramfs();
for (i = 0; i < ARRAY_SIZE(fw_path); i++) {
size_t file_size = 0;
size_t *file_size_ptr = NULL;
--- a/include/linux/initrd.h~init-initramfsc-do-unpacking-asynchronously
+++ a/include/linux/initrd.h
@@ -20,8 +20,10 @@ extern void free_initrd_mem(unsigned lon
#ifdef CONFIG_BLK_DEV_INITRD
extern void __init reserve_initrd_mem(void);
+extern void wait_for_initramfs(void);
#else
static inline void __init reserve_initrd_mem(void) {}
+static inline void wait_for_initramfs(void) {}
#endif
extern phys_addr_t phys_initrd_start;
--- a/init/initramfs.c~init-initramfsc-do-unpacking-asynchronously
+++ a/init/initramfs.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#include <linux/init.h>
+#include <linux/async.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/types.h>
@@ -541,6 +542,14 @@ static int __init keepinitrd_setup(char
__setup("keepinitrd", keepinitrd_setup);
#endif
+static bool __initdata initramfs_async = true;
+static int __init initramfs_async_setup(char *str)
+{
+ strtobool(str, &initramfs_async);
+ return 1;
+}
+__setup("initramfs_async=", initramfs_async_setup);
+
extern char __initramfs_start[];
extern unsigned long __initramfs_size;
#include <linux/initrd.h>
@@ -658,7 +667,7 @@ static void __init populate_initrd_image
}
#endif /* CONFIG_BLK_DEV_RAM */
-static int __init populate_rootfs(void)
+static void __init do_populate_rootfs(void *unused, async_cookie_t cookie)
{
/* Load the built in initramfs */
char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size);
@@ -693,6 +702,33 @@ done:
initrd_end = 0;
flush_delayed_fput();
+}
+
+static ASYNC_DOMAIN_EXCLUSIVE(initramfs_domain);
+static async_cookie_t initramfs_cookie;
+
+void wait_for_initramfs(void)
+{
+ if (!initramfs_cookie) {
+ /*
+ * Something before rootfs_initcall wants to access
+ * the filesystem/initramfs. Probably a bug. Make a
+ * note, avoid deadlocking the machine, and let the
+ * caller's access fail as it used to.
+ */
+ pr_warn_once("wait_for_initramfs() called before rootfs_initcalls\n");
+ return;
+ }
+ async_synchronize_cookie_domain(initramfs_cookie + 1, &initramfs_domain);
+}
+EXPORT_SYMBOL_GPL(wait_for_initramfs);
+
+static int __init populate_rootfs(void)
+{
+ initramfs_cookie = async_schedule_domain(do_populate_rootfs, NULL,
+ &initramfs_domain);
+ if (!initramfs_async)
+ wait_for_initramfs();
return 0;
}
rootfs_initcall(populate_rootfs);
--- a/init/main.c~init-initramfsc-do-unpacking-asynchronously
+++ a/init/main.c
@@ -1561,6 +1561,7 @@ static noinline void __init kernel_init_
kunit_run_all_tests();
+ wait_for_initramfs();
console_on_rootfs();
/*
--- a/kernel/umh.c~init-initramfsc-do-unpacking-asynchronously
+++ a/kernel/umh.c
@@ -27,6 +27,7 @@
#include <linux/ptrace.h>
#include <linux/async.h>
#include <linux/uaccess.h>
+#include <linux/initrd.h>
#include <trace/events/module.h>
@@ -107,6 +108,7 @@ static int call_usermodehelper_exec_asyn
commit_creds(new);
+ wait_for_initramfs();
retval = kernel_execve(sub_info->path,
(const char *const *)sub_info->argv,
(const char *const *)sub_info->envp);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 71/91] modules: add CONFIG_MODPROBE_PATH
2021-05-07 1:01 incoming Andrew Morton
` (69 preceding siblings ...)
2021-05-07 1:05 ` [patch 70/91] init/initramfs.c: do unpacking asynchronously Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 72/91] ipc/sem.c: mundane typo fixes Andrew Morton
` (20 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, bp, corbet, gregkh, jeyu, linux-mm, linux, mcgrof,
mm-commits, ndesaulniers, tiwai, torvalds
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: modules: add CONFIG_MODPROBE_PATH
Allow the developer to specifiy the initial value of the modprobe_path[]
string. This can be used to set it to the empty string initially, thus
effectively disabling request_module() during early boot until userspace
writes a new value via the /proc/sys/kernel/modprobe interface. [1]
When building a custom kernel (often for an embedded target), it's normal
to build everything into the kernel that is needed for booting, and indeed
the initramfs often contains no modules at all, so every such
request_module() done before userspace init has mounted the real rootfs is
a waste of time.
This is particularly useful when combined with the previous patch, which
made the initramfs unpacking asynchronous - for that to work, it had to
make any usermodehelper call wait for the unpacking to finish before
attempting to invoke the userspace helper. By eliminating all such
(known-to-be-futile) calls of usermodehelper, the initramfs unpacking and
the {device,late}_initcalls can proceed in parallel for much longer.
For a relatively slow ppc board I'm working on, the two patches combined
lead to 0.2s faster boot - but more importantly, the fact that the
initramfs unpacking proceeds completely in the background while devices
get probed means I get to handle the gpio watchdog in time without getting
reset.
[1] __request_module() already has an early -ENOENT return when
modprobe_path is the empty string.
Link: https://lkml.kernel.org/r/20210313212528.2956377-3-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Jessica Yu <jeyu@kernel.org>
Acked-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
init/Kconfig | 12 ++++++++++++
kernel/kmod.c | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
--- a/init/Kconfig~modules-add-config_modprobe_path
+++ a/init/Kconfig
@@ -2299,6 +2299,18 @@ config MODULE_ALLOW_MISSING_NAMESPACE_IM
If unsure, say N.
+config MODPROBE_PATH
+ string "Path to modprobe binary"
+ default "/sbin/modprobe"
+ help
+ When kernel code requests a module, it does so by calling
+ the "modprobe" userspace utility. This option allows you to
+ set the path where that binary is found. This can be changed
+ at runtime via the sysctl file
+ /proc/sys/kernel/modprobe. Setting this to the empty string
+ removes the kernel's ability to request modules (but
+ userspace can still load modules explicitly).
+
config TRIM_UNUSED_KSYMS
bool "Trim unused exported kernel symbols" if EXPERT
depends on !COMPILE_TEST
--- a/kernel/kmod.c~modules-add-config_modprobe_path
+++ a/kernel/kmod.c
@@ -58,7 +58,7 @@ static DECLARE_WAIT_QUEUE_HEAD(kmod_wq);
/*
modprobe_path is set via /proc/sys.
*/
-char modprobe_path[KMOD_PATH_LEN] = "/sbin/modprobe";
+char modprobe_path[KMOD_PATH_LEN] = CONFIG_MODPROBE_PATH;
static void free_modprobe_argv(struct subprocess_info *info)
{
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 72/91] ipc/sem.c: mundane typo fixes
2021-05-07 1:01 incoming Andrew Morton
` (70 preceding siblings ...)
2021-05-07 1:05 ` [patch 71/91] modules: add CONFIG_MODPROBE_PATH Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 73/91] mm: fix some typos and code style problems Andrew Morton
` (19 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, rdunlap, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: ipc/sem.c: mundane typo fixes
s/runtine/runtime/
s/AQUIRE/ACQUIRE/
s/seperately/separately/
s/wont/won\'t/
s/succesfull/successful/
Link: https://lkml.kernel.org/r/20210326022240.26375-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
ipc/sem.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/ipc/sem.c~ipc-semc-mundane-typo-fixes
+++ a/ipc/sem.c
@@ -36,7 +36,7 @@
* - two Linux specific semctl() commands: SEM_STAT, SEM_INFO.
* - undo adjustments at process exit are limited to 0..SEMVMX.
* - namespace are supported.
- * - SEMMSL, SEMMNS, SEMOPM and SEMMNI can be configured at runtine by writing
+ * - SEMMSL, SEMMNS, SEMOPM and SEMMNI can be configured at runtime by writing
* to /proc/sys/kernel/sem.
* - statistics about the usage are reported in /proc/sysvipc/sem.
*
@@ -224,7 +224,7 @@ static int sysvipc_sem_proc_show(struct
* Setting it to a result code is a RELEASE, this is ensured by both a
* smp_store_release() (for case a) and while holding sem_lock()
* (for case b).
- * The AQUIRE when reading the result code without holding sem_lock() is
+ * The ACQUIRE when reading the result code without holding sem_lock() is
* achieved by using READ_ONCE() + smp_acquire__after_ctrl_dep().
* (case a above).
* Reading the result code while holding sem_lock() needs no further barriers,
@@ -821,7 +821,7 @@ static inline int check_restart(struct s
/* It is impossible that someone waits for the new value:
* - complex operations always restart.
- * - wait-for-zero are handled seperately.
+ * - wait-for-zero are handled separately.
* - q is a previously sleeping simple operation that
* altered the array. It must be a decrement, because
* simple increments never sleep.
@@ -1046,7 +1046,7 @@ static void do_smart_update(struct sem_a
* - No complex ops, thus all sleeping ops are
* decrease.
* - if we decreased the value, then any sleeping
- * semaphore ops wont be able to run: If the
+ * semaphore ops won't be able to run: If the
* previous value was too small, then the new
* value will be too small, too.
*/
@@ -2108,7 +2108,7 @@ static long do_semtimedop(int semid, str
queue.dupsop = dupsop;
error = perform_atomic_semop(sma, &queue);
- if (error == 0) { /* non-blocking succesfull path */
+ if (error == 0) { /* non-blocking successful path */
DEFINE_WAKE_Q(wake_q);
/*
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 73/91] mm: fix some typos and code style problems
2021-05-07 1:01 incoming Andrew Morton
` (71 preceding siblings ...)
2021-05-07 1:05 ` [patch 72/91] ipc/sem.c: mundane typo fixes Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:05 ` [patch 74/91] drivers/char: remove /dev/kmem for good Andrew Morton
` (18 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, linmiaohe, linux-mm, luoshijie1, mm-commits, torvalds
From: Shijie Luo <luoshijie1@huawei.com>
Subject: mm: fix some typos and code style problems
fix some typos and code style problems in mm.
gfp.h: s/MAXNODES/MAX_NUMNODES
mmzone.h: s/then/than
rmap.c: s/__vma_split()/__vma_adjust()
swap.c: s/__mod_zone_page_stat/__mod_zone_page_state, s/is is/is
swap_state.c: s/whoes/whose
z3fold.c: code style problem fix in z3fold_unregister_migration
zsmalloc.c: s/of/or, s/give/given
Link: https://lkml.kernel.org/r/20210419083057.64820-1-luoshijie1@huawei.com
Signed-off-by: Shijie Luo <luoshijie1@huawei.com>
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/gfp.h | 2 +-
include/linux/mmzone.h | 2 +-
mm/rmap.c | 2 +-
mm/swap.c | 4 ++--
mm/swap_state.c | 2 +-
mm/z3fold.c | 2 +-
mm/zsmalloc.c | 4 ++--
7 files changed, 9 insertions(+), 9 deletions(-)
--- a/include/linux/gfp.h~mm-fix-some-typos-and-code-style-problems
+++ a/include/linux/gfp.h
@@ -490,7 +490,7 @@ static inline int gfp_zonelist(gfp_t fla
/*
* We get the zone list from the current node and the gfp_mask.
- * This zone list contains a maximum of MAXNODES*MAX_NR_ZONES zones.
+ * This zone list contains a maximum of MAX_NUMNODES*MAX_NR_ZONES zones.
* There are two zonelists per node, one for all zones with memory and
* one containing just zones from the node the zonelist belongs to.
*
--- a/include/linux/mmzone.h~mm-fix-some-typos-and-code-style-problems
+++ a/include/linux/mmzone.h
@@ -55,7 +55,7 @@ enum migratetype {
* pageblocks to MIGRATE_CMA which can be done by
* __free_pageblock_cma() function. What is important though
* is that a range of pageblocks must be aligned to
- * MAX_ORDER_NR_PAGES should biggest page be bigger then
+ * MAX_ORDER_NR_PAGES should biggest page be bigger than
* a single pageblock.
*/
MIGRATE_CMA,
--- a/mm/rmap.c~mm-fix-some-typos-and-code-style-problems
+++ a/mm/rmap.c
@@ -257,7 +257,7 @@ static inline void unlock_anon_vma_root(
* Attach the anon_vmas from src to dst.
* Returns 0 on success, -ENOMEM on failure.
*
- * anon_vma_clone() is called by __vma_split(), __split_vma(), copy_vma() and
+ * anon_vma_clone() is called by __vma_adjust(), __split_vma(), copy_vma() and
* anon_vma_fork(). The first three want an exact copy of src, while the last
* one, anon_vma_fork(), may try to reuse an existing anon_vma to prevent
* endless growth of anon_vma. Since dst->anon_vma is set to NULL before call,
--- a/mm/swap.c~mm-fix-some-typos-and-code-style-problems
+++ a/mm/swap.c
@@ -496,7 +496,7 @@ void lru_cache_add_inactive_or_unevictab
if (unlikely(unevictable) && !TestSetPageMlocked(page)) {
int nr_pages = thp_nr_pages(page);
/*
- * We use the irq-unsafe __mod_zone_page_stat because this
+ * We use the irq-unsafe __mod_zone_page_state because this
* counter is not modified from interrupt context, and the pte
* lock is held(spinlock), which implies preemption disabled.
*/
@@ -808,7 +808,7 @@ inline void __lru_add_drain_all(bool for
* below which drains the page vectors.
*
* Let x, y, and z represent some system CPU numbers, where x < y < z.
- * Assume CPU #z is is in the middle of the for_each_online_cpu loop
+ * Assume CPU #z is in the middle of the for_each_online_cpu loop
* below and has already reached CPU #y's per-cpu data. CPU #x comes
* along, adds some pages to its per-cpu vectors, then calls
* lru_add_drain_all().
--- a/mm/swap_state.c~mm-fix-some-typos-and-code-style-problems
+++ a/mm/swap_state.c
@@ -792,7 +792,7 @@ static void swap_ra_info(struct vm_fault
*
* Returns the struct page for entry and addr, after queueing swapin.
*
- * Primitive swap readahead code. We simply read in a few pages whoes
+ * Primitive swap readahead code. We simply read in a few pages whose
* virtual addresses are around the fault address in the same vma.
*
* Caller must hold read mmap_lock if vmf->vma is not NULL.
--- a/mm/z3fold.c~mm-fix-some-typos-and-code-style-problems
+++ a/mm/z3fold.c
@@ -391,7 +391,7 @@ static void z3fold_unregister_migration(
{
if (pool->inode)
iput(pool->inode);
- }
+}
/* Initializes the z3fold header of a newly allocated z3fold page */
static struct z3fold_header *init_z3fold_page(struct page *page, bool headless,
--- a/mm/zsmalloc.c~mm-fix-some-typos-and-code-style-problems
+++ a/mm/zsmalloc.c
@@ -61,7 +61,7 @@
#define ZSPAGE_MAGIC 0x58
/*
- * This must be power of 2 and greater than of equal to sizeof(link_free).
+ * This must be power of 2 and greater than or equal to sizeof(link_free).
* These two conditions ensure that any 'struct link_free' itself doesn't
* span more than 1 page which avoids complex case of mapping 2 pages simply
* to restore link_free pointer values.
@@ -530,7 +530,7 @@ static void set_zspage_mapping(struct zs
* class maintains a list of zspages where each zspage is divided
* into equal sized chunks. Each allocation falls into one of these
* classes depending on its size. This function returns index of the
- * size class which has chunk size big enough to hold the give size.
+ * size class which has chunk size big enough to hold the given size.
*/
static int get_size_class_index(int size)
{
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 74/91] drivers/char: remove /dev/kmem for good
2021-05-07 1:01 incoming Andrew Morton
` (72 preceding siblings ...)
2021-05-07 1:05 ` [patch 73/91] mm: fix some typos and code style problems Andrew Morton
@ 2021-05-07 1:05 ` Andrew Morton
2021-05-07 1:06 ` [patch 75/91] mm: remove xlate_dev_kmem_ptr() Andrew Morton
` (17 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:05 UTC (permalink / raw)
To: akpm, alexandre.belloni, andrew, andrey.zhizhikin, arnd, bcain,
benh, bigeasy, borntraeger, chris, christophe.leroy, clabbe,
corbet, dalias, davem, david, deller, ebiederm, geert,
gerald.schaefer, gor, grandmaster, green.hu, gregkh,
gregory.clement, hca, hdanton, huang.ying.caritas, ink,
James.Bottomley, james.troup, jcmvbkbc, jiaxun.yang, jonas,
kasong, keescook, krzk, kuninori.morimoto.gx, linux-mm, linux,
liviu.dudau, lorenzo.pieralisi, luc.vanoostenryck, mattst88,
mcgrof, mhocko, minchan, mingo, mm-commits, mpatocka, mpe,
nixiaoming, oleksiy.avramchenko, palmerdabbelt, paulus, pavel,
pavel, peterz, pmorel, rdunlap, robh, rostedt, rppt, rric, rth,
sam, schnelle, sebastian.hesselbarth, shorne,
stefan.kristiansson, sudeep.holla, tblodt, tglx, torvalds,
tsbogend, viresh.kumar, viro, wcohen, willy, ysato
From: David Hildenbrand <david@redhat.com>
Subject: drivers/char: remove /dev/kmem for good
Patch series "drivers/char: remove /dev/kmem for good".
Exploring /dev/kmem and /dev/mem in the context of memory hot(un)plug and
memory ballooning, I started questioning the existence of /dev/kmem.
Comparing it with the /proc/kcore implementation, it does not seem to be
able to deal with things like
a) Pages unmapped from the direct mapping (e.g., to be used by secretmem)
-> kern_addr_valid(). virt_addr_valid() is not sufficient.
b) Special cases like gart aperture memory that is not to be touched
-> mem_pfn_is_ram()
Unless I am missing something, it's at least broken in some cases and might
fault/crash the machine.
Looks like its existence has been questioned before in 2005 and 2010 [1],
after ~11 additional years, it might make sense to revive the discussion.
CONFIG_DEVKMEM is only enabled in a single defconfig (on purpose or by
mistake?). All distributions disable it: in Ubuntu it has been disabled
for more than 10 years, in Debian since 2.6.31, in Fedora at least
starting with FC3, in RHEL starting with RHEL4, in SUSE starting from
15sp2, and OpenSUSE has it disabled as well.
1) /dev/kmem was popular for rootkits [2] before it got disabled
basically everywhere. Ubuntu documents [3] "There is no modern user of
/dev/kmem any more beyond attackers using it to load kernel rootkits.".
RHEL documents in a BZ [5] "it served no practical purpose other than to
serve as a potential security problem or to enable binary module drivers
to access structures/functions they shouldn't be touching"
2) /proc/kcore is a decent interface to have a controlled way to read
kernel memory for debugging puposes. (will need some extensions to
deal with memory offlining/unplug, memory ballooning, and poisoned
pages, though)
3) It might be useful for corner case debugging [1]. KDB/KGDB might be a
better fit, especially, to write random memory; harder to shoot
yourself into the foot.
4) "Kernel Memory Editor" [4] hasn't seen any updates since 2000 and seems
to be incompatible with 64bit [1]. For educational purposes,
/proc/kcore might be used to monitor value updates -- or older
kernels can be used.
5) It's broken on arm64, and therefore, completely disabled there.
Looks like it's essentially unused and has been replaced by better
suited interfaces for individual tasks (/proc/kcore, KDB/KGDB). Let's
just remove it.
[1] https://lwn.net/Articles/147901/
[2] https://www.linuxjournal.com/article/10505
[3] https://wiki.ubuntu.com/Security/Features#A.2Fdev.2Fkmem_disabled
[4] https://sourceforge.net/projects/kme/
[5] https://bugzilla.redhat.com/show_bug.cgi?id=154796
Link: https://lkml.kernel.org/r/20210324102351.6932-1-david@redhat.com
Link: https://lkml.kernel.org/r/20210324102351.6932-2-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Alexander A. Klimov" <grandmaster@al2klimov.de>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Chris Zankel <chris@zankel.net>
Cc: Corentin Labbe <clabbe@baylibre.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Gregory Clement <gregory.clement@bootlin.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Hillf Danton <hdanton@sina.com>
Cc: huang ying <huang.ying.caritas@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: James Troup <james.troup@canonical.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kairui Song <kasong@redhat.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
Cc: openrisc@lists.librecores.org
Cc: Palmer Dabbelt <palmerdabbelt@google.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: "Pavel Machek (CIP)" <pavel@denx.de>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Cc: Pierre Morel <pmorel@linux.ibm.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Rich Felker <dalias@libc.org>
Cc: Robert Richter <rric@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: sparclinux@vger.kernel.org
Cc: Stafford Horne <shorne@gmail.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Theodore Dubois <tblodt@icloud.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: William Cohen <wcohen@redhat.com>
Cc: Xiaoming Ni <nixiaoming@huawei.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/admin-guide/devices.txt | 2
arch/arm/configs/dove_defconfig | 1
arch/arm/configs/magician_defconfig | 1
arch/arm/configs/moxart_defconfig | 1
arch/arm/configs/mps2_defconfig | 1
arch/arm/configs/mvebu_v5_defconfig | 1
arch/arm/configs/xcep_defconfig | 1
arch/hexagon/configs/comet_defconfig | 1
arch/m68k/configs/amcore_defconfig | 1
arch/openrisc/configs/or1ksim_defconfig | 1
arch/sh/configs/edosk7705_defconfig | 1
arch/sh/configs/se7206_defconfig | 1
arch/sh/configs/sh2007_defconfig | 1
arch/sh/configs/sh7724_generic_defconfig | 1
arch/sh/configs/sh7770_generic_defconfig | 1
arch/sh/configs/sh7785lcr_32bit_defconfig | 1
arch/sparc/configs/sparc64_defconfig | 1
arch/xtensa/configs/xip_kc705_defconfig | 1
drivers/char/Kconfig | 10
drivers/char/mem.c | 231 --------------------
include/linux/fs.h | 2
include/linux/vmalloc.h | 2
kernel/configs/android-base.config | 1
mm/ksm.c | 2
mm/vmalloc.c | 2
25 files changed, 5 insertions(+), 264 deletions(-)
--- a/arch/arm/configs/dove_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/dove_defconfig
@@ -63,7 +63,6 @@ CONFIG_INPUT_EVDEV=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_SERIO is not set
CONFIG_LEGACY_PTY_COUNT=16
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
--- a/arch/arm/configs/magician_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/magician_defconfig
@@ -72,7 +72,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=m
# CONFIG_SERIO is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_PXA=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
--- a/arch/arm/configs/moxart_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/moxart_defconfig
@@ -79,7 +79,6 @@ CONFIG_INPUT_EVBUG=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=1
--- a/arch/arm/configs/mps2_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/mps2_defconfig
@@ -69,7 +69,6 @@ CONFIG_SMSC911X=y
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_MPS2_UART_CONSOLE=y
CONFIG_SERIAL_MPS2_UART=y
# CONFIG_HW_RANDOM is not set
--- a/arch/arm/configs/mvebu_v5_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/mvebu_v5_defconfig
@@ -100,7 +100,6 @@ CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_LEGACY_PTY_COUNT=16
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
--- a/arch/arm/configs/xcep_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/arm/configs/xcep_defconfig
@@ -53,7 +53,6 @@ CONFIG_NET_ETHERNET=y
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
# CONFIG_LEGACY_PTYS is not set
--- a/arch/hexagon/configs/comet_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/hexagon/configs/comet_defconfig
@@ -34,7 +34,6 @@ CONFIG_NET_ETHERNET=y
# CONFIG_SERIO is not set
# CONFIG_CONSOLE_TRANSLATIONS is not set
CONFIG_LEGACY_PTY_COUNT=64
-# CONFIG_DEVKMEM is not set
# CONFIG_HW_RANDOM is not set
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
--- a/arch/m68k/configs/amcore_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/m68k/configs/amcore_defconfig
@@ -60,7 +60,6 @@ CONFIG_DM9000=y
# CONFIG_VT is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_DEVMEM is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_MCF=y
CONFIG_SERIAL_MCF_BAUDRATE=115200
CONFIG_SERIAL_MCF_CONSOLE=y
--- a/arch/openrisc/configs/or1ksim_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/openrisc/configs/or1ksim_defconfig
@@ -43,7 +43,6 @@ CONFIG_MICREL_PHY=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
--- a/arch/sh/configs/edosk7705_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/edosk7705_defconfig
@@ -23,7 +23,6 @@ CONFIG_SH_PCLK_FREQ=31250000
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
-# CONFIG_DEVKMEM is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
--- a/arch/sh/configs/se7206_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/se7206_defconfig
@@ -71,7 +71,6 @@ CONFIG_SMC91X=y
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=4
CONFIG_SERIAL_SH_SCI_CONSOLE=y
--- a/arch/sh/configs/sh2007_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/sh2007_defconfig
@@ -75,7 +75,6 @@ CONFIG_INPUT_FF_MEMLESS=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO is not set
CONFIG_VT_HW_CONSOLE_BINDING=y
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_CONSOLE=y
# CONFIG_LEGACY_PTYS is not set
--- a/arch/sh/configs/sh7724_generic_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/sh7724_generic_defconfig
@@ -18,7 +18,6 @@ CONFIG_CPU_IDLE=y
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=6
CONFIG_SERIAL_SH_SCI_CONSOLE=y
--- a/arch/sh/configs/sh7770_generic_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/sh7770_generic_defconfig
@@ -20,7 +20,6 @@ CONFIG_CPU_IDLE=y
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=6
CONFIG_SERIAL_SH_SCI_CONSOLE=y
--- a/arch/sh/configs/sh7785lcr_32bit_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sh/configs/sh7785lcr_32bit_defconfig
@@ -66,7 +66,6 @@ CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=m
CONFIG_VT_HW_CONSOLE_BINDING=y
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=6
CONFIG_SERIAL_SH_SCI_CONSOLE=y
--- a/arch/sparc/configs/sparc64_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/sparc/configs/sparc64_defconfig
@@ -122,7 +122,6 @@ CONFIG_INPUT_SPARCSPKR=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_RAW=m
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_SUNSU=y
CONFIG_SERIAL_SUNSU_CONSOLE=y
CONFIG_SERIAL_SUNSAB=y
--- a/arch/xtensa/configs/xip_kc705_defconfig~drivers-char-remove-dev-kmem-for-good
+++ a/arch/xtensa/configs/xip_kc705_defconfig
@@ -72,7 +72,6 @@ CONFIG_MARVELL_PHY=y
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO is not set
-CONFIG_DEVKMEM=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_CONSOLE=y
--- a/Documentation/admin-guide/devices.txt~drivers-char-remove-dev-kmem-for-good
+++ a/Documentation/admin-guide/devices.txt
@@ -4,7 +4,7 @@
1 char Memory devices
1 = /dev/mem Physical memory access
- 2 = /dev/kmem Kernel virtual memory access
+ 2 = /dev/kmem OBSOLETE - replaced by /proc/kcore
3 = /dev/null Null device
4 = /dev/port I/O port access
5 = /dev/zero Null byte source
--- a/drivers/char/Kconfig~drivers-char-remove-dev-kmem-for-good
+++ a/drivers/char/Kconfig
@@ -334,16 +334,6 @@ config DEVMEM
memory.
When in doubt, say "Y".
-config DEVKMEM
- bool "/dev/kmem virtual device support"
- # On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write
- depends on !ARM64
- help
- Say Y here if you want to support the /dev/kmem device. The
- /dev/kmem device is rarely used, but can be used for certain
- kind of kernel debugging operations.
- When in doubt, say "N".
-
config NVRAM
tristate "/dev/nvram support"
depends on X86 || HAVE_ARCH_NVRAM_OPS
--- a/drivers/char/mem.c~drivers-char-remove-dev-kmem-for-good
+++ a/drivers/char/mem.c
@@ -403,221 +403,6 @@ static int mmap_mem(struct file *file, s
return 0;
}
-static int mmap_kmem(struct file *file, struct vm_area_struct *vma)
-{
- unsigned long pfn;
-
- /* Turn a kernel-virtual address into a physical page frame */
- pfn = __pa((u64)vma->vm_pgoff << PAGE_SHIFT) >> PAGE_SHIFT;
-
- /*
- * RED-PEN: on some architectures there is more mapped memory than
- * available in mem_map which pfn_valid checks for. Perhaps should add a
- * new macro here.
- *
- * RED-PEN: vmalloc is not supported right now.
- */
- if (!pfn_valid(pfn))
- return -EIO;
-
- vma->vm_pgoff = pfn;
- return mmap_mem(file, vma);
-}
-
-/*
- * This function reads the *virtual* memory as seen by the kernel.
- */
-static ssize_t read_kmem(struct file *file, char __user *buf,
- size_t count, loff_t *ppos)
-{
- unsigned long p = *ppos;
- ssize_t low_count, read, sz;
- char *kbuf; /* k-addr because vread() takes vmlist_lock rwlock */
- int err = 0;
-
- read = 0;
- if (p < (unsigned long) high_memory) {
- low_count = count;
- if (count > (unsigned long)high_memory - p)
- low_count = (unsigned long)high_memory - p;
-
-#ifdef __ARCH_HAS_NO_PAGE_ZERO_MAPPED
- /* we don't have page 0 mapped on sparc and m68k.. */
- if (p < PAGE_SIZE && low_count > 0) {
- sz = size_inside_page(p, low_count);
- if (clear_user(buf, sz))
- return -EFAULT;
- buf += sz;
- p += sz;
- read += sz;
- low_count -= sz;
- count -= sz;
- }
-#endif
- while (low_count > 0) {
- sz = size_inside_page(p, low_count);
-
- /*
- * On ia64 if a page has been mapped somewhere as
- * uncached, then it must also be accessed uncached
- * by the kernel or data corruption may occur
- */
- kbuf = xlate_dev_kmem_ptr((void *)p);
- if (!virt_addr_valid(kbuf))
- return -ENXIO;
-
- if (copy_to_user(buf, kbuf, sz))
- return -EFAULT;
- buf += sz;
- p += sz;
- read += sz;
- low_count -= sz;
- count -= sz;
- if (should_stop_iteration()) {
- count = 0;
- break;
- }
- }
- }
-
- if (count > 0) {
- kbuf = (char *)__get_free_page(GFP_KERNEL);
- if (!kbuf)
- return -ENOMEM;
- while (count > 0) {
- sz = size_inside_page(p, count);
- if (!is_vmalloc_or_module_addr((void *)p)) {
- err = -ENXIO;
- break;
- }
- sz = vread(kbuf, (char *)p, sz);
- if (!sz)
- break;
- if (copy_to_user(buf, kbuf, sz)) {
- err = -EFAULT;
- break;
- }
- count -= sz;
- buf += sz;
- read += sz;
- p += sz;
- if (should_stop_iteration())
- break;
- }
- free_page((unsigned long)kbuf);
- }
- *ppos = p;
- return read ? read : err;
-}
-
-
-static ssize_t do_write_kmem(unsigned long p, const char __user *buf,
- size_t count, loff_t *ppos)
-{
- ssize_t written, sz;
- unsigned long copied;
-
- written = 0;
-#ifdef __ARCH_HAS_NO_PAGE_ZERO_MAPPED
- /* we don't have page 0 mapped on sparc and m68k.. */
- if (p < PAGE_SIZE) {
- sz = size_inside_page(p, count);
- /* Hmm. Do something? */
- buf += sz;
- p += sz;
- count -= sz;
- written += sz;
- }
-#endif
-
- while (count > 0) {
- void *ptr;
-
- sz = size_inside_page(p, count);
-
- /*
- * On ia64 if a page has been mapped somewhere as uncached, then
- * it must also be accessed uncached by the kernel or data
- * corruption may occur.
- */
- ptr = xlate_dev_kmem_ptr((void *)p);
- if (!virt_addr_valid(ptr))
- return -ENXIO;
-
- copied = copy_from_user(ptr, buf, sz);
- if (copied) {
- written += sz - copied;
- if (written)
- break;
- return -EFAULT;
- }
- buf += sz;
- p += sz;
- count -= sz;
- written += sz;
- if (should_stop_iteration())
- break;
- }
-
- *ppos += written;
- return written;
-}
-
-/*
- * This function writes to the *virtual* memory as seen by the kernel.
- */
-static ssize_t write_kmem(struct file *file, const char __user *buf,
- size_t count, loff_t *ppos)
-{
- unsigned long p = *ppos;
- ssize_t wrote = 0;
- ssize_t virtr = 0;
- char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
- int err = 0;
-
- if (p < (unsigned long) high_memory) {
- unsigned long to_write = min_t(unsigned long, count,
- (unsigned long)high_memory - p);
- wrote = do_write_kmem(p, buf, to_write, ppos);
- if (wrote != to_write)
- return wrote;
- p += wrote;
- buf += wrote;
- count -= wrote;
- }
-
- if (count > 0) {
- kbuf = (char *)__get_free_page(GFP_KERNEL);
- if (!kbuf)
- return wrote ? wrote : -ENOMEM;
- while (count > 0) {
- unsigned long sz = size_inside_page(p, count);
- unsigned long n;
-
- if (!is_vmalloc_or_module_addr((void *)p)) {
- err = -ENXIO;
- break;
- }
- n = copy_from_user(kbuf, buf, sz);
- if (n) {
- err = -EFAULT;
- break;
- }
- vwrite(kbuf, (char *)p, sz);
- count -= sz;
- buf += sz;
- virtr += sz;
- p += sz;
- if (should_stop_iteration())
- break;
- }
- free_page((unsigned long)kbuf);
- }
-
- *ppos = p;
- return virtr + wrote ? : err;
-}
-
static ssize_t read_port(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
@@ -855,7 +640,6 @@ static int open_port(struct inode *inode
#define write_zero write_null
#define write_iter_zero write_iter_null
#define open_mem open_port
-#define open_kmem open_mem
static const struct file_operations __maybe_unused mem_fops = {
.llseek = memory_lseek,
@@ -869,18 +653,6 @@ static const struct file_operations __ma
#endif
};
-static const struct file_operations __maybe_unused kmem_fops = {
- .llseek = memory_lseek,
- .read = read_kmem,
- .write = write_kmem,
- .mmap = mmap_kmem,
- .open = open_kmem,
-#ifndef CONFIG_MMU
- .get_unmapped_area = get_unmapped_area_mem,
- .mmap_capabilities = memory_mmap_capabilities,
-#endif
-};
-
static const struct file_operations null_fops = {
.llseek = null_lseek,
.read = read_null,
@@ -925,9 +697,6 @@ static const struct memdev {
#ifdef CONFIG_DEVMEM
[DEVMEM_MINOR] = { "mem", 0, &mem_fops, FMODE_UNSIGNED_OFFSET },
#endif
-#ifdef CONFIG_DEVKMEM
- [2] = { "kmem", 0, &kmem_fops, FMODE_UNSIGNED_OFFSET },
-#endif
[3] = { "null", 0666, &null_fops, 0 },
#ifdef CONFIG_DEVPORT
[4] = { "port", 0, &port_fops, 0 },
--- a/include/linux/fs.h~drivers-char-remove-dev-kmem-for-good
+++ a/include/linux/fs.h
@@ -145,7 +145,7 @@ typedef int (dio_iodone_t)(struct kiocb
/* Expect random access pattern */
#define FMODE_RANDOM ((__force fmode_t)0x1000)
-/* File is huge (eg. /dev/kmem): treat loff_t as unsigned */
+/* File is huge (eg. /dev/mem): treat loff_t as unsigned */
#define FMODE_UNSIGNED_OFFSET ((__force fmode_t)0x2000)
/* File is opened with O_PATH; almost nothing can be done with it */
--- a/include/linux/vmalloc.h~drivers-char-remove-dev-kmem-for-good
+++ a/include/linux/vmalloc.h
@@ -227,7 +227,7 @@ static inline void set_vm_flush_reset_pe
}
#endif
-/* for /dev/kmem */
+/* for /proc/kcore */
extern long vread(char *buf, char *addr, unsigned long count);
extern long vwrite(char *buf, char *addr, unsigned long count);
--- a/kernel/configs/android-base.config~drivers-char-remove-dev-kmem-for-good
+++ a/kernel/configs/android-base.config
@@ -1,5 +1,4 @@
# KEEP ALPHABETICALLY SORTED
-# CONFIG_DEVKMEM is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_INET_LRO is not set
--- a/mm/ksm.c~drivers-char-remove-dev-kmem-for-good
+++ a/mm/ksm.c
@@ -459,7 +459,7 @@ static inline bool ksm_test_exit(struct
* but taking great care only to touch a ksm page, in a VM_MERGEABLE vma,
* in case the application has unmapped and remapped mm,addr meanwhile.
* Could a ksm page appear anywhere else? Actually yes, in a VM_PFNMAP
- * mmap of /dev/mem or /dev/kmem, where we would not want to touch it.
+ * mmap of /dev/mem, where we would not want to touch it.
*
* FAULT_FLAG/FOLL_REMOTE are because we do this outside the context
* of the process that owns 'vma'. We also do not want to enforce
--- a/mm/vmalloc.c~drivers-char-remove-dev-kmem-for-good
+++ a/mm/vmalloc.c
@@ -3219,7 +3219,7 @@ static int aligned_vwrite(char *buf, cha
* Note: In usual ops, vread() is never necessary because the caller
* should know vmalloc() area is valid and can use memcpy().
* This is for routines which have to access vmalloc area without
- * any information, as /dev/kmem.
+ * any information, as /proc/kcore.
*
* Return: number of bytes for which addr and buf should be increased
* (same number as @count) or %0 if [addr...addr+count) doesn't
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 75/91] mm: remove xlate_dev_kmem_ptr()
2021-05-07 1:01 incoming Andrew Morton
` (73 preceding siblings ...)
2021-05-07 1:05 ` [patch 74/91] drivers/char: remove /dev/kmem for good Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 76/91] mm/vmalloc: remove vwrite() Andrew Morton
` (16 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, arnd, bcain, benh, bigeasy, borntraeger, christophe.leroy,
dalias, davem, david, deller, geert, gerald.schaefer, gor,
green.hu, gregkh, hca, ink, James.Bottomley, jiaxun.yang, krzk,
kuninori.morimoto.gx, linux-mm, linux, luc.vanoostenryck,
mattst88, mcgrof, mhocko, mingo, mm-commits, mpatocka, mpe,
palmerdabbelt, paulus, peterz, pmorel, rdunlap, rppt, rth,
schnelle, torvalds, tsbogend, ysato
From: David Hildenbrand <david@redhat.com>
Subject: mm: remove xlate_dev_kmem_ptr()
Since /dev/kmem has been removed, let's remove the xlate_dev_kmem_ptr()
leftovers.
Link: https://lkml.kernel.org/r/20210324102351.6932-3-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Hildenbrand <david@redhat.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Palmer Dabbelt <palmerdabbelt@google.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Pierre Morel <pmorel@linux.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/alpha/include/asm/io.h | 5 -----
arch/arm/include/asm/io.h | 5 -----
arch/hexagon/include/asm/io.h | 1 -
arch/ia64/include/asm/io.h | 1 -
arch/ia64/include/asm/uaccess.h | 18 ------------------
arch/m68k/include/asm/io_mm.h | 5 -----
arch/mips/include/asm/io.h | 5 -----
arch/parisc/include/asm/io.h | 5 -----
arch/powerpc/include/asm/io.h | 5 -----
arch/s390/include/asm/io.h | 5 -----
arch/sh/include/asm/io.h | 5 -----
arch/sparc/include/asm/io_64.h | 5 -----
include/asm-generic/io.h | 11 -----------
13 files changed, 76 deletions(-)
--- a/arch/alpha/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/alpha/include/asm/io.h
@@ -602,11 +602,6 @@ extern void outsl (unsigned long port, c
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#endif /* __KERNEL__ */
#endif /* __ALPHA_IO_H */
--- a/arch/arm/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/arm/include/asm/io.h
@@ -430,11 +430,6 @@ extern void pci_iounmap(struct pci_dev *
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#include <asm-generic/io.h>
#ifdef CONFIG_MMU
--- a/arch/hexagon/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/hexagon/include/asm/io.h
@@ -64,7 +64,6 @@ static inline void *phys_to_virt(unsigne
* convert a physical pointer to a virtual kernel pointer for
* /dev/mem access.
*/
-#define xlate_dev_kmem_ptr(p) __va(p)
#define xlate_dev_mem_ptr(p) __va(p)
/*
--- a/arch/ia64/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/ia64/include/asm/io.h
@@ -277,7 +277,6 @@ extern void memset_io(volatile void __io
#define memcpy_fromio memcpy_fromio
#define memcpy_toio memcpy_toio
#define memset_io memset_io
-#define xlate_dev_kmem_ptr xlate_dev_kmem_ptr
#define xlate_dev_mem_ptr xlate_dev_mem_ptr
#include <asm-generic/io.h>
#undef PCI_IOBASE
--- a/arch/ia64/include/asm/uaccess.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/ia64/include/asm/uaccess.h
@@ -272,22 +272,4 @@ xlate_dev_mem_ptr(phys_addr_t p)
return ptr;
}
-/*
- * Convert a virtual cached kernel memory pointer to an uncached pointer
- */
-static __inline__ void *
-xlate_dev_kmem_ptr(void *p)
-{
- struct page *page;
- void *ptr;
-
- page = virt_to_page((unsigned long)p);
- if (PageUncached(page))
- ptr = (void *)__pa(p) + __IA64_UNCACHED_OFFSET;
- else
- ptr = p;
-
- return ptr;
-}
-
#endif /* _ASM_IA64_UACCESS_H */
--- a/arch/m68k/include/asm/io_mm.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/m68k/include/asm/io_mm.h
@@ -397,11 +397,6 @@ static inline void isa_delay(void)
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#define readb_relaxed(addr) readb(addr)
#define readw_relaxed(addr) readw(addr)
#define readl_relaxed(addr) readl(addr)
--- a/arch/mips/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/mips/include/asm/io.h
@@ -564,11 +564,6 @@ extern void (*_dma_cache_inv)(unsigned l
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
void __ioread64_copy(void *to, const void __iomem *from, size_t count);
#endif /* _ASM_IO_H */
--- a/arch/parisc/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/parisc/include/asm/io.h
@@ -316,11 +316,6 @@ extern void iowrite64be(u64 val, void __
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
extern int devmem_is_allowed(unsigned long pfn);
#endif
--- a/arch/powerpc/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/powerpc/include/asm/io.h
@@ -663,11 +663,6 @@ static inline void name at \
#define xlate_dev_mem_ptr(p) __va(p)
/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
-/*
* We don't do relaxed operations yet, at least not with this semantic
*/
#define readb_relaxed(addr) readb(addr)
--- a/arch/s390/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/s390/include/asm/io.h
@@ -20,11 +20,6 @@ void *xlate_dev_mem_ptr(phys_addr_t phys
#define unxlate_dev_mem_ptr unxlate_dev_mem_ptr
void unxlate_dev_mem_ptr(phys_addr_t phys, void *addr);
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#define IO_SPACE_LIMIT 0
void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot);
--- a/arch/sh/include/asm/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/sh/include/asm/io.h
@@ -283,11 +283,6 @@ static inline void __iomem *ioremap_prot
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
int valid_phys_addr_range(phys_addr_t addr, size_t size);
int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
--- a/arch/sparc/include/asm/io_64.h~mm-remove-xlate_dev_kmem_ptr
+++ a/arch/sparc/include/asm/io_64.h
@@ -454,11 +454,6 @@ void sbus_set_sbus64(struct device *, in
*/
#define xlate_dev_mem_ptr(p) __va(p)
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
#endif
#endif /* !(__SPARC64_IO_H) */
--- a/include/asm-generic/io.h~mm-remove-xlate_dev_kmem_ptr
+++ a/include/asm-generic/io.h
@@ -1064,17 +1064,6 @@ static inline void pci_iounmap(struct pc
#endif
#endif /* CONFIG_GENERIC_IOMAP */
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#ifndef xlate_dev_kmem_ptr
-#define xlate_dev_kmem_ptr xlate_dev_kmem_ptr
-static inline void *xlate_dev_kmem_ptr(void *addr)
-{
- return addr;
-}
-#endif
-
#ifndef xlate_dev_mem_ptr
#define xlate_dev_mem_ptr xlate_dev_mem_ptr
static inline void *xlate_dev_mem_ptr(phys_addr_t addr)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 76/91] mm/vmalloc: remove vwrite()
2021-05-07 1:01 incoming Andrew Morton
` (74 preceding siblings ...)
2021-05-07 1:06 ` [patch 75/91] mm: remove xlate_dev_kmem_ptr() Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 77/91] arm: print alloc free paths for address in registers Andrew Morton
` (15 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, david, gregkh, hdanton, huang.ying.caritas, linux-mm,
mhocko, minchan, mm-commits, oleksiy.avramchenko, rostedt,
torvalds, willy
From: David Hildenbrand <david@redhat.com>
Subject: mm/vmalloc: remove vwrite()
The last user (/dev/kmem) is gone. Let's drop it.
Link: https://lkml.kernel.org/r/20210324102351.6932-4-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Hillf Danton <hdanton@sina.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: huang ying <huang.ying.caritas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/vmalloc.h | 1
mm/nommu.c | 10 ---
mm/vmalloc.c | 116 --------------------------------------
3 files changed, 1 insertion(+), 126 deletions(-)
--- a/include/linux/vmalloc.h~mm-vmalloc-remove-vwrite
+++ a/include/linux/vmalloc.h
@@ -229,7 +229,6 @@ static inline void set_vm_flush_reset_pe
/* for /proc/kcore */
extern long vread(char *buf, char *addr, unsigned long count);
-extern long vwrite(char *buf, char *addr, unsigned long count);
/*
* Internals. Dont't use..
--- a/mm/nommu.c~mm-vmalloc-remove-vwrite
+++ a/mm/nommu.c
@@ -210,16 +210,6 @@ long vread(char *buf, char *addr, unsign
return count;
}
-long vwrite(char *buf, char *addr, unsigned long count)
-{
- /* Don't allow overflow */
- if ((unsigned long) addr + count < count)
- count = -(unsigned long) addr;
-
- memcpy(addr, buf, count);
- return count;
-}
-
/*
* vmalloc - allocate virtually contiguous memory
*
--- a/mm/vmalloc.c~mm-vmalloc-remove-vwrite
+++ a/mm/vmalloc.c
@@ -3146,10 +3146,7 @@ static int aligned_vread(char *buf, char
* kmap() and get small overhead in this access function.
*/
if (p) {
- /*
- * we can expect USER0 is not used (see vread/vwrite's
- * function description)
- */
+ /* We can expect USER0 is not used -- see vread() */
void *map = kmap_atomic(p);
memcpy(buf, map + offset, length);
kunmap_atomic(map);
@@ -3164,43 +3161,6 @@ static int aligned_vread(char *buf, char
return copied;
}
-static int aligned_vwrite(char *buf, char *addr, unsigned long count)
-{
- struct page *p;
- int copied = 0;
-
- while (count) {
- unsigned long offset, length;
-
- offset = offset_in_page(addr);
- length = PAGE_SIZE - offset;
- if (length > count)
- length = count;
- p = vmalloc_to_page(addr);
- /*
- * To do safe access to this _mapped_ area, we need
- * lock. But adding lock here means that we need to add
- * overhead of vmalloc()/vfree() calles for this _debug_
- * interface, rarely used. Instead of that, we'll use
- * kmap() and get small overhead in this access function.
- */
- if (p) {
- /*
- * we can expect USER0 is not used (see vread/vwrite's
- * function description)
- */
- void *map = kmap_atomic(p);
- memcpy(map + offset, buf, length);
- kunmap_atomic(map);
- }
- addr += length;
- buf += length;
- copied += length;
- count -= length;
- }
- return copied;
-}
-
/**
* vread() - read vmalloc area in a safe way.
* @buf: buffer for reading data
@@ -3283,80 +3243,6 @@ finished:
return buflen;
}
-/**
- * vwrite() - write vmalloc area in a safe way.
- * @buf: buffer for source data
- * @addr: vm address.
- * @count: number of bytes to be read.
- *
- * This function checks that addr is a valid vmalloc'ed area, and
- * copy data from a buffer to the given addr. If specified range of
- * [addr...addr+count) includes some valid address, data is copied from
- * proper area of @buf. If there are memory holes, no copy to hole.
- * IOREMAP area is treated as memory hole and no copy is done.
- *
- * If [addr...addr+count) doesn't includes any intersects with alive
- * vm_struct area, returns 0. @buf should be kernel's buffer.
- *
- * Note: In usual ops, vwrite() is never necessary because the caller
- * should know vmalloc() area is valid and can use memcpy().
- * This is for routines which have to access vmalloc area without
- * any information, as /dev/kmem.
- *
- * Return: number of bytes for which addr and buf should be
- * increased (same number as @count) or %0 if [addr...addr+count)
- * doesn't include any intersection with valid vmalloc area
- */
-long vwrite(char *buf, char *addr, unsigned long count)
-{
- struct vmap_area *va;
- struct vm_struct *vm;
- char *vaddr;
- unsigned long n, buflen;
- int copied = 0;
-
- /* Don't allow overflow */
- if ((unsigned long) addr + count < count)
- count = -(unsigned long) addr;
- buflen = count;
-
- spin_lock(&vmap_area_lock);
- list_for_each_entry(va, &vmap_area_list, list) {
- if (!count)
- break;
-
- if (!va->vm)
- continue;
-
- vm = va->vm;
- vaddr = (char *) vm->addr;
- if (addr >= vaddr + get_vm_area_size(vm))
- continue;
- while (addr < vaddr) {
- if (count == 0)
- goto finished;
- buf++;
- addr++;
- count--;
- }
- n = vaddr + get_vm_area_size(vm) - addr;
- if (n > count)
- n = count;
- if (!(vm->flags & VM_IOREMAP)) {
- aligned_vwrite(buf, addr, n);
- copied++;
- }
- buf += n;
- addr += n;
- count -= n;
- }
-finished:
- spin_unlock(&vmap_area_lock);
- if (!copied)
- return 0;
- return buflen;
-}
-
/**
* remap_vmalloc_range_partial - map vmalloc pages to userspace
* @vma: vma to cover
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 77/91] arm: print alloc free paths for address in registers
2021-05-07 1:01 incoming Andrew Morton
` (75 preceding siblings ...)
2021-05-07 1:06 ` [patch 76/91] mm/vmalloc: remove vwrite() Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 78/91] scripts/spelling.txt: add "overlfow" Andrew Morton
` (14 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: 0x7f454c46, akpm, cl, iamjoonsoo.kim, linux-mm, linux,
maninder1.s, mm-commits, paulmck, penberg, rientjes, torvalds,
v.narang, vbabka, viro
From: Maninder Singh <maninder1.s@samsung.com>
Subject: arm: print alloc free paths for address in registers
In case of a use after free kernel oops, the freeing path of the object is
required to debug futher. In most of cases the object address is present
in one of the registers.
Thus check the register's address and if it belongs to slab, print its
alloc and free path.
e.g. in the below issue register r6 belongs to slab, and a use after free
issue occurred on one of its dereferenced values:
[ 20.182197] Unable to handle kernel paging request at virtual address 6b6b6b6f
....
[ 20.185035] pc : [<c0538afc>] lr : [<c0465674>] psr: 60000013
[ 20.185271] sp : c8927d40 ip : ffffefff fp : c8aa8020
[ 20.185462] r10: c8927e10 r9 : 00000001 r8 : 00400cc0
[ 20.185674] r7 : 00000000 r6 : c8ab0180 r5 : c1804a80 r4 : c8aa8008
[ 20.185924] r3 : c1a5661c r2 : 00000000 r1 : 6b6b6b6b r0 : c139bf48
.....
[ 20.191499] Register r6 information: slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 0 size 64 allocated at meminfo_proc_show+0x40/0x4fc
[ 20.192078] meminfo_proc_show+0x40/0x4fc
[ 20.192263] seq_read_iter+0x18c/0x4c4
[ 20.192430] proc_reg_read_iter+0x84/0xac
[ 20.192617] generic_file_splice_read+0xe8/0x17c
[ 20.192816] splice_direct_to_actor+0xb8/0x290
[ 20.193008] do_splice_direct+0xa0/0xe0
[ 20.193185] do_sendfile+0x2d0/0x438
[ 20.193345] sys_sendfile64+0x12c/0x140
[ 20.193523] ret_fast_syscall+0x0/0x58
[ 20.193695] 0xbeeacde4
[ 20.193822] Free path:
[ 20.193935] meminfo_proc_show+0x5c/0x4fc
[ 20.194115] seq_read_iter+0x18c/0x4c4
[ 20.194285] proc_reg_read_iter+0x84/0xac
[ 20.194475] generic_file_splice_read+0xe8/0x17c
[ 20.194685] splice_direct_to_actor+0xb8/0x290
[ 20.194870] do_splice_direct+0xa0/0xe0
[ 20.195014] do_sendfile+0x2d0/0x438
[ 20.195174] sys_sendfile64+0x12c/0x140
[ 20.195336] ret_fast_syscall+0x0/0x58
[ 20.195491] 0xbeeacde4
Link: https://lkml.kernel.org/r/1615891032-29160-3-git-send-email-maninder1.s@samsung.com
Co-developed-by: Vaneet Narang <v.narang@samsung.com>
Signed-off-by: Vaneet Narang <v.narang@samsung.com>
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Lameter <cl@linux.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Dmitry Safonov <0x7f454c46@gmail.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/include/asm/bug.h | 1 +
arch/arm/kernel/process.c | 11 +++++++++++
arch/arm/kernel/traps.c | 1 +
3 files changed, 13 insertions(+)
--- a/arch/arm/include/asm/bug.h~arm-print-alloc-free-paths-for-address-in-registers
+++ a/arch/arm/include/asm/bug.h
@@ -88,5 +88,6 @@ extern asmlinkage void c_backtrace(unsig
struct mm_struct;
void show_pte(const char *lvl, struct mm_struct *mm, unsigned long addr);
extern void __show_regs(struct pt_regs *);
+extern void __show_regs_alloc_free(struct pt_regs *regs);
#endif
--- a/arch/arm/kernel/process.c~arm-print-alloc-free-paths-for-address-in-registers
+++ a/arch/arm/kernel/process.c
@@ -92,6 +92,17 @@ void arch_cpu_idle_exit(void)
ledtrig_cpu(CPU_LED_IDLE_END);
}
+void __show_regs_alloc_free(struct pt_regs *regs)
+{
+ int i;
+
+ /* check for r0 - r12 only */
+ for (i = 0; i < 13; i++) {
+ pr_alert("Register r%d information:", i);
+ mem_dump_obj((void *)regs->uregs[i]);
+ }
+}
+
void __show_regs(struct pt_regs *regs)
{
unsigned long flags;
--- a/arch/arm/kernel/traps.c~arm-print-alloc-free-paths-for-address-in-registers
+++ a/arch/arm/kernel/traps.c
@@ -287,6 +287,7 @@ static int __die(const char *str, int er
print_modules();
__show_regs(regs);
+ __show_regs_alloc_free(regs);
pr_emerg("Process %.*s (pid: %d, stack limit = 0x%p)\n",
TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), end_of_stack(tsk));
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 78/91] scripts/spelling.txt: add "overlfow"
2021-05-07 1:01 incoming Andrew Morton
` (76 preceding siblings ...)
2021-05-07 1:06 ` [patch 77/91] arm: print alloc free paths for address in registers Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 79/91] scripts/spelling.txt: add "diabled" typo Andrew Morton
` (13 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, drew, keescook, linux-mm, mm-commits, torvalds
From: Drew Fustini <drew@beagleboard.org>
Subject: scripts/spelling.txt: add "overlfow"
Add typo "overlfow" for "overflow". This typo was found and fixed in
net/sctp/tsnmap.c.
Link: https://lore.kernel.org/netdev/20210304055548.56829-1-drew@beagleboard.org/
Link: https://lkml.kernel.org/r/20210304072657.64577-1-drew@beagleboard.org
Signed-off-by: Drew Fustini <drew@beagleboard.org>
Suggested-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/spelling.txt | 1 +
1 file changed, 1 insertion(+)
--- a/scripts/spelling.txt~scripts-spellingtxt-add-overlfow
+++ a/scripts/spelling.txt
@@ -1027,6 +1027,7 @@ oustanding||outstanding
overaall||overall
overhread||overhead
overlaping||overlapping
+overlfow||overflow
overide||override
overrided||overridden
overriden||overridden
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 79/91] scripts/spelling.txt: add "diabled" typo
2021-05-07 1:01 incoming Andrew Morton
` (77 preceding siblings ...)
2021-05-07 1:06 ` [patch 78/91] scripts/spelling.txt: add "overlfow" Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 80/91] scripts/spelling.txt: add "overflw" Andrew Morton
` (12 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, zuoqilin
From: zuoqilin <zuoqilin@yulong.com>
Subject: scripts/spelling.txt: Add "diabled" typo
Increase "diabled" spelling error check.
Link: https://lkml.kernel.org/r/20210304070106.2313-1-zuoqilin1@163.com
Signed-off-by: zuoqilin <zuoqilin@yulong.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/spelling.txt | 1 +
1 file changed, 1 insertion(+)
--- a/scripts/spelling.txt~scripts-spellingtxt-add-diabled-typo
+++ a/scripts/spelling.txt
@@ -480,6 +480,7 @@ devided||divided
deviece||device
devision||division
diable||disable
+diabled||disabled
dicline||decline
dictionnary||dictionary
didnt||didn't
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 80/91] scripts/spelling.txt: add "overflw"
2021-05-07 1:01 incoming Andrew Morton
` (78 preceding siblings ...)
2021-05-07 1:06 ` [patch 79/91] scripts/spelling.txt: add "diabled" typo Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 81/91] mm/slab.c: fix spelling mistake "disired" -> "desired" Andrew Morton
` (11 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, drew, gustavoars, linux-mm, mm-commits, torvalds
From: Drew Fustini <drew@beagleboard.org>
Subject: scripts/spelling.txt: add "overflw"
Add typo "overflw" for "overflow". This typo was found and fixed in
drivers/clocksource/timer-pistachio.c.
Link: https://lore.kernel.org/lkml/20210305090315.384547-1-drew@beagleboard.org/
Link: https://lkml.kernel.org/r/20210305095151.388182-1-drew@beagleboard.org
Signed-off-by: Drew Fustini <drew@beagleboard.org>
Suggested-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
scripts/spelling.txt | 1 +
1 file changed, 1 insertion(+)
--- a/scripts/spelling.txt~scripts-spellingtxt-add-overflw
+++ a/scripts/spelling.txt
@@ -1028,6 +1028,7 @@ oustanding||outstanding
overaall||overall
overhread||overhead
overlaping||overlapping
+overflw||overflow
overlfow||overflow
overide||override
overrided||overridden
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 81/91] mm/slab.c: fix spelling mistake "disired" -> "desired"
2021-05-07 1:01 incoming Andrew Morton
` (79 preceding siblings ...)
2021-05-07 1:06 ` [patch 80/91] scripts/spelling.txt: add "overflw" Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 82/91] include/linux/pgtable.h: few spelling fixes Andrew Morton
` (10 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, colin.king, linux-mm, mm-commits, torvalds
From: Colin Ian King <colin.king@canonical.com>
Subject: mm/slab.c: fix spelling mistake "disired" -> "desired"
There is a spelling mistake in a comment. Fix it.
Link: https://lkml.kernel.org/r/20210317094158.5762-1-colin.king@canonical.com
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/slab.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/slab.c~mm-slab-fix-spelling-mistake-disired-desired
+++ a/mm/slab.c
@@ -2284,7 +2284,7 @@ void __kmem_cache_release(struct kmem_ca
* Because if it is the case, that means we defer the creation of
* the kmalloc_{dma,}_cache of size sizeof(slab descriptor) to this point.
* And we eventually call down to __kmem_cache_create(), which
- * in turn looks up in the kmalloc_{dma,}_caches for the disired-size one.
+ * in turn looks up in the kmalloc_{dma,}_caches for the desired-size one.
* This is a "chicken-and-egg" problem.
*
* So the off-slab slab descriptor shall come from the kmalloc_{dma,}_caches,
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 82/91] include/linux/pgtable.h: few spelling fixes
2021-05-07 1:01 incoming Andrew Morton
` (80 preceding siblings ...)
2021-05-07 1:06 ` [patch 81/91] mm/slab.c: fix spelling mistake "disired" -> "desired" Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 83/91] kernel/umh.c: fix some spelling mistakes Andrew Morton
` (9 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, rdunlap, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: include/linux/pgtable.h: few spelling fixes
Few spelling fixes throughout the file.
Link: https://lkml.kernel.org/r/20210318201404.6380-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/pgtable.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/include/linux/pgtable.h~mm-few-spelling-fixes
+++ a/include/linux/pgtable.h
@@ -426,7 +426,7 @@ static inline void ptep_set_wrprotect(st
/*
* On some architectures hardware does not set page access bit when accessing
- * memory page, it is responsibilty of software setting this bit. It brings
+ * memory page, it is responsibility of software setting this bit. It brings
* out extra page fault penalty to track page access bit. For optimization page
* access bit can be set during all page fault flow on these arches.
* To be differentiate with macro pte_mkyoung, this macro is used on platforms
@@ -519,7 +519,7 @@ extern pgtable_t pgtable_trans_huge_with
/*
* This is an implementation of pmdp_establish() that is only suitable for an
* architecture that doesn't have hardware dirty/accessed bits. In this case we
- * can't race with CPU which sets these bits and non-atomic aproach is fine.
+ * can't race with CPU which sets these bits and non-atomic approach is fine.
*/
static inline pmd_t generic_pmdp_establish(struct vm_area_struct *vma,
unsigned long address, pmd_t *pmdp, pmd_t pmd)
@@ -852,7 +852,7 @@ static inline void __ptep_modify_prot_co
* updates, but to prevent any updates it may make from being lost.
*
* This does not protect against other software modifications of the
- * pte; the appropriate pte lock must be held over the transation.
+ * pte; the appropriate pte lock must be held over the transaction.
*
* Note that this interface is intended to be batchable, meaning that
* ptep_modify_prot_commit may not actually update the pte, but merely
@@ -1281,13 +1281,13 @@ static inline int pmd_none_or_trans_huge
*
* The complete check uses is_pmd_migration_entry() in linux/swapops.h
* But using that requires moving current function and pmd_trans_unstable()
- * to linux/swapops.h to resovle dependency, which is too much code move.
+ * to linux/swapops.h to resolve dependency, which is too much code move.
*
* !pmd_present() is equivalent to is_pmd_migration_entry() currently,
* because !pmd_present() pages can only be under migration not swapped
* out.
*
- * pmd_none() is preseved for future condition checks on pmd migration
+ * pmd_none() is preserved for future condition checks on pmd migration
* entries and not confusing with this function name, although it is
* redundant with !pmd_present().
*/
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 83/91] kernel/umh.c: fix some spelling mistakes
2021-05-07 1:01 incoming Andrew Morton
` (81 preceding siblings ...)
2021-05-07 1:06 ` [patch 82/91] include/linux/pgtable.h: few spelling fixes Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 84/91] kernel/user_namespace.c: fix typos Andrew Morton
` (8 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mcgrof, mm-commits, torvalds, zhouchuangao
From: zhouchuangao <zhouchuangao@vivo.com>
Subject: kernel/umh.c: fix some spelling mistakes
Fix some spelling mistakes, and modify the order of the parameter comments
to be consistent with the order of the parameters passed to the function.
Link: https://lkml.kernel.org/r/1615636139-4076-1-git-send-email-zhouchuangao@vivo.com
Signed-off-by: zhouchuangao <zhouchuangao@vivo.com>
Acked-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/umh.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/kernel/umh.c~umh-fix-some-spelling-mistakes
+++ a/kernel/umh.c
@@ -338,8 +338,8 @@ static void helper_unlock(void)
* @argv: arg vector for process
* @envp: environment for process
* @gfp_mask: gfp mask for memory allocation
- * @cleanup: a cleanup function
* @init: an init function
+ * @cleanup: a cleanup function
* @data: arbitrary context sensitive data
*
* Returns either %NULL on allocation failure, or a subprocess_info
@@ -350,7 +350,7 @@ static void helper_unlock(void)
* exec. A non-zero return code causes the process to error out, exit,
* and return the failure to the calling process
*
- * The cleanup function is just before ethe subprocess_info is about to
+ * The cleanup function is just before the subprocess_info is about to
* be freed. This can be used for freeing the argv and envp. The
* Function must be runnable in either a process context or the
* context in which call_usermodehelper_exec is called.
@@ -386,7 +386,7 @@ EXPORT_SYMBOL(call_usermodehelper_setup)
/**
* call_usermodehelper_exec - start a usermode application
- * @sub_info: information about the subprocessa
+ * @sub_info: information about the subprocess
* @wait: wait for the application to finish and return status.
* when UMH_NO_WAIT don't wait at all, but you get no useful error back
* when the program couldn't be exec'ed. This makes it safe to call
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 84/91] kernel/user_namespace.c: fix typos
2021-05-07 1:01 incoming Andrew Morton
` (82 preceding siblings ...)
2021-05-07 1:06 ` [patch 83/91] kernel/umh.c: fix some spelling mistakes Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 85/91] kernel/up.c: fix typo Andrew Morton
` (7 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, caoxiaofeng, cxfcosmos, linux-mm, mm-commits, torvalds
From: Xiaofeng Cao <cxfcosmos@gmail.com>
Subject: kernel/user_namespace.c: fix typos
change 'verifing' to 'verifying'
change 'certaint' to 'certain'
change 'approprpiate' to 'appropriate'
Link: https://lkml.kernel.org/r/20210317100129.12440-1-caoxiaofeng@yulong.com
Signed-off-by: Xiaofeng Cao <caoxiaofeng@yulong.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/user_namespace.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/kernel/user_namespace.c~kernel-user_namespace-fix-typo-issue
+++ a/kernel/user_namespace.c
@@ -85,7 +85,7 @@ int create_user_ns(struct cred *new)
/*
* Verify that we can not violate the policy of which files
* may be accessed that is specified by the root directory,
- * by verifing that the root directory is at the root of the
+ * by verifying that the root directory is at the root of the
* mount namespace which allows all files to be accessed.
*/
ret = -EPERM;
@@ -1014,7 +1014,7 @@ static ssize_t map_write(struct file *fi
goto out;
ret = -EINVAL;
}
- /* Be very certaint the new map actually exists */
+ /* Be very certain the new map actually exists */
if (new_map.nr_extents == 0)
goto out;
@@ -1169,7 +1169,7 @@ static bool new_idmap_permitted(const st
/* Allow the specified ids if we have the appropriate capability
* (CAP_SETUID or CAP_SETGID) over the parent user namespace.
- * And the opener of the id file also had the approprpiate capability.
+ * And the opener of the id file also has the appropriate capability.
*/
if (ns_capable(ns->parent, cap_setid) &&
file_ns_capable(file, ns->parent, cap_setid))
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 85/91] kernel/up.c: fix typo
2021-05-07 1:01 incoming Andrew Morton
` (83 preceding siblings ...)
2021-05-07 1:06 ` [patch 84/91] kernel/user_namespace.c: fix typos Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 86/91] kernel/sys.c: " Andrew Morton
` (6 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: kernel/up.c: fix typo
s/condtions/conditions/
Link: https://lkml.kernel.org/r/20210317032732.3260835-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/up.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/up.c~kernel-fix-a-typo-in-the-file-upc
+++ a/kernel/up.c
@@ -38,7 +38,7 @@ EXPORT_SYMBOL(smp_call_function_single_a
/*
* Preemption is disabled here to make sure the cond_func is called under the
- * same condtions in UP and SMP.
+ * same conditions in UP and SMP.
*/
void on_each_cpu_cond_mask(smp_cond_func_t cond_func, smp_call_func_t func,
void *info, bool wait, const struct cpumask *mask)
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 86/91] kernel/sys.c: fix typo
2021-05-07 1:01 incoming Andrew Morton
` (84 preceding siblings ...)
2021-05-07 1:06 ` [patch 85/91] kernel/up.c: fix typo Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 87/91] fs: fat: fix spelling typo of values Andrew Morton
` (5 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, caoxiaofeng, linux-mm, mm-commits, rdunlap, torvalds
From: Xiaofeng Cao <caoxiaofeng@yulong.com>
Subject: kernel/sys.c: fix typo
change 'infite' to 'infinite'
change 'concurent' to 'concurrent'
change 'memvers' to 'members'
change 'decendants' to 'descendants'
change 'argumets' to 'arguments'
Link: https://lkml.kernel.org/r/20210316112904.10661-1-cxfcosmos@gmail.com
Signed-off-by: Xiaofeng Cao <caoxiaofeng@yulong.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/sys.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- a/kernel/sys.c~kernel-sys-fix-typo-issue
+++ a/kernel/sys.c
@@ -1590,7 +1590,7 @@ int do_prlimit(struct task_struct *tsk,
/*
* RLIMIT_CPU handling. Arm the posix CPU timer if the limit is not
- * infite. In case of RLIM_INFINITY the posix CPU timer code
+ * infinite. In case of RLIM_INFINITY the posix CPU timer code
* ignores the rlimit.
*/
if (!retval && new_rlim && resource == RLIMIT_CPU &&
@@ -2029,7 +2029,7 @@ static int prctl_set_mm_map(int opt, con
}
/*
- * arg_lock protects concurent updates but we still need mmap_lock for
+ * arg_lock protects concurrent updates but we still need mmap_lock for
* read to exclude races with sys_brk.
*/
mmap_read_lock(mm);
@@ -2041,7 +2041,7 @@ static int prctl_set_mm_map(int opt, con
* output in procfs mostly, except
*
* - @start_brk/@brk which are used in do_brk_flags but kernel lookups
- * for VMAs when updating these memvers so anything wrong written
+ * for VMAs when updating these members so anything wrong written
* here cause kernel to swear at userspace program but won't lead
* to any problem in kernel itself
*/
@@ -2143,7 +2143,7 @@ static int prctl_set_mm(int opt, unsigne
error = -EINVAL;
/*
- * arg_lock protects concurent updates of arg boundaries, we need
+ * arg_lock protects concurrent updates of arg boundaries, we need
* mmap_lock for a) concurrent sys_brk, b) finding VMA for addr
* validation.
*/
@@ -2210,7 +2210,7 @@ static int prctl_set_mm(int opt, unsigne
* If command line arguments and environment
* are placed somewhere else on stack, we can
* set them up here, ARG_START/END to setup
- * command line argumets and ENV_START/END
+ * command line arguments and ENV_START/END
* for environment.
*/
case PR_SET_MM_START_STACK:
@@ -2258,8 +2258,8 @@ static int prctl_get_tid_address(struct
static int propagate_has_child_subreaper(struct task_struct *p, void *data)
{
/*
- * If task has has_child_subreaper - all its decendants
- * already have these flag too and new decendants will
+ * If task has has_child_subreaper - all its descendants
+ * already have these flag too and new descendants will
* inherit it on fork, skip them.
*
* If we've found child_reaper - skip descendants in
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 87/91] fs: fat: fix spelling typo of values
2021-05-07 1:01 incoming Andrew Morton
` (85 preceding siblings ...)
2021-05-07 1:06 ` [patch 86/91] kernel/sys.c: " Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 88/91] ipc/sem.c: spelling fix Andrew Morton
` (4 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, dingsenjie, hirofumi, linux-mm, mm-commits, torvalds
From: dingsenjie <dingsenjie@yulong.com>
Subject: fs: fat: fix spelling typo of values
vaules -> values
Link: https://lkml.kernel.org/r/20210302034817.30384-1-dingsenjie@163.com
Signed-off-by: dingsenjie <dingsenjie@yulong.com>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/fat/fatent.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/fat/fatent.c~fs-fat-fix-spelling-typo-of-values
+++ a/fs/fat/fatent.c
@@ -771,7 +771,7 @@ int fat_trim_fs(struct inode *inode, str
/*
* FAT data is organized as clusters, trim at the granulary of cluster.
*
- * fstrim_range is in byte, convert vaules to cluster index.
+ * fstrim_range is in byte, convert values to cluster index.
* Treat sectors before data region as all used, not to trim them.
*/
ent_start = max_t(u64, range->start>>sbi->cluster_bits, FAT_START_ENT);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 88/91] ipc/sem.c: spelling fix
2021-05-07 1:01 incoming Andrew Morton
` (86 preceding siblings ...)
2021-05-07 1:06 ` [patch 87/91] fs: fat: fix spelling typo of values Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 89/91] treewide: remove editor modelines and cruft Andrew Morton
` (3 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mm-commits, rdunlap, torvalds, unixbhaskar
From: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Subject: ipc/sem.c: spelling fix
s/purpuse/purpose/
Link: https://lkml.kernel.org/r/20210319221432.26631-1-unixbhaskar@gmail.com
Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
ipc/sem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/ipc/sem.c~ipc-semc-couple-of-spelling-fixes
+++ a/ipc/sem.c
@@ -786,7 +786,7 @@ static inline void wake_up_sem_queue_pre
{
get_task_struct(q->sleeper);
- /* see SEM_BARRIER_2 for purpuse/pairing */
+ /* see SEM_BARRIER_2 for purpose/pairing */
smp_store_release(&q->status, error);
wake_q_add_safe(wake_q, q->sleeper);
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 89/91] treewide: remove editor modelines and cruft
2021-05-07 1:01 incoming Andrew Morton
` (87 preceding siblings ...)
2021-05-07 1:06 ` [patch 88/91] ipc/sem.c: spelling fix Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 90/91] mm: fix typos in comments Andrew Morton
` (2 subsequent siblings)
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, geert, linux-mm, masahiroy, mm-commits, ojeda, torvalds
From: Masahiro Yamada <masahiroy@kernel.org>
Subject: treewide: remove editor modelines and cruft
The section "19) Editor modelines and other cruft" in
Documentation/process/coding-style.rst clearly says, "Do not include any
of these in source files."
I recently receive a patch to explicitly add a new one.
Let's do treewide cleanups, otherwise some people follow the existing code
and attempt to upstream their favoriate editor setups.
It is even nicer if scripts/checkpatch.pl can check it.
If we like to impose coding style in an editor-independent manner, I think
editorconfig (patch [1]) is a saner solution.
[1] https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/
Link: https://lkml.kernel.org/r/20210324054457.1477489-1-masahiroy@kernel.org
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Miguel Ojeda <ojeda@kernel.org> [auxdisplay]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/m68k/atari/time.c | 7 ---
arch/parisc/include/asm/pdc_chassis.h | 1
arch/um/drivers/cow.h | 7 ---
drivers/auxdisplay/panel.c | 7 ---
drivers/gpu/drm/qxl/qxl_drv.c | 1
drivers/media/usb/pwc/pwc-uncompress.c | 3 -
drivers/net/ethernet/adaptec/starfire.c | 8 ----
drivers/net/ethernet/amd/atarilance.c | 8 ----
drivers/net/ethernet/amd/pcnet32.c | 7 ---
drivers/net/wireless/intersil/orinoco/orinoco_nortel.c | 8 ----
drivers/net/wireless/intersil/orinoco/orinoco_pci.c | 8 ----
drivers/net/wireless/intersil/orinoco/orinoco_plx.c | 8 ----
drivers/net/wireless/intersil/orinoco/orinoco_tmd.c | 8 ----
drivers/parport/parport_ip32.c | 12 ------
drivers/platform/x86/dell/dell_rbu.c | 3 -
drivers/scsi/53c700.c | 1
drivers/scsi/53c700.h | 1
drivers/scsi/ch.c | 6 ---
drivers/scsi/ips.c | 20 ----------
drivers/scsi/ips.h | 20 ----------
drivers/scsi/lasi700.c | 1
drivers/scsi/megaraid/mbox_defs.h | 2 -
drivers/scsi/megaraid/mega_common.h | 2 -
drivers/scsi/megaraid/megaraid_mbox.c | 2 -
drivers/scsi/megaraid/megaraid_mbox.h | 2 -
drivers/scsi/qla1280.c | 12 ------
drivers/scsi/sni_53c710.c | 1
drivers/video/fbdev/matrox/matroxfb_base.c | 9 ----
drivers/video/fbdev/vga16fb.c | 10 -----
fs/configfs/configfs_internal.h | 4 --
fs/configfs/dir.c | 4 --
fs/configfs/file.c | 4 --
fs/configfs/inode.c | 4 --
fs/configfs/item.c | 4 --
fs/configfs/mount.c | 4 --
fs/configfs/symlink.c | 4 --
fs/nfs/dir.c | 7 ---
fs/nfs/nfs4proc.c | 6 ---
fs/nfs/nfs4renewd.c | 6 ---
fs/nfs/nfs4state.c | 6 ---
fs/nfs/nfs4xdr.c | 6 ---
fs/nfsd/nfs4proc.c | 6 ---
fs/nfsd/nfs4xdr.c | 6 ---
fs/nfsd/xdr4.h | 6 ---
fs/ocfs2/acl.c | 4 --
fs/ocfs2/acl.h | 4 --
fs/ocfs2/alloc.c | 4 --
fs/ocfs2/alloc.h | 4 --
fs/ocfs2/aops.c | 4 --
fs/ocfs2/aops.h | 4 --
fs/ocfs2/blockcheck.c | 4 --
fs/ocfs2/blockcheck.h | 4 --
fs/ocfs2/buffer_head_io.c | 4 --
fs/ocfs2/buffer_head_io.h | 4 --
fs/ocfs2/cluster/heartbeat.c | 4 --
fs/ocfs2/cluster/heartbeat.h | 4 --
fs/ocfs2/cluster/masklog.c | 4 --
fs/ocfs2/cluster/masklog.h | 4 --
fs/ocfs2/cluster/netdebug.c | 4 --
fs/ocfs2/cluster/nodemanager.c | 4 --
fs/ocfs2/cluster/nodemanager.h | 4 --
fs/ocfs2/cluster/ocfs2_heartbeat.h | 4 --
fs/ocfs2/cluster/ocfs2_nodemanager.h | 4 --
fs/ocfs2/cluster/quorum.c | 4 --
fs/ocfs2/cluster/quorum.h | 4 --
fs/ocfs2/cluster/sys.c | 4 --
fs/ocfs2/cluster/sys.h | 4 --
fs/ocfs2/cluster/tcp.c | 4 --
fs/ocfs2/cluster/tcp.h | 4 --
fs/ocfs2/cluster/tcp_internal.h | 4 --
fs/ocfs2/dcache.c | 4 --
fs/ocfs2/dcache.h | 4 --
fs/ocfs2/dir.c | 4 --
fs/ocfs2/dir.h | 4 --
fs/ocfs2/dlm/dlmapi.h | 4 --
fs/ocfs2/dlm/dlmast.c | 4 --
fs/ocfs2/dlm/dlmcommon.h | 4 --
fs/ocfs2/dlm/dlmconvert.c | 4 --
fs/ocfs2/dlm/dlmconvert.h | 4 --
fs/ocfs2/dlm/dlmdebug.c | 4 --
fs/ocfs2/dlm/dlmdebug.h | 4 --
fs/ocfs2/dlm/dlmdomain.c | 4 --
fs/ocfs2/dlm/dlmdomain.h | 4 --
fs/ocfs2/dlm/dlmlock.c | 4 --
fs/ocfs2/dlm/dlmmaster.c | 4 --
fs/ocfs2/dlm/dlmrecovery.c | 4 --
fs/ocfs2/dlm/dlmthread.c | 4 --
fs/ocfs2/dlm/dlmunlock.c | 4 --
fs/ocfs2/dlmfs/dlmfs.c | 4 --
fs/ocfs2/dlmfs/userdlm.c | 4 --
fs/ocfs2/dlmfs/userdlm.h | 4 --
fs/ocfs2/dlmglue.c | 4 --
fs/ocfs2/dlmglue.h | 4 --
fs/ocfs2/export.c | 4 --
fs/ocfs2/export.h | 4 --
fs/ocfs2/extent_map.c | 4 --
fs/ocfs2/extent_map.h | 4 --
fs/ocfs2/file.c | 4 --
fs/ocfs2/file.h | 4 --
fs/ocfs2/filecheck.c | 4 --
fs/ocfs2/filecheck.h | 4 --
fs/ocfs2/heartbeat.c | 4 --
fs/ocfs2/heartbeat.h | 4 --
fs/ocfs2/inode.c | 4 --
fs/ocfs2/inode.h | 4 --
fs/ocfs2/journal.c | 4 --
fs/ocfs2/journal.h | 4 --
fs/ocfs2/localalloc.c | 4 --
fs/ocfs2/localalloc.h | 4 --
fs/ocfs2/locks.c | 4 --
fs/ocfs2/locks.h | 4 --
fs/ocfs2/mmap.c | 4 --
fs/ocfs2/move_extents.c | 4 --
fs/ocfs2/move_extents.h | 4 --
fs/ocfs2/namei.c | 4 --
fs/ocfs2/namei.h | 4 --
fs/ocfs2/ocfs1_fs_compat.h | 4 --
fs/ocfs2/ocfs2.h | 4 --
fs/ocfs2/ocfs2_fs.h | 4 --
fs/ocfs2/ocfs2_ioctl.h | 4 --
fs/ocfs2/ocfs2_lockid.h | 4 --
fs/ocfs2/ocfs2_lockingver.h | 4 --
fs/ocfs2/refcounttree.c | 4 --
fs/ocfs2/refcounttree.h | 4 --
fs/ocfs2/reservations.c | 4 --
fs/ocfs2/reservations.h | 4 --
fs/ocfs2/resize.c | 4 --
fs/ocfs2/resize.h | 4 --
fs/ocfs2/slot_map.c | 4 --
fs/ocfs2/slot_map.h | 4 --
fs/ocfs2/stack_o2cb.c | 4 --
fs/ocfs2/stack_user.c | 4 --
fs/ocfs2/stackglue.c | 4 --
fs/ocfs2/stackglue.h | 4 --
fs/ocfs2/suballoc.c | 4 --
fs/ocfs2/suballoc.h | 4 --
fs/ocfs2/super.c | 4 --
fs/ocfs2/super.h | 4 --
fs/ocfs2/symlink.c | 4 --
fs/ocfs2/symlink.h | 4 --
fs/ocfs2/sysfile.c | 4 --
fs/ocfs2/sysfile.h | 4 --
fs/ocfs2/uptodate.c | 4 --
fs/ocfs2/uptodate.h | 4 --
fs/ocfs2/xattr.c | 4 --
fs/ocfs2/xattr.h | 4 --
fs/reiserfs/procfs.c | 10 -----
include/linux/configfs.h | 4 --
include/linux/genl_magic_func.h | 1
include/linux/genl_magic_struct.h | 1
include/uapi/linux/if_bonding.h | 11 -----
include/uapi/linux/nfs4.h | 6 ---
include/xen/interface/elfnote.h | 10 -----
include/xen/interface/hvm/hvm_vcpu.h | 10 -----
include/xen/interface/io/xenbus.h | 10 -----
samples/configfs/configfs_sample.c | 2 -
tools/usb/hcd-tests.sh | 2 -
157 files changed, 110 insertions(+), 627 deletions(-)
--- a/arch/m68k/atari/time.c~treewide-remove-editor-modelines-and-cruft
+++ a/arch/m68k/atari/time.c
@@ -317,10 +317,3 @@ int atari_tt_hwclk( int op, struct rtc_t
return( 0 );
}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * tab-width: 8
- * End:
- */
--- a/arch/parisc/include/asm/pdc_chassis.h~treewide-remove-editor-modelines-and-cruft
+++ a/arch/parisc/include/asm/pdc_chassis.h
@@ -365,4 +365,3 @@ void parisc_pdc_chassis_init(void);
PDC_CHASSIS_EOM_SET )
#endif /* _PARISC_PDC_CHASSIS_H */
-/* vim: set ts=8 */
--- a/arch/um/drivers/cow.h~treewide-remove-editor-modelines-and-cruft
+++ a/arch/um/drivers/cow.h
@@ -24,10 +24,3 @@ extern void cow_sizes(int version, __u64
int *data_offset_out);
#endif
-
-/*
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
--- a/drivers/auxdisplay/panel.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/auxdisplay/panel.c
@@ -1737,10 +1737,3 @@ module_init(panel_init_module);
module_exit(panel_cleanup_module);
MODULE_AUTHOR("Willy Tarreau");
MODULE_LICENSE("GPL");
-
-/*
- * Local variables:
- * c-indent-level: 4
- * tab-width: 8
- * End:
- */
--- a/drivers/gpu/drm/qxl/qxl_drv.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/gpu/drm/qxl/qxl_drv.c
@@ -1,4 +1,3 @@
-/* vim: set ts=8 sw=8 tw=78 ai noexpandtab */
/* qxl_drv.c -- QXL driver -*- linux-c -*-
*
* Copyright 2011 Red Hat, Inc.
--- a/drivers/media/usb/pwc/pwc-uncompress.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/media/usb/pwc/pwc-uncompress.c
@@ -9,9 +9,6 @@
Please send bug reports and support requests to <luc@saillard.org>.
The decompression routines have been implemented by reverse-engineering the
Nemosoft binary pwcx module. Caveat emptor.
-
-
- vim: set ts=8:
*/
#include <asm/current.h>
--- a/drivers/net/ethernet/adaptec/starfire.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/ethernet/adaptec/starfire.c
@@ -2070,11 +2070,3 @@ static void __exit starfire_cleanup (voi
module_init(starfire_init);
module_exit(starfire_cleanup);
-
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/net/ethernet/amd/atarilance.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/ethernet/amd/atarilance.c
@@ -1156,11 +1156,3 @@ static void __exit atarilance_module_exi
module_init(atarilance_module_init);
module_exit(atarilance_module_exit);
#endif /* MODULE */
-
-
-/*
- * Local variables:
- * c-indent-level: 4
- * tab-width: 4
- * End:
- */
--- a/drivers/net/ethernet/amd/pcnet32.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/ethernet/amd/pcnet32.c
@@ -3029,10 +3029,3 @@ static void __exit pcnet32_cleanup_modul
module_init(pcnet32_init_module);
module_exit(pcnet32_cleanup_module);
-
-/*
- * Local variables:
- * c-indent-level: 4
- * tab-width: 8
- * End:
- */
--- a/drivers/net/wireless/intersil/orinoco/orinoco_nortel.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/wireless/intersil/orinoco/orinoco_nortel.c
@@ -312,11 +312,3 @@ static void __exit orinoco_nortel_exit(v
module_init(orinoco_nortel_init);
module_exit(orinoco_nortel_exit);
-
-/*
- * Local variables:
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/net/wireless/intersil/orinoco/orinoco_pci.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/wireless/intersil/orinoco/orinoco_pci.c
@@ -255,11 +255,3 @@ static void __exit orinoco_pci_exit(void
module_init(orinoco_pci_init);
module_exit(orinoco_pci_exit);
-
-/*
- * Local variables:
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/net/wireless/intersil/orinoco/orinoco_plx.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/wireless/intersil/orinoco/orinoco_plx.c
@@ -360,11 +360,3 @@ static void __exit orinoco_plx_exit(void
module_init(orinoco_plx_init);
module_exit(orinoco_plx_exit);
-
-/*
- * Local variables:
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/net/wireless/intersil/orinoco/orinoco_tmd.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/net/wireless/intersil/orinoco/orinoco_tmd.c
@@ -235,11 +235,3 @@ static void __exit orinoco_tmd_exit(void
module_init(orinoco_tmd_init);
module_exit(orinoco_tmd_exit);
-
-/*
- * Local variables:
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/parport/parport_ip32.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/parport/parport_ip32.c
@@ -2224,15 +2224,3 @@ MODULE_PARM_DESC(features,
", bit 2: hardware SPP mode"
", bit 3: hardware EPP mode"
", bit 4: hardware ECP mode");
-
-/*--- Inform (X)Emacs about preferred coding style ---------------------*/
-/*
- * Local Variables:
- * mode: c
- * c-file-style: "linux"
- * indent-tabs-mode: t
- * tab-width: 8
- * fill-column: 78
- * ispell-local-dictionary: "american"
- * End:
- */
--- a/drivers/platform/x86/dell/dell_rbu.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/platform/x86/dell/dell_rbu.c
@@ -675,6 +675,3 @@ static __exit void dcdrbu_exit(void)
module_exit(dcdrbu_exit);
module_init(dcdrbu_init);
-
-/* vim:noet:ts=8:sw=8
-*/
--- a/drivers/scsi/53c700.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/53c700.c
@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8 -*- */
/* NCR (or Symbios) 53c700 and 53c700-66 Driver
*
--- a/drivers/scsi/53c700.h~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/53c700.h
@@ -1,5 +1,4 @@
/* SPDX-License-Identifier: GPL-2.0 */
-/* -*- mode: c; c-basic-offset: 8 -*- */
/* Driver for 53c700 and 53c700-66 chips from NCR and Symbios
*
--- a/drivers/scsi/ch.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/ch.c
@@ -1058,9 +1058,3 @@ static void __exit exit_ch_module(void)
module_init(init_ch_module);
module_exit(exit_ch_module);
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/drivers/scsi/ips.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/ips.c
@@ -7099,23 +7099,3 @@ ips_init_phase2(int index)
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("IBM ServeRAID Adapter Driver " IPS_VER_STRING);
MODULE_VERSION(IPS_VER_STRING);
-
-
-/*
- * Overrides for Emacs so that we almost follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-indent-level: 2
- * c-brace-imaginary-offset: 0
- * c-brace-offset: -2
- * c-argdecl-indent: 2
- * c-label-offset: -2
- * c-continued-statement-offset: 2
- * c-continued-brace-offset: 0
- * indent-tabs-mode: nil
- * tab-width: 8
- * End:
- */
--- a/drivers/scsi/ips.h~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/ips.h
@@ -1211,23 +1211,3 @@ typedef struct {
IPS_COMPAT_TAMPA, \
IPS_COMPAT_KEYWEST \
}
-
-
-/*
- * Overrides for Emacs so that we almost follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-indent-level: 2
- * c-brace-imaginary-offset: 0
- * c-brace-offset: -2
- * c-argdecl-indent: 2
- * c-label-offset: -2
- * c-continued-statement-offset: 2
- * c-continued-brace-offset: 0
- * indent-tabs-mode: nil
- * tab-width: 8
- * End:
- */
--- a/drivers/scsi/lasi700.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/lasi700.c
@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8 -*- */
/* PARISC LASI driver for the 53c700 chip
*
--- a/drivers/scsi/megaraid/mbox_defs.h~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/megaraid/mbox_defs.h
@@ -781,5 +781,3 @@ typedef struct {
} __attribute__ ((packed)) mbox_sgl32;
#endif // _MRAID_MBOX_DEFS_H_
-
-/* vim: set ts=8 sw=8 tw=78: */
--- a/drivers/scsi/megaraid/mega_common.h~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/megaraid/mega_common.h
@@ -282,5 +282,3 @@ struct mraid_pci_blk {
};
#endif // _MEGA_COMMON_H_
-
-// vim: set ts=8 sw=8 tw=78:
--- a/drivers/scsi/megaraid/megaraid_mbox.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/megaraid/megaraid_mbox.c
@@ -4068,5 +4068,3 @@ megaraid_sysfs_show_ldnum(struct device
*/
module_init(megaraid_init);
module_exit(megaraid_exit);
-
-/* vim: set ts=8 sw=8 tw=78 ai si: */
--- a/drivers/scsi/megaraid/megaraid_mbox.h~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/megaraid/megaraid_mbox.h
@@ -230,5 +230,3 @@ typedef struct {
#define WROUTDOOR(rdev, value) writel(value, (rdev)->baseaddr + 0x2C)
#endif // _MEGARAID_H_
-
-// vim: set ts=8 sw=8 tw=78:
--- a/drivers/scsi/qla1280.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/qla1280.c
@@ -4403,15 +4403,3 @@ MODULE_FIRMWARE("qlogic/1040.bin");
MODULE_FIRMWARE("qlogic/1280.bin");
MODULE_FIRMWARE("qlogic/12160.bin");
MODULE_VERSION(QLA1280_VERSION);
-
-/*
- * Overrides for Emacs so that we almost follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/drivers/scsi/sni_53c710.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/scsi/sni_53c710.c
@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8 -*- */
/* SNI RM driver
*
--- a/drivers/video/fbdev/matrox/matroxfb_base.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/video/fbdev/matrox/matroxfb_base.c
@@ -2608,12 +2608,3 @@ EXPORT_SYMBOL(matroxfb_register_driver);
EXPORT_SYMBOL(matroxfb_unregister_driver);
EXPORT_SYMBOL(matroxfb_wait_for_sync);
EXPORT_SYMBOL(matroxfb_enable_irq);
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
-
--- a/drivers/video/fbdev/vga16fb.c~treewide-remove-editor-modelines-and-cruft
+++ a/drivers/video/fbdev/vga16fb.c
@@ -1451,13 +1451,3 @@ MODULE_DESCRIPTION("Legacy VGA framebuff
MODULE_LICENSE("GPL");
module_init(vga16fb_init);
module_exit(vga16fb_exit);
-
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
-
--- a/fs/configfs/configfs_internal.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/configfs_internal.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset:8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* configfs_internal.h - Internal stuff for configfs
*
* Based on sysfs:
--- a/fs/configfs/dir.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/dir.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dir.c - Operations for configfs directories.
*
* Based on sysfs:
--- a/fs/configfs/file.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/file.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* file.c - operations for regular (text) files.
*
* Based on sysfs:
--- a/fs/configfs/inode.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/inode.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* inode.c - basic inode and dentry operations.
*
* Based on sysfs:
--- a/fs/configfs/item.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/item.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* item.c - library routines for handling generic config items
*
* Based on kobject:
--- a/fs/configfs/mount.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/mount.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* mount.c - operations for initializing and mounting configfs.
*
* Based on sysfs:
--- a/fs/configfs/symlink.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/configfs/symlink.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* symlink.c - operations for configfs symlinks.
*
* Based on sysfs:
--- a/fs/nfs/dir.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfs/dir.c
@@ -3004,10 +3004,3 @@ out_notsup:
goto out;
}
EXPORT_SYMBOL_GPL(nfs_permission);
-
-/*
- * Local variables:
- * version-control: t
- * kept-new-versions: 5
- * End:
- */
--- a/fs/nfsd/nfs4proc.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfsd/nfs4proc.c
@@ -3317,9 +3317,3 @@ const struct svc_version nfsd_version4 =
.vs_rpcb_optnl = true,
.vs_need_cong_ctrl = true,
};
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfsd/nfs4xdr.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfsd/nfs4xdr.c
@@ -5448,9 +5448,3 @@ nfs4svc_encode_compoundres(struct svc_rq
nfsd4_sequence_done(resp);
return 1;
}
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfsd/xdr4.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfsd/xdr4.h
@@ -866,9 +866,3 @@ struct nfsd4_operation {
#endif
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfs/nfs4proc.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfs/nfs4proc.c
@@ -10427,9 +10427,3 @@ const struct xattr_handler *nfs4_xattr_h
#endif
NULL
};
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfs/nfs4renewd.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfs/nfs4renewd.c
@@ -149,9 +149,3 @@ void nfs4_set_lease_period(struct nfs_cl
/* Cap maximum reconnect timeout at 1/2 lease period */
rpc_set_connect_timeout(clp->cl_rpcclient, lease, lease >> 1);
}
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfs/nfs4state.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfs/nfs4state.c
@@ -2695,9 +2695,3 @@ static int nfs4_run_state_manager(void *
module_put_and_exit(0);
return 0;
}
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/nfs/nfs4xdr.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/nfs/nfs4xdr.c
@@ -7629,9 +7629,3 @@ const struct rpc_version nfs_version4 =
.procs = nfs4_procedures,
.counts = nfs_version4_counts,
};
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/fs/ocfs2/acl.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/acl.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* acl.c
*
* Copyright (C) 2004, 2008 Oracle. All rights reserved.
--- a/fs/ocfs2/acl.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/acl.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* acl.h
*
* Copyright (C) 2004, 2008 Oracle. All rights reserved.
--- a/fs/ocfs2/alloc.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/alloc.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* alloc.c
*
* Extent allocs and frees
--- a/fs/ocfs2/alloc.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/alloc.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* alloc.h
*
* Function prototypes
--- a/fs/ocfs2/aops.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/aops.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2002, 2004 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/aops.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/aops.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/blockcheck.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/blockcheck.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* blockcheck.c
*
* Checksum and ECC codes for the OCFS2 userspace library.
--- a/fs/ocfs2/blockcheck.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/blockcheck.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* blockcheck.h
*
* Checksum and ECC codes for the OCFS2 userspace library.
--- a/fs/ocfs2/buffer_head_io.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/buffer_head_io.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* io.c
*
* Buffer cache handling
--- a/fs/ocfs2/buffer_head_io.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/buffer_head_io.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_buffer_head.h
*
* Buffer cache handling functions defined
--- a/fs/ocfs2/cluster/heartbeat.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/heartbeat.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2004, 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/heartbeat.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/heartbeat.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* heartbeat.h
*
* Function prototypes
--- a/fs/ocfs2/cluster/masklog.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/masklog.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2004, 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/masklog.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/masklog.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/netdebug.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/netdebug.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* netdebug.c
*
* debug functionality for o2net
--- a/fs/ocfs2/cluster/nodemanager.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/nodemanager.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2004, 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/nodemanager.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/nodemanager.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* nodemanager.h
*
* Function prototypes
--- a/fs/ocfs2/cluster/ocfs2_heartbeat.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/ocfs2_heartbeat.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_heartbeat.h
*
* On-disk structures for ocfs2_heartbeat
--- a/fs/ocfs2/cluster/ocfs2_nodemanager.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/ocfs2_nodemanager.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_nodemanager.h
*
* Header describing the interface between userspace and the kernel
--- a/fs/ocfs2/cluster/quorum.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/quorum.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- *
- * vim: noexpandtab sw=8 ts=8 sts=0:
+/*
*
* Copyright (C) 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/quorum.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/quorum.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/cluster/sys.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/sys.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* sys.c
*
* OCFS2 cluster sysfs interface
--- a/fs/ocfs2/cluster/sys.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/sys.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* sys.h
*
* Function prototypes for o2cb sysfs interface
--- a/fs/ocfs2/cluster/tcp.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/tcp.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- *
- * vim: noexpandtab sw=8 ts=8 sts=0:
+/*
*
* Copyright (C) 2004 Oracle. All rights reserved.
*
--- a/fs/ocfs2/cluster/tcp.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/tcp.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* tcp.h
*
* Function prototypes
--- a/fs/ocfs2/cluster/tcp_internal.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/cluster/tcp_internal.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* Copyright (C) 2005 Oracle. All rights reserved.
*/
--- a/fs/ocfs2/dcache.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dcache.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dcache.c
*
* dentry cache handling code
--- a/fs/ocfs2/dcache.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dcache.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dcache.h
*
* Function prototypes
--- a/fs/ocfs2/dir.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dir.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dir.c
*
* Creates, reads, walks and deletes directory-nodes
--- a/fs/ocfs2/dir.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dir.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dir.h
*
* Function prototypes
--- a/fs/ocfs2/dlm/dlmapi.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmapi.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmapi.h
*
* externally exported dlm interfaces
--- a/fs/ocfs2/dlm/dlmast.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmast.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmast.c
*
* AST and BAST functionality for local and remote nodes
--- a/fs/ocfs2/dlm/dlmcommon.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmcommon.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmcommon.h
*
* Copyright (C) 2004 Oracle. All rights reserved.
--- a/fs/ocfs2/dlm/dlmconvert.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmconvert.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmconvert.c
*
* underlying calls for lock conversion
--- a/fs/ocfs2/dlm/dlmconvert.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmconvert.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmconvert.h
*
* Copyright (C) 2004 Oracle. All rights reserved.
--- a/fs/ocfs2/dlm/dlmdebug.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmdebug.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmdebug.c
*
* debug functionality for the dlm
--- a/fs/ocfs2/dlm/dlmdebug.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmdebug.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmdebug.h
*
* Copyright (C) 2008 Oracle. All rights reserved.
--- a/fs/ocfs2/dlm/dlmdomain.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmdomain.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmdomain.c
*
* defines domain join / leave apis
--- a/fs/ocfs2/dlm/dlmdomain.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmdomain.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmdomain.h
*
* Copyright (C) 2004 Oracle. All rights reserved.
--- a/fs/ocfs2/dlm/dlmlock.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmlock.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmlock.c
*
* underlying calls for lock creation
--- a/fs/ocfs2/dlm/dlmmaster.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmmaster.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmmod.c
*
* standalone DLM module
--- a/fs/ocfs2/dlm/dlmrecovery.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmrecovery.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmrecovery.c
*
* recovery stuff
--- a/fs/ocfs2/dlm/dlmthread.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmthread.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmthread.c
*
* standalone DLM module
--- a/fs/ocfs2/dlm/dlmunlock.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlm/dlmunlock.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmunlock.c
*
* underlying calls for unlocking locks
--- a/fs/ocfs2/dlmfs/dlmfs.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlmfs/dlmfs.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmfs.c
*
* Code which implements the kernel side of a minimal userspace
--- a/fs/ocfs2/dlmfs/userdlm.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlmfs/userdlm.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* userdlm.c
*
* Code which implements the kernel side of a minimal userspace
--- a/fs/ocfs2/dlmfs/userdlm.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlmfs/userdlm.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* userdlm.h
*
* Userspace dlm defines
--- a/fs/ocfs2/dlmglue.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlmglue.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmglue.c
*
* Code which implements an OCFS2 specific interface to our DLM.
--- a/fs/ocfs2/dlmglue.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/dlmglue.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* dlmglue.h
*
* description here
--- a/fs/ocfs2/export.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/export.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* export.c
*
* Functions to facilitate NFS exporting
--- a/fs/ocfs2/export.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/export.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* export.h
*
* Function prototypes
--- a/fs/ocfs2/extent_map.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/extent_map.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* extent_map.c
*
* Block/Cluster mapping functions
--- a/fs/ocfs2/extent_map.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/extent_map.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* extent_map.h
*
* In-memory file extent mappings for OCFS2.
--- a/fs/ocfs2/file.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/file.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* file.c
*
* File open, close, extend, truncate
--- a/fs/ocfs2/filecheck.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/filecheck.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* filecheck.c
*
* Code which implements online file check.
--- a/fs/ocfs2/filecheck.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/filecheck.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* filecheck.h
*
* Online file check.
--- a/fs/ocfs2/file.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/file.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* file.h
*
* Function prototypes
--- a/fs/ocfs2/heartbeat.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/heartbeat.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* heartbeat.c
*
* Register ourselves with the heartbaet service, keep our node maps
--- a/fs/ocfs2/heartbeat.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/heartbeat.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* heartbeat.h
*
* Function prototypes
--- a/fs/ocfs2/inode.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/inode.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* inode.c
*
* vfs' aops, fops, dops and iops
--- a/fs/ocfs2/inode.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/inode.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* inode.h
*
* Function prototypes
--- a/fs/ocfs2/journal.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/journal.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* journal.c
*
* Defines functions of journalling api
--- a/fs/ocfs2/journal.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/journal.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* journal.h
*
* Defines journalling api and structures.
--- a/fs/ocfs2/localalloc.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/localalloc.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* localalloc.c
*
* Node local data allocation
--- a/fs/ocfs2/localalloc.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/localalloc.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* localalloc.h
*
* Function prototypes
--- a/fs/ocfs2/locks.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/locks.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* locks.c
*
* Userspace file locking support
--- a/fs/ocfs2/locks.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/locks.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* locks.h
*
* Function prototypes for Userspace file locking support
--- a/fs/ocfs2/mmap.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/mmap.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* mmap.c
*
* Code to deal with the mess that is clustered mmap.
--- a/fs/ocfs2/move_extents.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/move_extents.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* move_extents.c
*
* Copyright (C) 2011 Oracle. All rights reserved.
--- a/fs/ocfs2/move_extents.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/move_extents.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* move_extents.h
*
* Copyright (C) 2011 Oracle. All rights reserved.
--- a/fs/ocfs2/namei.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/namei.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* namei.c
*
* Create and rename file, directory, symlinks
--- a/fs/ocfs2/namei.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/namei.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* namei.h
*
* Function prototypes
--- a/fs/ocfs2/ocfs1_fs_compat.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs1_fs_compat.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs1_fs_compat.h
*
* OCFS1 volume header definitions. OCFS2 creates valid but unmountable
--- a/fs/ocfs2/ocfs2_fs.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs2_fs.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_fs.h
*
* On-disk structures for OCFS2.
--- a/fs/ocfs2/ocfs2.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs2.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2.h
*
* Defines macros and structures used in OCFS2
--- a/fs/ocfs2/ocfs2_ioctl.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs2_ioctl.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_ioctl.h
*
* Defines OCFS2 ioctls.
--- a/fs/ocfs2/ocfs2_lockid.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs2_lockid.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_lockid.h
*
* Defines OCFS2 lockid bits.
--- a/fs/ocfs2/ocfs2_lockingver.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/ocfs2_lockingver.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* ocfs2_lockingver.h
*
* Defines OCFS2 Locking version values.
--- a/fs/ocfs2/refcounttree.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/refcounttree.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* refcounttree.c
*
* Copyright (C) 2009 Oracle. All rights reserved.
--- a/fs/ocfs2/refcounttree.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/refcounttree.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* refcounttree.h
*
* Copyright (C) 2009 Oracle. All rights reserved.
--- a/fs/ocfs2/reservations.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/reservations.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* reservations.c
*
* Allocation reservations implementation
--- a/fs/ocfs2/reservations.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/reservations.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* reservations.h
*
* Allocation reservations function prototypes and structures.
--- a/fs/ocfs2/resize.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/resize.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* resize.c
*
* volume resize.
--- a/fs/ocfs2/resize.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/resize.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* resize.h
*
* Function prototypes
--- a/fs/ocfs2/slot_map.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/slot_map.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* slot_map.c
*
* Copyright (C) 2002, 2004 Oracle. All rights reserved.
--- a/fs/ocfs2/slot_map.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/slot_map.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* slotmap.h
*
* description here
--- a/fs/ocfs2/stackglue.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/stackglue.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* stackglue.c
*
* Code which implements an OCFS2 specific interface to underlying
--- a/fs/ocfs2/stackglue.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/stackglue.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* stackglue.h
*
* Glue to the underlying cluster stack.
--- a/fs/ocfs2/stack_o2cb.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/stack_o2cb.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* stack_o2cb.c
*
* Code which interfaces ocfs2 with the o2cb stack.
--- a/fs/ocfs2/stack_user.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/stack_user.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* stack_user.c
*
* Code which interfaces ocfs2 with fs/dlm and a userspace stack.
--- a/fs/ocfs2/suballoc.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/suballoc.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* suballoc.c
*
* metadata alloc and free
--- a/fs/ocfs2/suballoc.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/suballoc.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* suballoc.h
*
* Defines sub allocator api
--- a/fs/ocfs2/super.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/super.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* super.c
*
* load/unload driver, mount/dismount volumes
--- a/fs/ocfs2/super.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/super.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* super.h
*
* Function prototypes
--- a/fs/ocfs2/symlink.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/symlink.c
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* linux/cluster/ssi/cfs/symlink.c
*
* This program is free software; you can redistribute it and/or
--- a/fs/ocfs2/symlink.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/symlink.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* symlink.h
*
* Function prototypes
--- a/fs/ocfs2/sysfile.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/sysfile.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* sysfile.c
*
* Initialize, read, write, etc. system files.
--- a/fs/ocfs2/sysfile.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/sysfile.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* sysfile.h
*
* Function prototypes
--- a/fs/ocfs2/uptodate.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/uptodate.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* uptodate.c
*
* Tracking the up-to-date-ness of a local buffer_head with respect to
--- a/fs/ocfs2/uptodate.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/uptodate.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* uptodate.h
*
* Cluster uptodate tracking
--- a/fs/ocfs2/xattr.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/xattr.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* xattr.c
*
* Copyright (C) 2004, 2008 Oracle. All rights reserved.
--- a/fs/ocfs2/xattr.h~treewide-remove-editor-modelines-and-cruft
+++ a/fs/ocfs2/xattr.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* xattr.h
*
* Copyright (C) 2004, 2008 Oracle. All rights reserved.
--- a/fs/reiserfs/procfs.c~treewide-remove-editor-modelines-and-cruft
+++ a/fs/reiserfs/procfs.c
@@ -488,13 +488,3 @@ int reiserfs_proc_info_global_done(void)
* (available at http://www.namesys.com/legalese.html)
*
*/
-
-/*
- * Make Linus happy.
- * Local variables:
- * c-indentation-style: "K&R"
- * mode-name: "LC"
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/include/linux/configfs.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/linux/configfs.h
@@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* -*- mode: c; c-basic-offset: 8; -*-
- * vim: noexpandtab sw=8 ts=8 sts=0:
- *
+/*
* configfs.h - definitions for the device driver filesystem
*
* Based on sysfs:
--- a/include/linux/genl_magic_func.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/linux/genl_magic_func.h
@@ -404,4 +404,3 @@ s_fields \
/* }}}1 */
#endif /* GENL_MAGIC_FUNC_H */
-/* vim: set foldmethod=marker foldlevel=1 nofoldenable : */
--- a/include/linux/genl_magic_struct.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/linux/genl_magic_struct.h
@@ -283,4 +283,3 @@ enum { \
/* }}}1 */
#endif /* GENL_MAGIC_STRUCT_H */
-/* vim: set foldmethod=marker nofoldenable : */
--- a/include/uapi/linux/if_bonding.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/uapi/linux/if_bonding.h
@@ -153,14 +153,3 @@ enum {
#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
#endif /* _LINUX_IF_BONDING_H */
-
-/*
- * Local variables:
- * version-control: t
- * kept-new-versions: 5
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
-
--- a/include/uapi/linux/nfs4.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/uapi/linux/nfs4.h
@@ -178,9 +178,3 @@
#define NFS4_MAX_BACK_CHANNEL_OPS 2
#endif /* _UAPI_LINUX_NFS4_H */
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
--- a/include/xen/interface/elfnote.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/xen/interface/elfnote.h
@@ -208,13 +208,3 @@
#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_ENTRY
#endif /* __XEN_PUBLIC_ELFNOTE_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-set-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
--- a/include/xen/interface/hvm/hvm_vcpu.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/xen/interface/hvm/hvm_vcpu.h
@@ -131,13 +131,3 @@ struct vcpu_hvm_context {
typedef struct vcpu_hvm_context vcpu_hvm_context_t;
#endif /* __XEN_PUBLIC_HVM_HVM_VCPU_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
--- a/include/xen/interface/io/xenbus.h~treewide-remove-editor-modelines-and-cruft
+++ a/include/xen/interface/io/xenbus.h
@@ -39,13 +39,3 @@ enum xenbus_state
};
#endif /* _XEN_PUBLIC_IO_XENBUS_H */
-
-/*
- * Local variables:
- * c-file-style: "linux"
- * indent-tabs-mode: t
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
--- a/samples/configfs/configfs_sample.c~treewide-remove-editor-modelines-and-cruft
+++ a/samples/configfs/configfs_sample.c
@@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
- * vim: noexpandtab ts=8 sts=0 sw=8:
- *
* configfs_example_macros.c - This file is a demonstration module
* containing a number of configfs subsystems. It uses the helper
* macros defined by configfs.h
--- a/tools/usb/hcd-tests.sh~treewide-remove-editor-modelines-and-cruft
+++ a/tools/usb/hcd-tests.sh
@@ -272,5 +272,3 @@ do
echo ''
done
done
-
-# vim: sw=4
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 90/91] mm: fix typos in comments
2021-05-07 1:01 incoming Andrew Morton
` (88 preceding siblings ...)
2021-05-07 1:06 ` [patch 89/91] treewide: remove editor modelines and cruft Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 1:06 ` [patch 91/91] " Andrew Morton
2021-05-07 7:12 ` incoming Linus Torvalds
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, mingo, mm-commits, rdunlap, torvalds, unixbhaskar, willy
From: Ingo Molnar <mingo@kernel.org>
Subject: mm: fix typos in comments
Fix ~94 single-word typos in locking code comments, plus a few
very obvious grammar mistakes.
Link: https://lkml.kernel.org/r/20210322212624.GA1963421@gmail.com
Link: https://lore.kernel.org/r/20210322205203.GB1959563@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/mm.h | 2 +-
include/linux/vmalloc.h | 4 ++--
mm/balloon_compaction.c | 4 ++--
mm/compaction.c | 4 ++--
mm/filemap.c | 2 +-
mm/gup.c | 2 +-
mm/highmem.c | 2 +-
mm/huge_memory.c | 6 +++---
mm/hugetlb.c | 6 +++---
mm/internal.h | 2 +-
mm/kasan/kasan.h | 8 ++++----
mm/kasan/quarantine.c | 4 ++--
mm/kasan/shadow.c | 4 ++--
mm/kfence/report.c | 2 +-
mm/khugepaged.c | 2 +-
mm/ksm.c | 4 ++--
mm/madvise.c | 4 ++--
mm/memcontrol.c | 18 +++++++++---------
mm/memory-failure.c | 2 +-
mm/memory.c | 10 +++++-----
mm/mempolicy.c | 4 ++--
mm/migrate.c | 8 ++++----
mm/mmap.c | 4 ++--
mm/mprotect.c | 2 +-
mm/mremap.c | 2 +-
mm/oom_kill.c | 2 +-
mm/page-writeback.c | 4 ++--
mm/page_alloc.c | 14 +++++++-------
mm/page_owner.c | 2 +-
mm/percpu-internal.h | 2 +-
mm/percpu.c | 2 +-
mm/pgalloc-track.h | 6 +++---
mm/slab.c | 6 +++---
mm/slub.c | 2 +-
mm/swap_slots.c | 2 +-
mm/vmalloc.c | 6 +++---
mm/vmstat.c | 2 +-
mm/zpool.c | 2 +-
mm/zsmalloc.c | 2 +-
39 files changed, 83 insertions(+), 83 deletions(-)
--- a/include/linux/mm.h~mm-fix-typos-in-comments
+++ a/include/linux/mm.h
@@ -106,7 +106,7 @@ extern int mmap_rnd_compat_bits __read_m
* embedding these tags into addresses that point to these memory regions, and
* checking that the memory and the pointer tags match on memory accesses)
* redefine this macro to strip tags from pointers.
- * It's defined as noop for arcitectures that don't support memory tagging.
+ * It's defined as noop for architectures that don't support memory tagging.
*/
#ifndef untagged_addr
#define untagged_addr(addr) (addr)
--- a/include/linux/vmalloc.h~mm-fix-typos-in-comments
+++ a/include/linux/vmalloc.h
@@ -33,7 +33,7 @@ struct notifier_block; /* in notifier.h
*
* If IS_ENABLED(CONFIG_KASAN_VMALLOC), VM_KASAN is set on a vm_struct after
* shadow memory has been mapped. It's used to handle allocation errors so that
- * we don't try to poision shadow on free if it was never allocated.
+ * we don't try to poison shadow on free if it was never allocated.
*
* Otherwise, VM_KASAN is set for kasan_module_alloc() allocations and used to
* determine which allocations need the module shadow freed.
@@ -43,7 +43,7 @@ struct notifier_block; /* in notifier.h
/*
* Maximum alignment for ioremap() regions.
- * Can be overriden by arch-specific value.
+ * Can be overridden by arch-specific value.
*/
#ifndef IOREMAP_MAX_ORDER
#define IOREMAP_MAX_ORDER (7 + PAGE_SHIFT) /* 128 pages */
--- a/mm/balloon_compaction.c~mm-fix-typos-in-comments
+++ a/mm/balloon_compaction.c
@@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(balloon_page_list_enqu
/**
* balloon_page_list_dequeue() - removes pages from balloon's page list and
* returns a list of the pages.
- * @b_dev_info: balloon device decriptor where we will grab a page from.
+ * @b_dev_info: balloon device descriptor where we will grab a page from.
* @pages: pointer to the list of pages that would be returned to the caller.
* @n_req_pages: number of requested pages.
*
@@ -157,7 +157,7 @@ EXPORT_SYMBOL_GPL(balloon_page_enqueue);
/*
* balloon_page_dequeue - removes a page from balloon's page list and returns
* its address to allow the driver to release the page.
- * @b_dev_info: balloon device decriptor where we will grab a page from.
+ * @b_dev_info: balloon device descriptor where we will grab a page from.
*
* Driver must call this function to properly dequeue a previously enqueued page
* before definitively releasing it back to the guest system.
--- a/mm/compaction.c~mm-fix-typos-in-comments
+++ a/mm/compaction.c
@@ -2012,8 +2012,8 @@ static unsigned int fragmentation_score_
unsigned int wmark_low;
/*
- * Cap the low watermak to avoid excessive compaction
- * activity in case a user sets the proactivess tunable
+ * Cap the low watermark to avoid excessive compaction
+ * activity in case a user sets the proactiveness tunable
* close to 100 (maximum).
*/
wmark_low = max(100U - sysctl_compaction_proactiveness, 5U);
--- a/mm/filemap.c~mm-fix-typos-in-comments
+++ a/mm/filemap.c
@@ -2755,7 +2755,7 @@ unsigned int seek_page_size(struct xa_st
* entirely memory-based such as tmpfs, and filesystems which support
* unwritten extents.
*
- * Return: The requested offset on successs, or -ENXIO if @whence specifies
+ * Return: The requested offset on success, or -ENXIO if @whence specifies
* SEEK_DATA and there is no data after @start. There is an implicit hole
* after @end - 1, so SEEK_HOLE returns @end if all the bytes between @start
* and @end contain data.
--- a/mm/gup.c~mm-fix-typos-in-comments
+++ a/mm/gup.c
@@ -1575,7 +1575,7 @@ finish_or_fault:
* Returns NULL on any kind of failure - a hole must then be inserted into
* the corefile, to preserve alignment with its headers; and also returns
* NULL wherever the ZERO_PAGE, or an anonymous pte_none, has been found -
- * allowing a hole to be left in the corefile to save diskspace.
+ * allowing a hole to be left in the corefile to save disk space.
*
* Called without mmap_lock (takes and releases the mmap_lock by itself).
*/
--- a/mm/highmem.c~mm-fix-typos-in-comments
+++ a/mm/highmem.c
@@ -519,7 +519,7 @@ void *__kmap_local_pfn_prot(unsigned lon
/*
* Disable migration so resulting virtual address is stable
- * accross preemption.
+ * across preemption.
*/
migrate_disable();
preempt_disable();
--- a/mm/huge_memory.c~mm-fix-typos-in-comments
+++ a/mm/huge_memory.c
@@ -1792,8 +1792,8 @@ bool move_huge_pmd(struct vm_area_struct
/*
* Returns
* - 0 if PMD could not be locked
- * - 1 if PMD was locked but protections unchange and TLB flush unnecessary
- * - HPAGE_PMD_NR is protections changed and TLB flush necessary
+ * - 1 if PMD was locked but protections unchanged and TLB flush unnecessary
+ * - HPAGE_PMD_NR if protections changed and TLB flush necessary
*/
int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
unsigned long addr, pgprot_t newprot, unsigned long cp_flags)
@@ -2469,7 +2469,7 @@ static void __split_huge_page(struct pag
xa_lock(&swap_cache->i_pages);
}
- /* lock lru list/PageCompound, ref freezed by page_ref_freeze */
+ /* lock lru list/PageCompound, ref frozen by page_ref_freeze */
lruvec = lock_page_lruvec(head);
for (i = nr - 1; i >= 1; i--) {
--- a/mm/hugetlb.c~mm-fix-typos-in-comments
+++ a/mm/hugetlb.c
@@ -466,7 +466,7 @@ static int allocate_file_region_entries(
resv->region_cache_count;
/* At this point, we should have enough entries in the cache
- * for all the existings adds_in_progress. We should only be
+ * for all the existing adds_in_progress. We should only be
* needing to allocate for regions_needed.
*/
VM_BUG_ON(resv->region_cache_count < resv->adds_in_progress);
@@ -5536,8 +5536,8 @@ void adjust_range_if_pmd_sharing_possibl
v_end = ALIGN_DOWN(vma->vm_end, PUD_SIZE);
/*
- * vma need span at least one aligned PUD size and the start,end range
- * must at least partialy within it.
+ * vma needs to span at least one aligned PUD size, and the range
+ * must be at least partially within in.
*/
if (!(vma->vm_flags & VM_MAYSHARE) || !(v_end > v_start) ||
(*end <= v_start) || (*start >= v_end))
--- a/mm/internal.h~mm-fix-typos-in-comments
+++ a/mm/internal.h
@@ -334,7 +334,7 @@ static inline bool is_exec_mapping(vm_fl
}
/*
- * Stack area - atomatically grows in one direction
+ * Stack area - automatically grows in one direction
*
* VM_GROWSUP / VM_GROWSDOWN VMAs are always private anonymous:
* do_mmap() forbids all other combinations.
--- a/mm/kasan/kasan.h~mm-fix-typos-in-comments
+++ a/mm/kasan/kasan.h
@@ -55,9 +55,9 @@ extern bool kasan_flag_async __ro_after_
#define KASAN_TAG_MAX 0xFD /* maximum value for random tags */
#ifdef CONFIG_KASAN_HW_TAGS
-#define KASAN_TAG_MIN 0xF0 /* mimimum value for random tags */
+#define KASAN_TAG_MIN 0xF0 /* minimum value for random tags */
#else
-#define KASAN_TAG_MIN 0x00 /* mimimum value for random tags */
+#define KASAN_TAG_MIN 0x00 /* minimum value for random tags */
#endif
#ifdef CONFIG_KASAN_GENERIC
@@ -403,7 +403,7 @@ static inline bool kasan_byte_accessible
#else /* CONFIG_KASAN_HW_TAGS */
/**
- * kasan_poison - mark the memory range as unaccessible
+ * kasan_poison - mark the memory range as inaccessible
* @addr - range start address, must be aligned to KASAN_GRANULE_SIZE
* @size - range size, must be aligned to KASAN_GRANULE_SIZE
* @value - value that's written to metadata for the range
@@ -434,7 +434,7 @@ bool kasan_byte_accessible(const void *a
/**
* kasan_poison_last_granule - mark the last granule of the memory range as
- * unaccessible
+ * inaccessible
* @addr - range start address, must be aligned to KASAN_GRANULE_SIZE
* @size - range size
*
--- a/mm/kasan/quarantine.c~mm-fix-typos-in-comments
+++ a/mm/kasan/quarantine.c
@@ -27,7 +27,7 @@
/* Data structure and operations for quarantine queues. */
/*
- * Each queue is a signle-linked list, which also stores the total size of
+ * Each queue is a single-linked list, which also stores the total size of
* objects inside of it.
*/
struct qlist_head {
@@ -138,7 +138,7 @@ static void qlink_free(struct qlist_node
local_irq_save(flags);
/*
- * As the object now gets freed from the quaratine, assume that its
+ * As the object now gets freed from the quarantine, assume that its
* free track is no longer valid.
*/
*(u8 *)kasan_mem_to_shadow(object) = KASAN_KMALLOC_FREE;
--- a/mm/kasan/shadow.c~mm-fix-typos-in-comments
+++ a/mm/kasan/shadow.c
@@ -316,7 +316,7 @@ int kasan_populate_vmalloc(unsigned long
* // rest of vmalloc process <data dependency>
* STORE p, a LOAD shadow(x+99)
*
- * If there is no barrier between the end of unpoisioning the shadow
+ * If there is no barrier between the end of unpoisoning the shadow
* and the store of the result to p, the stores could be committed
* in a different order by CPU#0, and CPU#1 could erroneously observe
* poison in the shadow.
@@ -384,7 +384,7 @@ static int kasan_depopulate_vmalloc_pte(
* How does this work?
* -------------------
*
- * We have a region that is page aligned, labelled as A.
+ * We have a region that is page aligned, labeled as A.
* That might not map onto the shadow in a way that is page-aligned:
*
* start end
--- a/mm/kfence/report.c~mm-fix-typos-in-comments
+++ a/mm/kfence/report.c
@@ -263,6 +263,6 @@ void kfence_report_error(unsigned long a
if (panic_on_warn)
panic("panic_on_warn set ...\n");
- /* We encountered a memory unsafety error, taint the kernel! */
+ /* We encountered a memory safety error, taint the kernel! */
add_taint(TAINT_BAD_PAGE, LOCKDEP_STILL_OK);
}
--- a/mm/khugepaged.c~mm-fix-typos-in-comments
+++ a/mm/khugepaged.c
@@ -667,7 +667,7 @@ static int __collapse_huge_page_isolate(
*
* The page table that maps the page has been already unlinked
* from the page table tree and this process cannot get
- * an additinal pin on the page.
+ * an additional pin on the page.
*
* New pins can come later if the page is shared across fork,
* but not from this process. The other process cannot write to
--- a/mm/ksm.c~mm-fix-typos-in-comments
+++ a/mm/ksm.c
@@ -1065,7 +1065,7 @@ static int write_protect_page(struct vm_
/*
* Ok this is tricky, when get_user_pages_fast() run it doesn't
* take any lock, therefore the check that we are going to make
- * with the pagecount against the mapcount is racey and
+ * with the pagecount against the mapcount is racy and
* O_DIRECT can happen right after the check.
* So we clear the pte and flush the tlb before the check
* this assure us that no O_DIRECT can happen after the check
@@ -1435,7 +1435,7 @@ static struct page *stable_node_dup(stru
*/
*_stable_node = found;
/*
- * Just for robustneess as stable_node is
+ * Just for robustness, as stable_node is
* otherwise left as a stable pointer, the
* compiler shall optimize it away at build
* time.
--- a/mm/madvise.c~mm-fix-typos-in-comments
+++ a/mm/madvise.c
@@ -799,7 +799,7 @@ static long madvise_dontneed_free(struct
if (end > vma->vm_end) {
/*
* Don't fail if end > vma->vm_end. If the old
- * vma was splitted while the mmap_lock was
+ * vma was split while the mmap_lock was
* released the effect of the concurrent
* operation may not cause madvise() to
* have an undefined result. There may be an
@@ -1039,7 +1039,7 @@ process_madvise_behavior_valid(int behav
* MADV_DODUMP - cancel MADV_DONTDUMP: no longer exclude from core dump.
* MADV_COLD - the application is not expected to use this memory soon,
* deactivate pages in this range so that they can be reclaimed
- * easily if memory pressure hanppens.
+ * easily if memory pressure happens.
* MADV_PAGEOUT - the application is not expected to use this memory soon,
* page out the pages in this range immediately.
*
--- a/mm/memcontrol.c~mm-fix-typos-in-comments
+++ a/mm/memcontrol.c
@@ -215,7 +215,7 @@ enum res_type {
#define MEMFILE_PRIVATE(x, val) ((x) << 16 | (val))
#define MEMFILE_TYPE(val) ((val) >> 16 & 0xffff)
#define MEMFILE_ATTR(val) ((val) & 0xffff)
-/* Used for OOM nofiier */
+/* Used for OOM notifier */
#define OOM_CONTROL (0)
/*
@@ -786,7 +786,7 @@ void __mod_lruvec_kmem_state(void *p, en
* __count_memcg_events - account VM events in a cgroup
* @memcg: the memory cgroup
* @idx: the event item
- * @count: the number of events that occured
+ * @count: the number of events that occurred
*/
void __count_memcg_events(struct mem_cgroup *memcg, enum vm_event_item idx,
unsigned long count)
@@ -904,7 +904,7 @@ struct mem_cgroup *get_mem_cgroup_from_m
rcu_read_lock();
do {
/*
- * Page cache insertions can happen withou an
+ * Page cache insertions can happen without an
* actual mm context, e.g. during disk probing
* on boot, loopback IO, acct() writes etc.
*/
@@ -1712,7 +1712,7 @@ static void mem_cgroup_unmark_under_oom(
struct mem_cgroup *iter;
/*
- * Be careful about under_oom underflows becase a child memcg
+ * Be careful about under_oom underflows because a child memcg
* could have been added after mem_cgroup_mark_under_oom.
*/
spin_lock(&memcg_oom_lock);
@@ -1884,7 +1884,7 @@ bool mem_cgroup_oom_synchronize(bool han
/*
* There is no guarantee that an OOM-lock contender
* sees the wakeups triggered by the OOM kill
- * uncharges. Wake any sleepers explicitely.
+ * uncharges. Wake any sleepers explicitly.
*/
memcg_oom_recover(memcg);
}
@@ -4364,7 +4364,7 @@ void mem_cgroup_wb_stats(struct bdi_writ
* Foreign dirty flushing
*
* There's an inherent mismatch between memcg and writeback. The former
- * trackes ownership per-page while the latter per-inode. This was a
+ * tracks ownership per-page while the latter per-inode. This was a
* deliberate design decision because honoring per-page ownership in the
* writeback path is complicated, may lead to higher CPU and IO overheads
* and deemed unnecessary given that write-sharing an inode across
@@ -4379,9 +4379,9 @@ void mem_cgroup_wb_stats(struct bdi_writ
* triggering background writeback. A will be slowed down without a way to
* make writeback of the dirty pages happen.
*
- * Conditions like the above can lead to a cgroup getting repatedly and
+ * Conditions like the above can lead to a cgroup getting repeatedly and
* severely throttled after making some progress after each
- * dirty_expire_interval while the underyling IO device is almost
+ * dirty_expire_interval while the underlying IO device is almost
* completely idle.
*
* Solving this problem completely requires matching the ownership tracking
@@ -5774,7 +5774,7 @@ static int mem_cgroup_can_attach(struct
return 0;
/*
- * We are now commited to this value whatever it is. Changes in this
+ * We are now committed to this value whatever it is. Changes in this
* tunable will only affect upcoming migrations, not the current one.
* So we need to save it, and keep it going.
*/
--- a/mm/memory.c~mm-fix-typos-in-comments
+++ a/mm/memory.c
@@ -3727,7 +3727,7 @@ vm_fault_t do_set_pmd(struct vm_fault *v
return ret;
/*
- * Archs like ppc64 need additonal space to store information
+ * Archs like ppc64 need additional space to store information
* related to pte entry. Use the preallocated table for that.
*/
if (arch_needs_pgtable_deposit() && !vmf->prealloc_pte) {
@@ -4503,7 +4503,7 @@ retry_pud:
}
/**
- * mm_account_fault - Do page fault accountings
+ * mm_account_fault - Do page fault accounting
*
* @regs: the pt_regs struct pointer. When set to NULL, will skip accounting
* of perf event counters, but we'll still do the per-task accounting to
@@ -4512,9 +4512,9 @@ retry_pud:
* @flags: the fault flags.
* @ret: the fault retcode.
*
- * This will take care of most of the page fault accountings. Meanwhile, it
+ * This will take care of most of the page fault accounting. Meanwhile, it
* will also include the PERF_COUNT_SW_PAGE_FAULTS_[MAJ|MIN] perf counter
- * updates. However note that the handling of PERF_COUNT_SW_PAGE_FAULTS should
+ * updates. However, note that the handling of PERF_COUNT_SW_PAGE_FAULTS should
* still be in per-arch page fault handlers at the entry of page fault.
*/
static inline void mm_account_fault(struct pt_regs *regs,
@@ -4848,7 +4848,7 @@ out:
/**
* generic_access_phys - generic implementation for iomem mmap access
* @vma: the vma to access
- * @addr: userspace addres, not relative offset within @vma
+ * @addr: userspace address, not relative offset within @vma
* @buf: buffer to read/write
* @len: length of transfer
* @write: set to FOLL_WRITE when writing, otherwise reading
--- a/mm/memory-failure.c~mm-fix-typos-in-comments
+++ a/mm/memory-failure.c
@@ -75,7 +75,7 @@ static bool page_handle_poison(struct pa
if (dissolve_free_huge_page(page) || !take_page_off_buddy(page))
/*
* We could fail to take off the target page from buddy
- * for example due to racy page allocaiton, but that's
+ * for example due to racy page allocation, but that's
* acceptable because soft-offlined page is not broken
* and if someone really want to use it, they should
* take it.
--- a/mm/mempolicy.c~mm-fix-typos-in-comments
+++ a/mm/mempolicy.c
@@ -1867,7 +1867,7 @@ static int apply_policy_zone(struct memp
* we apply policy when gfp_zone(gfp) = ZONE_MOVABLE only.
*
* policy->v.nodes is intersect with node_states[N_MEMORY].
- * so if the following test faile, it implies
+ * so if the following test fails, it implies
* policy->v.nodes has movable memory only.
*/
if (!nodes_intersects(policy->v.nodes, node_states[N_HIGH_MEMORY]))
@@ -2098,7 +2098,7 @@ bool init_nodemask_of_mempolicy(nodemask
*
* If tsk's mempolicy is "default" [NULL], return 'true' to indicate default
* policy. Otherwise, check for intersection between mask and the policy
- * nodemask for 'bind' or 'interleave' policy. For 'perferred' or 'local'
+ * nodemask for 'bind' or 'interleave' policy. For 'preferred' or 'local'
* policy, always return true since it may allocate elsewhere on fallback.
*
* Takes task_lock(tsk) to prevent freeing of its mempolicy.
--- a/mm/migrate.c~mm-fix-typos-in-comments
+++ a/mm/migrate.c
@@ -2779,11 +2779,11 @@ restore:
*
* For empty entries inside CPU page table (pte_none() or pmd_none() is true) we
* do set MIGRATE_PFN_MIGRATE flag inside the corresponding source array thus
- * allowing the caller to allocate device memory for those unback virtual
- * address. For this the caller simply has to allocate device memory and
+ * allowing the caller to allocate device memory for those unbacked virtual
+ * addresses. For this the caller simply has to allocate device memory and
* properly set the destination entry like for regular migration. Note that
- * this can still fails and thus inside the device driver must check if the
- * migration was successful for those entries after calling migrate_vma_pages()
+ * this can still fail, and thus inside the device driver you must check if the
+ * migration was successful for those entries after calling migrate_vma_pages(),
* just like for regular migration.
*
* After that, the callers must call migrate_vma_pages() to go over each entry
--- a/mm/mmap.c~mm-fix-typos-in-comments
+++ a/mm/mmap.c
@@ -612,7 +612,7 @@ static unsigned long count_vma_pages_ran
unsigned long nr_pages = 0;
struct vm_area_struct *vma;
- /* Find first overlaping mapping */
+ /* Find first overlapping mapping */
vma = find_vma_intersection(mm, addr, end);
if (!vma)
return 0;
@@ -2875,7 +2875,7 @@ int __do_munmap(struct mm_struct *mm, un
if (unlikely(uf)) {
/*
* If userfaultfd_unmap_prep returns an error the vmas
- * will remain splitted, but userland will get a
+ * will remain split, but userland will get a
* highly unexpected error anyway. This is no
* different than the case where the first of the two
* __split_vma fails, but we don't undo the first
--- a/mm/mprotect.c~mm-fix-typos-in-comments
+++ a/mm/mprotect.c
@@ -699,7 +699,7 @@ SYSCALL_DEFINE1(pkey_free, int, pkey)
mmap_write_unlock(current->mm);
/*
- * We could provie warnings or errors if any VMA still
+ * We could provide warnings or errors if any VMA still
* has the pkey set here.
*/
return ret;
--- a/mm/mremap.c~mm-fix-typos-in-comments
+++ a/mm/mremap.c
@@ -730,7 +730,7 @@ static unsigned long mremap_to(unsigned
* So, to avoid such scenario we can pre-compute if the whole
* operation has high chances to success map-wise.
* Worst-scenario case is when both vma's (new_addr and old_addr) get
- * split in 3 before unmaping it.
+ * split in 3 before unmapping it.
* That means 2 more maps (1 for each) to the ones we already hold.
* Check whether current map count plus 2 still leads us to 4 maps below
* the threshold, otherwise return -ENOMEM here to be more safe.
--- a/mm/oom_kill.c~mm-fix-typos-in-comments
+++ a/mm/oom_kill.c
@@ -74,7 +74,7 @@ static inline bool is_memcg_oom(struct o
#ifdef CONFIG_NUMA
/**
- * oom_cpuset_eligible() - check task eligiblity for kill
+ * oom_cpuset_eligible() - check task eligibility for kill
* @start: task struct of which task to consider
* @oc: pointer to struct oom_control
*
--- a/mm/page_alloc.c~mm-fix-typos-in-comments
+++ a/mm/page_alloc.c
@@ -893,7 +893,7 @@ compaction_capture(struct capture_contro
return false;
/*
- * Do not let lower order allocations polluate a movable pageblock.
+ * Do not let lower order allocations pollute a movable pageblock.
* This might let an unmovable request use a reclaimable pageblock
* and vice-versa but no more than normal fallback logic which can
* have trouble finding a high-order free page.
@@ -2776,7 +2776,7 @@ static bool unreserve_highatomic_pageblo
/*
* In page freeing path, migratetype change is racy so
* we can counter several free pages in a pageblock
- * in this loop althoug we changed the pageblock type
+ * in this loop although we changed the pageblock type
* from highatomic to ac->migratetype. So we should
* adjust the count once.
*/
@@ -3080,7 +3080,7 @@ static void drain_local_pages_wq(struct
* drain_all_pages doesn't use proper cpu hotplug protection so
* we can race with cpu offline when the WQ can move this from
* a cpu pinned worker to an unbound one. We can operate on a different
- * cpu which is allright but we also have to make sure to not move to
+ * cpu which is alright but we also have to make sure to not move to
* a different one.
*/
preempt_disable();
@@ -5929,7 +5929,7 @@ static int build_zonerefs_node(pg_data_t
static int __parse_numa_zonelist_order(char *s)
{
/*
- * We used to support different zonlists modes but they turned
+ * We used to support different zonelists modes but they turned
* out to be just not useful. Let's keep the warning in place
* if somebody still use the cmd line parameter so that we do
* not fail it silently
@@ -7670,7 +7670,7 @@ static void check_for_memory(pg_data_t *
}
/*
- * Some architecturs, e.g. ARC may have ZONE_HIGHMEM below ZONE_NORMAL. For
+ * Some architectures, e.g. ARC may have ZONE_HIGHMEM below ZONE_NORMAL. For
* such cases we allow max_zone_pfn sorted in the descending order
*/
bool __weak arch_has_descending_max_zone_pfns(void)
@@ -8728,7 +8728,7 @@ static int __alloc_contig_migrate_range(
* alloc_contig_range() -- tries to allocate given range of pages
* @start: start PFN to allocate
* @end: one-past-the-last PFN to allocate
- * @migratetype: migratetype of the underlaying pageblocks (either
+ * @migratetype: migratetype of the underlying pageblocks (either
* #MIGRATE_MOVABLE or #MIGRATE_CMA). All pageblocks
* in range must have the same migratetype and it must
* be either of the two.
@@ -8988,7 +8988,7 @@ EXPORT_SYMBOL(free_contig_range);
/*
* The zone indicated has a new number of managed_pages; batch sizes and percpu
- * page high values need to be recalulated.
+ * page high values need to be recalculated.
*/
void __meminit zone_pcp_update(struct zone *zone)
{
--- a/mm/page_owner.c~mm-fix-typos-in-comments
+++ a/mm/page_owner.c
@@ -233,7 +233,7 @@ void __copy_page_owner(struct page *oldp
/*
* We don't clear the bit on the oldpage as it's going to be freed
* after migration. Until then, the info can be useful in case of
- * a bug, and the overal stats will be off a bit only temporarily.
+ * a bug, and the overall stats will be off a bit only temporarily.
* Also, migrate_misplaced_transhuge_page() can still fail the
* migration and then we want the oldpage to retain the info. But
* in that case we also don't need to explicitly clear the info from
--- a/mm/page-writeback.c~mm-fix-typos-in-comments
+++ a/mm/page-writeback.c
@@ -1806,7 +1806,7 @@ pause:
break;
/*
- * In the case of an unresponding NFS server and the NFS dirty
+ * In the case of an unresponsive NFS server and the NFS dirty
* pages exceeds dirty_thresh, give the other good wb's a pipe
* to go through, so that tasks on them still remain responsive.
*
@@ -2216,7 +2216,7 @@ int write_cache_pages(struct address_spa
* Page truncated or invalidated. We can freely skip it
* then, even for data integrity operations: the page
* has disappeared concurrently, so there could be no
- * real expectation of this data interity operation
+ * real expectation of this data integrity operation
* even if there is now a new, dirty page at the same
* pagecache address.
*/
--- a/mm/percpu.c~mm-fix-typos-in-comments
+++ a/mm/percpu.c
@@ -1862,7 +1862,7 @@ fail:
pr_info("limit reached, disable warning\n");
}
if (is_atomic) {
- /* see the flag handling in pcpu_blance_workfn() */
+ /* see the flag handling in pcpu_balance_workfn() */
pcpu_atomic_alloc_failed = true;
pcpu_schedule_balance_work();
} else {
--- a/mm/percpu-internal.h~mm-fix-typos-in-comments
+++ a/mm/percpu-internal.h
@@ -170,7 +170,7 @@ struct percpu_stats {
u64 nr_max_alloc; /* max # of live allocations */
u32 nr_chunks; /* current # of live chunks */
u32 nr_max_chunks; /* max # of live chunks */
- size_t min_alloc_size; /* min allocaiton size */
+ size_t min_alloc_size; /* min allocation size */
size_t max_alloc_size; /* max allocation size */
};
--- a/mm/pgalloc-track.h~mm-fix-typos-in-comments
+++ a/mm/pgalloc-track.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _LINUX_PGALLLC_TRACK_H
-#define _LINUX_PGALLLC_TRACK_H
+#ifndef _LINUX_PGALLOC_TRACK_H
+#define _LINUX_PGALLOC_TRACK_H
#if defined(CONFIG_MMU)
static inline p4d_t *p4d_alloc_track(struct mm_struct *mm, pgd_t *pgd,
@@ -48,4 +48,4 @@ static inline pmd_t *pmd_alloc_track(str
(__pte_alloc_kernel(pmd) || ({*(mask)|=PGTBL_PMD_MODIFIED;0;})))?\
NULL: pte_offset_kernel(pmd, address))
-#endif /* _LINUX_PGALLLC_TRACK_H */
+#endif /* _LINUX_PGALLOC_TRACK_H */
--- a/mm/slab.c~mm-fix-typos-in-comments
+++ a/mm/slab.c
@@ -259,7 +259,7 @@ static void kmem_cache_node_init(struct
#define BATCHREFILL_LIMIT 16
/*
- * Optimization question: fewer reaps means less probability for unnessary
+ * Optimization question: fewer reaps means less probability for unnecessary
* cpucache drain/refill cycles.
*
* OTOH the cpuarrays can contain lots of objects,
@@ -2381,8 +2381,8 @@ union freelist_init_state {
};
/*
- * Initialize the state based on the randomization methode available.
- * return true if the pre-computed list is available, false otherwize.
+ * Initialize the state based on the randomization method available.
+ * return true if the pre-computed list is available, false otherwise.
*/
static bool freelist_state_initialize(union freelist_init_state *state,
struct kmem_cache *cachep,
--- a/mm/slub.c~mm-fix-typos-in-comments
+++ a/mm/slub.c
@@ -3403,7 +3403,7 @@ EXPORT_SYMBOL(kmem_cache_alloc_bulk);
*/
/*
- * Mininum / Maximum order of slab pages. This influences locking overhead
+ * Minimum / Maximum order of slab pages. This influences locking overhead
* and slab fragmentation. A higher order reduces the number of partial slabs
* and increases the number of allocations possible without having to
* take the list_lock.
--- a/mm/swap_slots.c~mm-fix-typos-in-comments
+++ a/mm/swap_slots.c
@@ -16,7 +16,7 @@
* to local caches without needing to acquire swap_info
* lock. We do not reuse the returned slots directly but
* move them back to the global pool in a batch. This
- * allows the slots to coaellesce and reduce fragmentation.
+ * allows the slots to coalesce and reduce fragmentation.
*
* The swap entry allocated is marked with SWAP_HAS_CACHE
* flag in map_count that prevents it from being allocated
--- a/mm/vmalloc.c~mm-fix-typos-in-comments
+++ a/mm/vmalloc.c
@@ -1583,7 +1583,7 @@ static unsigned long lazy_max_pages(void
static atomic_long_t vmap_lazy_nr = ATOMIC_LONG_INIT(0);
/*
- * Serialize vmap purging. There is no actual criticial section protected
+ * Serialize vmap purging. There is no actual critical section protected
* by this look, but we want to avoid concurrent calls for performance
* reasons and to make the pcpu_get_vm_areas more deterministic.
*/
@@ -2628,7 +2628,7 @@ static void __vfree(const void *addr)
* May sleep if called *not* from interrupt context.
* Must not be called in NMI context (strictly speaking, it could be
* if we have CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG, but making the calling
- * conventions for vfree() arch-depenedent would be a really bad idea).
+ * conventions for vfree() arch-dependent would be a really bad idea).
*/
void vfree(const void *addr)
{
@@ -3141,7 +3141,7 @@ static int aligned_vread(char *buf, char
/*
* To do safe access to this _mapped_ area, we need
* lock. But adding lock here means that we need to add
- * overhead of vmalloc()/vfree() calles for this _debug_
+ * overhead of vmalloc()/vfree() calls for this _debug_
* interface, rarely used. Instead of that, we'll use
* kmap() and get small overhead in this access function.
*/
--- a/mm/vmstat.c~mm-fix-typos-in-comments
+++ a/mm/vmstat.c
@@ -934,7 +934,7 @@ void cpu_vm_stats_fold(int cpu)
/*
* this is only called if !populated_zone(zone), which implies no other users of
- * pset->vm_stat_diff[] exsist.
+ * pset->vm_stat_diff[] exist.
*/
void drain_zonestat(struct zone *zone, struct per_cpu_pageset *pset)
{
--- a/mm/zpool.c~mm-fix-typos-in-comments
+++ a/mm/zpool.c
@@ -336,7 +336,7 @@ int zpool_shrink(struct zpool *zpool, un
* This may hold locks, disable interrupts, and/or preemption,
* and the zpool_unmap_handle() must be called to undo those
* actions. The code that uses the mapped handle should complete
- * its operatons on the mapped handle memory quickly and unmap
+ * its operations on the mapped handle memory quickly and unmap
* as soon as possible. As the implementation may use per-cpu
* data, multiple handles should not be mapped concurrently on
* any cpu.
--- a/mm/zsmalloc.c~mm-fix-typos-in-comments
+++ a/mm/zsmalloc.c
@@ -1227,7 +1227,7 @@ EXPORT_SYMBOL_GPL(zs_get_total_pages);
* zs_map_object - get address of allocated object from handle.
* @pool: pool from which the object was allocated
* @handle: handle returned from zs_malloc
- * @mm: maping mode to use
+ * @mm: mapping mode to use
*
* Before using an object allocated from zs_malloc, it must be mapped using
* this function. When done with the object, it must be unmapped using
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* [patch 91/91] mm: fix typos in comments
2021-05-07 1:01 incoming Andrew Morton
` (89 preceding siblings ...)
2021-05-07 1:06 ` [patch 90/91] mm: fix typos in comments Andrew Morton
@ 2021-05-07 1:06 ` Andrew Morton
2021-05-07 7:12 ` incoming Linus Torvalds
91 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-07 1:06 UTC (permalink / raw)
To: akpm, linux-mm, lujialin4, mm-commits, torvalds
From: Lu Jialin <lujialin4@huawei.com>
Subject: mm: fix typos in comments
succed -> succeed in mm/hugetlb.c
wil -> will in mm/mempolicy.c
wit -> with in mm/page_alloc.c
Retruns -> Returns in mm/page_vma_mapped.c
confict -> conflict in mm/secretmem.c
No functionality changed.
Link: https://lkml.kernel.org/r/20210408140027.60623-1-lujialin4@huawei.com
Signed-off-by: Lu Jialin <lujialin4@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/mempolicy.c | 2 +-
mm/page_alloc.c | 2 +-
mm/page_vma_mapped.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
--- a/mm/mempolicy.c~mm-fix-typos-in-comments-2
+++ a/mm/mempolicy.c
@@ -994,7 +994,7 @@ static long do_get_mempolicy(int *policy
if (flags & MPOL_F_ADDR) {
/*
* Take a refcount on the mpol, lookup_node()
- * wil drop the mmap_lock, so after calling
+ * will drop the mmap_lock, so after calling
* lookup_node() only "pol" remains valid, "vma"
* is stale.
*/
--- a/mm/page_alloc.c~mm-fix-typos-in-comments-2
+++ a/mm/page_alloc.c
@@ -4173,7 +4173,7 @@ out:
}
/*
- * Maximum number of compaction retries wit a progress before OOM
+ * Maximum number of compaction retries with a progress before OOM
* killer is consider as the only way to move forward.
*/
#define MAX_COMPACT_RETRIES 16
--- a/mm/page_vma_mapped.c~mm-fix-typos-in-comments-2
+++ a/mm/page_vma_mapped.c
@@ -134,7 +134,7 @@ static bool check_pte(struct page_vma_ma
* regardless of which page table level the page is mapped at. @pvmw->pmd is
* NULL.
*
- * Retruns false if there are no more page table entries for the page in
+ * Returns false if there are no more page table entries for the page in
* the vma. @pvmw->ptl is unlocked and @pvmw->pte is unmapped.
*
* If you need to stop the walk before page_vma_mapped_walk() returned false,
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-07 1:01 incoming Andrew Morton
` (90 preceding siblings ...)
2021-05-07 1:06 ` [patch 91/91] " Andrew Morton
@ 2021-05-07 7:12 ` Linus Torvalds
91 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2021-05-07 7:12 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Thu, May 6, 2021 at 6:01 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> I've been wobbly about the secretmem patches due to doubts about
> whether the feature is sufficiently useful to justify inclusion, but
> developers are now weighing in with helpful information and I've asked Mike
> for an extensively updated [0/n] changelog. This will take a few days
> to play out so it is possible that I will prevail upon you for a post-rc1
> merge.
Oh, much too late for this release by now.
> If that's a problem, there's always 5.13-rc1.
5.13-rc1 is two days from now, it would be for 5.14-rc1.. How time -
and version numbers - fly.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-27 19:41 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-04-27 19:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
2 patches, based on d615b5416f8a1afeb82d13b238f8152c572d59c0.
Subsystems affected by this patch series:
mm/kasan
mm/debug
Subsystem: mm/kasan
Zqiang <qiang1.zhang@intel.com>:
kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time
Subsystem: mm/debug
Akira Yokosawa <akiyks@gmail.com>:
docs: vm/page_owner: use literal blocks for param description
Documentation/vm/page_owner.rst | 5 +++--
mm/kasan/quarantine.c | 7 +++++++
2 files changed, 10 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-21 23:35 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-04-21 23:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
13 patches, based on b253435746d9a4a701b5f09211b9c14d3370d0da.
Subsystems affected by this patch series:
mm/memory-failure
mm/memcg
mm/userfaultfd
mm/hugetlbfs
mm/mremap
mm/oom-kill
mm/kasan
kcov
mm/hmm
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/hwpoison: fix race between hugetlb free/demotion and memory_failure_hugetlb()
Xu Yu <xuyu@linux.alibaba.com>:
mm/memory-failure.c: skip huge_zero_page in memory_failure()
Subsystem: mm/memcg
Shakeel Butt <shakeelb@google.com>:
memcg: sync flush only if periodic flush is delayed
Subsystem: mm/userfaultfd
Nadav Amit <namit@vmware.com>:
userfaultfd: mark uffd_wp regardless of VM_WRITE flag
Subsystem: mm/hugetlbfs
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm, hugetlb: allow for "high" userspace addresses
Subsystem: mm/mremap
Sidhartha Kumar <sidhartha.kumar@oracle.com>:
selftest/vm: verify mmap addr in mremap_test
selftest/vm: verify remap destination address in mremap_test
selftest/vm: support xfail in mremap_test
selftest/vm: add skip support to mremap_test
Subsystem: mm/oom-kill
Nico Pache <npache@redhat.com>:
oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup
Subsystem: mm/kasan
Vincenzo Frascino <vincenzo.frascino@arm.com>:
MAINTAINERS: add Vincenzo Frascino to KASAN reviewers
Subsystem: kcov
Aleksandr Nogikh <nogikh@google.com>:
kcov: don't generate a warning on vm_insert_page()'s failure
Subsystem: mm/hmm
Alistair Popple <apopple@nvidia.com>:
mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove()
MAINTAINERS | 1
fs/hugetlbfs/inode.c | 9 -
include/linux/hugetlb.h | 6 +
include/linux/memcontrol.h | 5
include/linux/mm.h | 8 +
include/linux/sched.h | 1
include/linux/sched/mm.h | 8 +
kernel/kcov.c | 7 -
mm/hugetlb.c | 10 +
mm/memcontrol.c | 12 ++
mm/memory-failure.c | 158 ++++++++++++++++++++++--------
mm/mmap.c | 8 -
mm/mmu_notifier.c | 14 ++
mm/oom_kill.c | 54 +++++++---
mm/userfaultfd.c | 15 +-
mm/workingset.c | 2
tools/testing/selftests/vm/mremap_test.c | 85 +++++++++++++++-
tools/testing/selftests/vm/run_vmtests.sh | 11 +-
18 files changed, 327 insertions(+), 87 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-15 2:12 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-04-15 2:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
14 patches, based on 115acbb56978941bb7537a97dfc303da286106c1.
Subsystems affected by this patch series:
MAINTAINERS
mm/tmpfs
m/secretmem
mm/kasan
mm/kfence
mm/pagealloc
mm/zram
mm/compaction
mm/hugetlb
binfmt
mm/vmalloc
mm/kmemleak
Subsystem: MAINTAINERS
Joe Perches <joe@perches.com>:
MAINTAINERS: Broadcom internal lists aren't maintainers
Subsystem: mm/tmpfs
Hugh Dickins <hughd@google.com>:
tmpfs: fix regressions from wider use of ZERO_PAGE
Subsystem: m/secretmem
Axel Rasmussen <axelrasmussen@google.com>:
mm/secretmem: fix panic when growing a memfd_secret
Subsystem: mm/kasan
Zqiang <qiang1.zhang@intel.com>:
irq_work: use kasan_record_aux_stack_noalloc() record callstack
Vincenzo Frascino <vincenzo.frascino@arm.com>:
kasan: fix hw tags enablement when KUNIT tests are disabled
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
mm, kfence: support kmem_dump_obj() for KFENCE objects
Subsystem: mm/pagealloc
Juergen Gross <jgross@suse.com>:
mm, page_alloc: fix build_zonerefs_node()
Subsystem: mm/zram
Minchan Kim <minchan@kernel.org>:
mm: fix unexpected zeroed page mapping with zram swap
Subsystem: mm/compaction
Charan Teja Kalla <quic_charante@quicinc.com>:
mm: compaction: fix compiler warning when CONFIG_COMPACTION=n
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: do not demote poisoned hugetlb pages
Subsystem: binfmt
Andrew Morton <akpm@linux-foundation.org>:
revert "fs/binfmt_elf: fix PT_LOAD p_align values for loaders"
revert "fs/binfmt_elf: use PT_LOAD p_align values for static PIE"
Subsystem: mm/vmalloc
Omar Sandoval <osandov@fb.com>:
mm/vmalloc: fix spinning drain_vmap_work after reading from /proc/vmcore
Subsystem: mm/kmemleak
Patrick Wang <patrick.wang.shcn@gmail.com>:
mm: kmemleak: take a full lowmem check in kmemleak_*_phys()
MAINTAINERS | 64 ++++++++++++++++++++--------------------
arch/x86/include/asm/io.h | 2 -
arch/x86/kernel/crash_dump_64.c | 1
fs/binfmt_elf.c | 6 +--
include/linux/kfence.h | 24 +++++++++++++++
kernel/irq_work.c | 2 -
mm/compaction.c | 10 +++---
mm/filemap.c | 6 ---
mm/hugetlb.c | 17 ++++++----
mm/kasan/hw_tags.c | 5 +--
mm/kasan/kasan.h | 10 +++---
mm/kfence/core.c | 21 -------------
mm/kfence/kfence.h | 21 +++++++++++++
mm/kfence/report.c | 47 +++++++++++++++++++++++++++++
mm/kmemleak.c | 8 ++---
mm/page_alloc.c | 2 -
mm/page_io.c | 54 ---------------------------------
mm/secretmem.c | 17 ++++++++++
mm/shmem.c | 31 ++++++++++++-------
mm/slab.c | 2 -
mm/slab.h | 2 -
mm/slab_common.c | 9 +++++
mm/slob.c | 2 -
mm/slub.c | 2 -
mm/vmalloc.c | 11 ------
25 files changed, 207 insertions(+), 169 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-08 20:08 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-04-08 20:08 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
9 patches, based on d00c50b35101b862c3db270ffeba53a63a1063d9.
Subsystems affected by this patch series:
mm/migration
mm/highmem
lz4
mm/sparsemem
mm/mremap
mm/mempolicy
mailmap
mm/memcg
MAINTAINERS
Subsystem: mm/migration
Zi Yan <ziy@nvidia.com>:
mm: migrate: use thp_order instead of HPAGE_PMD_ORDER for new page allocation.
Subsystem: mm/highmem
Max Filippov <jcmvbkbc@gmail.com>:
highmem: fix checks in __kmap_local_sched_{in,out}
Subsystem: lz4
Guo Xuenan <guoxuenan@huawei.com>:
lz4: fix LZ4_decompress_safe_partial read out of bound
Subsystem: mm/sparsemem
Waiman Long <longman@redhat.com>:
mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning
Subsystem: mm/mremap
Paolo Bonzini <pbonzini@redhat.com>:
mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
Subsystem: mm/mempolicy
Miaohe Lin <linmiaohe@huawei.com>:
mm/mempolicy: fix mpol_new leak in shared_policy_replace
Subsystem: mailmap
Vasily Averin <vasily.averin@linux.dev>:
mailmap: update Vasily Averin's email address
Subsystem: mm/memcg
Andrew Morton <akpm@linux-foundation.org>:
mm/list_lru.c: revert "mm/list_lru: optimize memcg_reparent_list_lru_node()"
Subsystem: MAINTAINERS
Tom Rix <trix@redhat.com>:
MAINTAINERS: add Tom as clang reviewer
.mailmap | 4 ++++
MAINTAINERS | 1 +
include/linux/mmzone.h | 11 +++++++----
lib/lz4/lz4_decompress.c | 8 ++++++--
mm/highmem.c | 4 ++--
mm/list_lru.c | 6 ------
mm/mempolicy.c | 3 ++-
mm/migrate.c | 2 +-
mm/mremap.c | 3 +++
9 files changed, 26 insertions(+), 16 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-01 18:27 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-04-01 18:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
16 patches, based on e8b767f5e04097aaedcd6e06e2270f9fe5282696.
Subsystems affected by this patch series:
mm/madvise
ofs2
nilfs2
mm/mlock
mm/mfence
mailmap
mm/memory-failure
mm/kasan
mm/debug
mm/kmemleak
mm/damon
Subsystem: mm/madvise
Charan Teja Kalla <quic_charante@quicinc.com>:
Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
Subsystem: ofs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: fix crash when mount with quota enabled
Subsystem: nilfs2
Ryusuke Konishi <konishi.ryusuke@gmail.com>:
Patch series "nilfs2 lockdep warning fixes":
nilfs2: fix lockdep warnings in page operations for btree nodes
nilfs2: fix lockdep warnings during disk space reclamation
nilfs2: get rid of nilfs_mapping_init()
Subsystem: mm/mlock
Hugh Dickins <hughd@google.com>:
mm/munlock: add lru_add_drain() to fix memcg_stat_test
mm/munlock: update Documentation/vm/unevictable-lru.rst
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/munlock: protect the per-CPU pagevec by a local_lock_t
Subsystem: mm/kfence
Muchun Song <songmuchun@bytedance.com>:
mm: kfence: fix objcgs vector allocation
Subsystem: mailmap
Kirill Tkhai <kirill.tkhai@openvz.org>:
mailmap: update Kirill's email
Subsystem: mm/memory-failure
Rik van Riel <riel@surriel.com>:
mm,hwpoison: unmap poisoned page before invalidation
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
mm, kasan: fix __GFP_BITS_SHIFT definition breaking LOCKDEP
Subsystem: mm/debug
Yinan Zhang <zhangyinan2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: remove -c option
doc/vm/page_owner.rst: remove content related to -c option
Subsystem: mm/kmemleak
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
mm/kmemleak: reset tag when compare object pointer
Subsystem: mm/damon
Jonghyeon Kim <tome01@ajou.ac.kr>:
mm/damon: prevent activated scheme from sleeping by deactivated schemes
.mailmap | 1
Documentation/vm/page_owner.rst | 1
Documentation/vm/unevictable-lru.rst | 473 +++++++++++++++--------------------
fs/nilfs2/btnode.c | 23 +
fs/nilfs2/btnode.h | 1
fs/nilfs2/btree.c | 27 +
fs/nilfs2/dat.c | 4
fs/nilfs2/gcinode.c | 7
fs/nilfs2/inode.c | 167 +++++++++++-
fs/nilfs2/mdt.c | 45 ++-
fs/nilfs2/mdt.h | 6
fs/nilfs2/nilfs.h | 16 -
fs/nilfs2/page.c | 16 -
fs/nilfs2/page.h | 1
fs/nilfs2/segment.c | 9
fs/nilfs2/super.c | 5
fs/ocfs2/quota_global.c | 23 -
fs/ocfs2/quota_local.c | 2
include/linux/gfp.h | 4
mm/damon/core.c | 5
mm/gup.c | 10
mm/internal.h | 6
mm/kfence/core.c | 11
mm/kfence/kfence.h | 3
mm/kmemleak.c | 9
mm/madvise.c | 9
mm/memory.c | 12
mm/migrate.c | 2
mm/mlock.c | 46 ++-
mm/page_alloc.c | 1
mm/rmap.c | 4
mm/swap.c | 4
tools/vm/page_owner_sort.c | 6
33 files changed, 560 insertions(+), 399 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-04-01 18:20 Andrew Morton
2022-04-01 18:27 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2022-04-01 18:20 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
16 patches, based on e8b767f5e04097aaedcd6e06e2270f9fe5282696.
Subsystems affected by this patch series:
mm/madvise
ofs2
nilfs2
mm/mlock
mm/mfence
mailmap
mm/memory-failure
mm/kasan
mm/debug
mm/kmemleak
mm/damon
Subsystem: mm/madvise
Charan Teja Kalla <quic_charante@quicinc.com>:
Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
Subsystem: ofs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: fix crash when mount with quota enabled
Subsystem: nilfs2
Ryusuke Konishi <konishi.ryusuke@gmail.com>:
Patch series "nilfs2 lockdep warning fixes":
nilfs2: fix lockdep warnings in page operations for btree nodes
nilfs2: fix lockdep warnings during disk space reclamation
nilfs2: get rid of nilfs_mapping_init()
Subsystem: mm/mlock
Hugh Dickins <hughd@google.com>:
mm/munlock: add lru_add_drain() to fix memcg_stat_test
mm/munlock: update Documentation/vm/unevictable-lru.rst
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/munlock: protect the per-CPU pagevec by a local_lock_t
Subsystem: mm/kfence
Muchun Song <songmuchun@bytedance.com>:
mm: kfence: fix objcgs vector allocation
Subsystem: mailmap
Kirill Tkhai <kirill.tkhai@openvz.org>:
mailmap: update Kirill's email
Subsystem: mm/memory-failure
Rik van Riel <riel@surriel.com>:
mm,hwpoison: unmap poisoned page before invalidation
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
mm, kasan: fix __GFP_BITS_SHIFT definition breaking LOCKDEP
Subsystem: mm/debug
Yinan Zhang <zhangyinan2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: remove -c option
doc/vm/page_owner.rst: remove content related to -c option
Subsystem: mm/kmemleak
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
mm/kmemleak: reset tag when compare object pointer
Subsystem: mm/damon
Jonghyeon Kim <tome01@ajou.ac.kr>:
mm/damon: prevent activated scheme from sleeping by deactivated schemes
.mailmap | 1
Documentation/vm/page_owner.rst | 1
Documentation/vm/unevictable-lru.rst | 473 +++++++++++++++--------------------
fs/nilfs2/btnode.c | 23 +
fs/nilfs2/btnode.h | 1
fs/nilfs2/btree.c | 27 +
fs/nilfs2/dat.c | 4
fs/nilfs2/gcinode.c | 7
fs/nilfs2/inode.c | 167 +++++++++++-
fs/nilfs2/mdt.c | 45 ++-
fs/nilfs2/mdt.h | 6
fs/nilfs2/nilfs.h | 16 -
fs/nilfs2/page.c | 16 -
fs/nilfs2/page.h | 1
fs/nilfs2/segment.c | 9
fs/nilfs2/super.c | 5
fs/ocfs2/quota_global.c | 23 -
fs/ocfs2/quota_local.c | 2
include/linux/gfp.h | 4
mm/damon/core.c | 5
mm/gup.c | 10
mm/internal.h | 6
mm/kfence/core.c | 11
mm/kfence/kfence.h | 3
mm/kmemleak.c | 9
mm/madvise.c | 9
mm/memory.c | 12
mm/migrate.c | 2
mm/mlock.c | 46 ++-
mm/page_alloc.c | 1
mm/rmap.c | 4
mm/swap.c | 4
tools/vm/page_owner_sort.c | 6
33 files changed, 560 insertions(+), 399 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-03-25 1:07 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-03-25 1:07 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
This is the material which was staged after willystuff in linux-next.
Everything applied seamlessly on your latest, all looks well.
114 patches, based on 52deda9551a01879b3562e7b41748e85c591f14c.
Subsystems affected by this patch series:
mm/debug
mm/selftests
mm/pagecache
mm/thp
mm/rmap
mm/migration
mm/kasan
mm/hugetlb
mm/pagemap
mm/madvise
selftests
Subsystem: mm/debug
Sean Anderson <seanga2@gmail.com>:
tools/vm/page_owner_sort.c: sort by stacktrace before culling
tools/vm/page_owner_sort.c: support sorting by stack trace
Yinan Zhang <zhangyinan2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: add switch between culling by stacktrace and txt
Chongxi Zhao <zhaochongxi2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: support sorting pid and time
Shenghong Han <hanshenghong2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: two trivial fixes
Yixuan Cao <caoyixuan2019@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: delete invalid duplicate code
Shenghong Han <hanshenghong2019@email.szu.edu.cn>:
Documentation/vm/page_owner.rst: update the documentation
Shuah Khan <skhan@linuxfoundation.org>:
Documentation/vm/page_owner.rst: fix unexpected indentation warns
Waiman Long <longman@redhat.com>:
Patch series "mm/page_owner: Extend page_owner to show memcg information", v4:
lib/vsprintf: avoid redundant work with 0 size
mm/page_owner: use scnprintf() to avoid excessive buffer overrun check
mm/page_owner: print memcg information
mm/page_owner: record task command name
Yixuan Cao <caoyixuan2019@email.szu.edu.cn>:
mm/page_owner.c: record tgid
tools/vm/page_owner_sort.c: fix the instructions for use
Jiajian Ye <yejiajian2018@email.szu.edu.cn>:
tools/vm/page_owner_sort.c: fix comments
tools/vm/page_owner_sort.c: add a security check
tools/vm/page_owner_sort.c: support sorting by tgid and update documentation
tools/vm/page_owner_sort: fix three trivival places
tools/vm/page_owner_sort: support for sorting by task command name
tools/vm/page_owner_sort.c: support for selecting by PID, TGID or task command name
tools/vm/page_owner_sort.c: support for user-defined culling rules
Christoph Hellwig <hch@lst.de>:
mm: unexport page_init_poison
Subsystem: mm/selftests
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
selftest/vm: add util.h and and move helper functions there
Mike Rapoport <rppt@kernel.org>:
selftest/vm: add helpers to detect PAGE_SIZE and PAGE_SHIFT
Subsystem: mm/pagecache
Hugh Dickins <hughd@google.com>:
mm: delete __ClearPageWaiters()
mm: filemap_unaccount_folio() large skip mapcount fixup
Subsystem: mm/thp
Hugh Dickins <hughd@google.com>:
mm/thp: fix NR_FILE_MAPPED accounting in page_*_file_rmap()
Subsystem: mm/rmap
Subsystem: mm/migration
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/migration: Add trace events", v3:
mm/migration: add trace events for THP migrations
mm/migration: add trace events for base page and HugeTLB migrations
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan, vmalloc, arm64: add vmalloc tagging support for SW/HW_TAGS", v6:
kasan, page_alloc: deduplicate should_skip_kasan_poison
kasan, page_alloc: move tag_clear_highpage out of kernel_init_free_pages
kasan, page_alloc: merge kasan_free_pages into free_pages_prepare
kasan, page_alloc: simplify kasan_poison_pages call site
kasan, page_alloc: init memory of skipped pages on free
kasan: drop skip_kasan_poison variable in free_pages_prepare
mm: clarify __GFP_ZEROTAGS comment
kasan: only apply __GFP_ZEROTAGS when memory is zeroed
kasan, page_alloc: refactor init checks in post_alloc_hook
kasan, page_alloc: merge kasan_alloc_pages into post_alloc_hook
kasan, page_alloc: combine tag_clear_highpage calls in post_alloc_hook
kasan, page_alloc: move SetPageSkipKASanPoison in post_alloc_hook
kasan, page_alloc: move kernel_init_free_pages in post_alloc_hook
kasan, page_alloc: rework kasan_unpoison_pages call site
kasan: clean up metadata byte definitions
kasan: define KASAN_VMALLOC_INVALID for SW_TAGS
kasan, x86, arm64, s390: rename functions for modules shadow
kasan, vmalloc: drop outdated VM_KASAN comment
kasan: reorder vmalloc hooks
kasan: add wrappers for vmalloc hooks
kasan, vmalloc: reset tags in vmalloc functions
kasan, fork: reset pointer tags of vmapped stacks
kasan, arm64: reset pointer tags of vmapped stacks
kasan, vmalloc: add vmalloc tagging for SW_TAGS
kasan, vmalloc, arm64: mark vmalloc mappings as pgprot_tagged
kasan, vmalloc: unpoison VM_ALLOC pages after mapping
kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS
kasan, page_alloc: allow skipping unpoisoning for HW_TAGS
kasan, page_alloc: allow skipping memory init for HW_TAGS
kasan, vmalloc: add vmalloc tagging for HW_TAGS
kasan, vmalloc: only tag normal vmalloc allocations
kasan, arm64: don't tag executable vmalloc allocations
kasan: mark kasan_arg_stacktrace as __initdata
kasan: clean up feature flags for HW_TAGS mode
kasan: add kasan.vmalloc command line flag
kasan: allow enabling KASAN_VMALLOC and SW/HW_TAGS
arm64: select KASAN_VMALLOC for SW/HW_TAGS modes
kasan: documentation updates
kasan: improve vmalloc tests
kasan: test: support async (again) and asymm modes for HW_TAGS
tangmeng <tangmeng@uniontech.com>:
mm/kasan: remove unnecessary CONFIG_KASAN option
Peter Collingbourne <pcc@google.com>:
kasan: update function name in comments
Andrey Konovalov <andreyknvl@google.com>:
kasan: print virtual mapping info in reports
Patch series "kasan: report clean-ups and improvements":
kasan: drop addr check from describe_object_addr
kasan: more line breaks in reports
kasan: rearrange stack frame info in reports
kasan: improve stack frame info in reports
kasan: print basic stack frame info for SW_TAGS
kasan: simplify async check in end_report()
kasan: simplify kasan_update_kunit_status() and call sites
kasan: check CONFIG_KASAN_KUNIT_TEST instead of CONFIG_KUNIT
kasan: move update_kunit_status to start_report
kasan: move disable_trace_on_warning to start_report
kasan: split out print_report from __kasan_report
kasan: simplify kasan_find_first_bad_addr call sites
kasan: restructure kasan_report
kasan: merge __kasan_report into kasan_report
kasan: call print_report from kasan_report_invalid_free
kasan: move and simplify kasan_report_async
kasan: rename kasan_access_info to kasan_report_info
kasan: add comment about UACCESS regions to kasan_report
kasan: respect KASAN_BIT_REPORTED in all reporting routines
kasan: reorder reporting functions
kasan: move and hide kasan_save_enable/restore_multi_shot
kasan: disable LOCKDEP when printing reports
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "Add hugetlb MADV_DONTNEED support", v3:
mm: enable MADV_DONTNEED for hugetlb mappings
selftests/vm: add hugetlb madvise MADV_DONTNEED MADV_REMOVE test
userfaultfd/selftests: enable hugetlb remap and remove event testing
Miaohe Lin <linmiaohe@huawei.com>:
mm/huge_memory: make is_transparent_hugepage() static
Subsystem: mm/pagemap
David Hildenbrand <david@redhat.com>:
Patch series "mm: COW fixes part 1: fix the COW security issue for THP and swap", v3:
mm: optimize do_wp_page() for exclusive pages in the swapcache
mm: optimize do_wp_page() for fresh pages in local LRU pagevecs
mm: slightly clarify KSM logic in do_swap_page()
mm: streamline COW logic in do_swap_page()
mm/huge_memory: streamline COW logic in do_huge_pmd_wp_page()
mm/khugepaged: remove reuse_swap_page() usage
mm/swapfile: remove stale reuse_swap_page()
mm/huge_memory: remove stale page_trans_huge_mapcount()
mm/huge_memory: remove stale locking logic from __split_huge_pmd()
Hugh Dickins <hughd@google.com>:
mm: warn on deleting redirtied only if accounted
mm: unmap_mapping_range_tree() with i_mmap_rwsem shared
Anshuman Khandual <anshuman.khandual@arm.com>:
mm: generalize ARCH_HAS_FILTER_PGPROT
Subsystem: mm/madvise
Mauricio Faria de Oliveira <mfo@canonical.com>:
mm: fix race between MADV_FREE reclaim and blkdev direct IO read
Johannes Weiner <hannes@cmpxchg.org>:
mm: madvise: MADV_DONTNEED_LOCKED
Subsystem: selftests
Muhammad Usama Anjum <usama.anjum@collabora.com>:
selftests: vm: remove dependecy from internal kernel macros
Kees Cook <keescook@chromium.org>:
selftests: kselftest framework: provide "finished" helper
Documentation/dev-tools/kasan.rst | 17
Documentation/vm/page_owner.rst | 72 ++
arch/alpha/include/uapi/asm/mman.h | 2
arch/arm64/Kconfig | 2
arch/arm64/include/asm/vmalloc.h | 6
arch/arm64/include/asm/vmap_stack.h | 5
arch/arm64/kernel/module.c | 5
arch/arm64/mm/pageattr.c | 2
arch/arm64/net/bpf_jit_comp.c | 3
arch/mips/include/uapi/asm/mman.h | 2
arch/parisc/include/uapi/asm/mman.h | 2
arch/powerpc/mm/book3s64/trace.c | 1
arch/s390/kernel/module.c | 2
arch/x86/Kconfig | 3
arch/x86/kernel/module.c | 2
arch/x86/mm/init.c | 1
arch/xtensa/include/uapi/asm/mman.h | 2
include/linux/gfp.h | 53 +-
include/linux/huge_mm.h | 6
include/linux/kasan.h | 136 +++--
include/linux/mm.h | 5
include/linux/page-flags.h | 2
include/linux/pagemap.h | 3
include/linux/swap.h | 4
include/linux/vmalloc.h | 18
include/trace/events/huge_memory.h | 1
include/trace/events/migrate.h | 31 +
include/trace/events/mmflags.h | 18
include/trace/events/thp.h | 27 +
include/uapi/asm-generic/mman-common.h | 2
kernel/fork.c | 13
kernel/scs.c | 16
lib/Kconfig.kasan | 18
lib/test_kasan.c | 239 ++++++++-
lib/vsprintf.c | 8
mm/Kconfig | 3
mm/debug.c | 1
mm/filemap.c | 63 +-
mm/huge_memory.c | 109 ----
mm/kasan/Makefile | 2
mm/kasan/common.c | 4
mm/kasan/hw_tags.c | 243 +++++++---
mm/kasan/kasan.h | 76 ++-
mm/kasan/report.c | 516 +++++++++++----------
mm/kasan/report_generic.c | 34 -
mm/kasan/report_hw_tags.c | 1
mm/kasan/report_sw_tags.c | 16
mm/kasan/report_tags.c | 2
mm/kasan/shadow.c | 76 +--
mm/khugepaged.c | 11
mm/madvise.c | 57 +-
mm/memory.c | 129 +++--
mm/memremap.c | 2
mm/migrate.c | 4
mm/page-writeback.c | 18
mm/page_alloc.c | 270 ++++++-----
mm/page_owner.c | 86 ++-
mm/rmap.c | 62 +-
mm/swap.c | 4
mm/swapfile.c | 104 ----
mm/vmalloc.c | 167 ++++--
tools/testing/selftests/kselftest.h | 10
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 1
tools/testing/selftests/vm/gup_test.c | 3
tools/testing/selftests/vm/hugetlb-madvise.c | 410 ++++++++++++++++
tools/testing/selftests/vm/ksm_tests.c | 38 -
tools/testing/selftests/vm/memfd_secret.c | 2
tools/testing/selftests/vm/run_vmtests.sh | 15
tools/testing/selftests/vm/transhuge-stress.c | 41 -
tools/testing/selftests/vm/userfaultfd.c | 72 +-
tools/testing/selftests/vm/util.h | 75 ++-
tools/vm/page_owner_sort.c | 628 +++++++++++++++++++++-----
73 files changed, 2797 insertions(+), 1288 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-03-23 23:04 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-03-23 23:04 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
Various misc subsystems, before getting into the post-linux-next material.
This is all based on v5.17. I tested applying and compiling against
today's 1bc191051dca28fa6. One patch required an extra whack, all
looks good.
41 patches, based on f443e374ae131c168a065ea1748feac6b2e76613.
Subsystems affected by this patch series:
procfs
misc
core-kernel
lib
checkpatch
init
pipe
minix
fat
cgroups
kexec
kdump
taskstats
panic
kcov
resource
ubsan
Subsystem: procfs
Hao Lee <haolee.swjtu@gmail.com>:
proc: alloc PATH_MAX bytes for /proc/${pid}/fd/ symlinks
David Hildenbrand <david@redhat.com>:
proc/vmcore: fix possible deadlock on concurrent mmap and read
Yang Li <yang.lee@linux.alibaba.com>:
proc/vmcore: fix vmcore_alloc_buf() kernel-doc comment
Subsystem: misc
Bjorn Helgaas <bhelgaas@google.com>:
linux/types.h: remove unnecessary __bitwise__
Documentation/sparse: add hints about __CHECKER__
Subsystem: core-kernel
Miaohe Lin <linmiaohe@huawei.com>:
kernel/ksysfs.c: use helper macro __ATTR_RW
Subsystem: lib
Kees Cook <keescook@chromium.org>:
Kconfig.debug: make DEBUG_INFO selectable from a choice
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
include: drop pointless __compiler_offsetof indirection
Christophe Leroy <christophe.leroy@csgroup.eu>:
ilog2: force inlining of __ilog2_u32() and __ilog2_u64()
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
bitfield: add explicit inclusions to the example
Feng Tang <feng.tang@intel.com>:
lib/Kconfig.debug: add ARCH dependency for FUNCTION_ALIGN option
Randy Dunlap <rdunlap@infradead.org>:
lib: bitmap: fix many kernel-doc warnings
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: prefer MODULE_LICENSE("GPL") over MODULE_LICENSE("GPL v2")
checkpatch: add --fix option for some TRAILING_STATEMENTS
checkpatch: add early_param exception to blank line after struct/function test
Sagar Patel <sagarmp@cs.unc.edu>:
checkpatch: use python3 to find codespell dictionary
Subsystem: init
Mark-PK Tsai <mark-pk.tsai@mediatek.com>:
init: use ktime_us_delta() to make initcall_debug log more precise
Randy Dunlap <rdunlap@infradead.org>:
init.h: improve __setup and early_param documentation
init/main.c: return 1 from handled __setup() functions
Subsystem: pipe
Andrei Vagin <avagin@gmail.com>:
fs/pipe: use kvcalloc to allocate a pipe_buffer array
fs/pipe.c: local vars have to match types of proper pipe_inode_info fields
Subsystem: minix
Qinghua Jin <qhjin.dev@gmail.com>:
minix: fix bug when opening a file with O_DIRECT
Subsystem: fat
Helge Deller <deller@gmx.de>:
fat: use pointer to simple type in put_user()
Subsystem: cgroups
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
cgroup: use irqsave in cgroup_rstat_flush_locked().
cgroup: add a comment to cgroup_rstat_flush_locked().
Subsystem: kexec
Jisheng Zhang <jszhang@kernel.org>:
Patch series "kexec: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef", v2:
kexec: make crashk_res, crashk_low_res and crash_notes symbols always visible
riscv: mm: init: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
x86/setup: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
Subsystem: kdump
Tiezhu Yang <yangtiezhu@loongson.cn>:
Patch series "Update doc and fix some issues about kdump", v2:
docs: kdump: update description about sysfs file system support
docs: kdump: add scp example to write out the dump file
panic: unset panic_on_warn inside panic()
ubsan: no need to unset panic_on_warn in ubsan_epilogue()
kasan: no need to unset panic_on_warn in end_report()
Subsystem: taskstats
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
taskstats: remove unneeded dead assignment
Subsystem: panic
"Guilherme G. Piccoli" <gpiccoli@igalia.com>:
Patch series "Some improvements on panic_print":
docs: sysctl/kernel: add missing bit to panic_print
panic: add option to dump all CPUs backtraces in panic_print
panic: move panic_print before kmsg dumpers
Subsystem: kcov
Aleksandr Nogikh <nogikh@google.com>:
Patch series "kcov: improve mmap processing", v3:
kcov: split ioctl handling into locked and unlocked parts
kcov: properly handle subsequent mmap calls
Subsystem: resource
Miaohe Lin <linmiaohe@huawei.com>:
kernel/resource: fix kfree() of bootmem memory again
Subsystem: ubsan
Marco Elver <elver@google.com>:
Revert "ubsan, kcsan: Don't combine sanitizer with kcov on clang"
Documentation/admin-guide/kdump/kdump.rst | 10 +
Documentation/admin-guide/kernel-parameters.txt | 5
Documentation/admin-guide/sysctl/kernel.rst | 2
Documentation/dev-tools/sparse.rst | 2
arch/arm64/mm/init.c | 9 -
arch/riscv/mm/init.c | 6 -
arch/x86/kernel/setup.c | 10 -
fs/fat/dir.c | 2
fs/minix/inode.c | 3
fs/pipe.c | 13 +-
fs/proc/base.c | 8 -
fs/proc/vmcore.c | 43 +++----
include/linux/bitfield.h | 3
include/linux/compiler_types.h | 3
include/linux/init.h | 11 +
include/linux/kexec.h | 12 +-
include/linux/log2.h | 4
include/linux/stddef.h | 6 -
include/uapi/linux/types.h | 6 -
init/main.c | 14 +-
kernel/cgroup/rstat.c | 13 +-
kernel/kcov.c | 102 ++++++++---------
kernel/ksysfs.c | 3
kernel/panic.c | 37 ++++--
kernel/resource.c | 41 +-----
kernel/taskstats.c | 5
lib/Kconfig.debug | 142 ++++++++++++------------
lib/Kconfig.kcsan | 11 -
lib/Kconfig.ubsan | 12 --
lib/bitmap.c | 24 ++--
lib/ubsan.c | 10 -
mm/kasan/report.c | 10 -
scripts/checkpatch.pl | 31 ++++-
tools/include/linux/types.h | 5
34 files changed, 313 insertions(+), 305 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-03-22 21:38 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-03-22 21:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
- A few misc subsystems
- There is a lot of MM material in Willy's tree. Folio work and
non-folio patches which depended on that work.
Here I send almost all the MM patches which precede the patches in
Willy's tree. The remaining ~100 MM patches are staged on Willy's
tree and I'll send those along once Willy is merged up.
I tried this batch against your current tree (as of
51912904076680281) and a couple need some extra persuasion to apply,
but all looks OK otherwise.
227 patches, based on f443e374ae131c168a065ea1748feac6b2e76613
Subsystems affected by this patch series:
kthread
scripts
ntfs
ocfs2
block
vfs
mm/kasan
mm/pagecache
mm/gup
mm/swap
mm/shmem
mm/memcg
mm/selftests
mm/pagemap
mm/mremap
mm/sparsemem
mm/vmalloc
mm/pagealloc
mm/memory-failure
mm/mlock
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/compaction
mm/mempolicy
mm/oom-kill
mm/migration
mm/thp
mm/cma
mm/autonuma
mm/psi
mm/ksm
mm/page-poison
mm/madvise
mm/memory-hotplug
mm/rmap
mm/zswap
mm/uaccess
mm/ioremap
mm/highmem
mm/cleanups
mm/kfence
mm/hmm
mm/damon
Subsystem: kthread
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
linux/kthread.h: remove unused macros
Subsystem: scripts
Colin Ian King <colin.i.king@gmail.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ntfs
Dongliang Mu <mudongliangabcd@gmail.com>:
ntfs: add sanity check on allocation size
Subsystem: ocfs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: cleanup some return variables
hongnanli <hongnan.li@linux.alibaba.com>:
fs/ocfs2: fix comments mentioning i_mutex
Subsystem: block
NeilBrown <neilb@suse.de>:
Patch series "Remove remaining parts of congestion tracking code", v2:
doc: convert 'subsection' to 'section' in gfp.h
mm: document and polish read-ahead code
mm: improve cleanup when ->readpages doesn't process all pages
fuse: remove reliance on bdi congestion
nfs: remove reliance on bdi congestion
ceph: remove reliance on bdi congestion
remove inode_congested()
remove bdi_congested() and wb_congested() and related functions
f2fs: replace congestion_wait() calls with io_schedule_timeout()
block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"
remove congestion tracking framework
Subsystem: vfs
Anthony Iliopoulos <ailiop@suse.com>:
mount: warn only once about timestamp range expiration
Subsystem: mm/kasan
Miaohe Lin <linmiaohe@huawei.com>:
mm/memremap: avoid calling kasan_remove_zero_shadow() for device private memory
Subsystem: mm/pagecache
Miaohe Lin <linmiaohe@huawei.com>:
filemap: remove find_get_pages()
mm/writeback: minor clean up for highmem_dirtyable_memory
Minchan Kim <minchan@kernel.org>:
mm: fs: fix lru_cache_disabled race in bh_lru
Subsystem: mm/gup
Peter Xu <peterx@redhat.com>:
Patch series "mm/gup: some cleanups", v5:
mm: fix invalid page pointer returned with FOLL_PIN gups
John Hubbard <jhubbard@nvidia.com>:
mm/gup: follow_pfn_pte(): -EEXIST cleanup
mm/gup: remove unused pin_user_pages_locked()
mm: change lookup_node() to use get_user_pages_fast()
mm/gup: remove unused get_user_pages_locked()
Subsystem: mm/swap
Bang Li <libang.linuxer@gmail.com>:
mm/swap: fix confusing comment in folio_mark_accessed
Subsystem: mm/shmem
Xavier Roche <xavier.roche@algolia.com>:
tmpfs: support for file creation time
Hugh Dickins <hughd@google.com>:
shmem: mapping_set_exiting() to help mapped resilience
tmpfs: do not allocate pages on read
Miaohe Lin <linmiaohe@huawei.com>:
mm: shmem: use helper macro __ATTR_RW
Subsystem: mm/memcg
Shakeel Butt <shakeelb@google.com>:
memcg: replace in_interrupt() with !in_task()
Yosry Ahmed <yosryahmed@google.com>:
memcg: add per-memcg total kernel memory stat
Wei Yang <richard.weiyang@gmail.com>:
mm/memcg: mem_cgroup_per_node is already set to 0 on allocation
mm/memcg: retrieve parent memcg from css.parent
Shakeel Butt <shakeelb@google.com>:
Patch series "memcg: robust enforcement of memory.high", v2:
memcg: refactor mem_cgroup_oom
memcg: unify force charging conditions
selftests: memcg: test high limit for single entry allocation
memcg: synchronously enforce memory.high for large overcharges
Randy Dunlap <rdunlap@infradead.org>:
mm/memcontrol: return 1 from cgroup.memory __setup() handler
Michal Hocko <mhocko@suse.com>:
Patch series "mm/memcg: Address PREEMPT_RT problems instead of disabling it", v5:
mm/memcg: revert ("mm/memcg: optimize user context object stock access")
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/memcg: disable threshold event handlers on PREEMPT_RT
mm/memcg: protect per-CPU counter by disabling preemption on PREEMPT_RT where needed.
Johannes Weiner <hannes@cmpxchg.org>:
mm/memcg: opencode the inner part of obj_cgroup_uncharge_pages() in drain_obj_stock()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/memcg: protect memcg_stock with a local_lock_t
mm/memcg: disable migration instead of preemption in drain_all_stock().
Muchun Song <songmuchun@bytedance.com>:
Patch series "Optimize list lru memory consumption", v6:
mm: list_lru: transpose the array of per-node per-memcg lru lists
mm: introduce kmem_cache_alloc_lru
fs: introduce alloc_inode_sb() to allocate filesystems specific inode
fs: allocate inode by using alloc_inode_sb()
f2fs: allocate inode by using alloc_inode_sb()
mm: dcache: use kmem_cache_alloc_lru() to allocate dentry
xarray: use kmem_cache_alloc_lru to allocate xa_node
mm: memcontrol: move memcg_online_kmem() to mem_cgroup_css_online()
mm: list_lru: allocate list_lru_one only when needed
mm: list_lru: rename memcg_drain_all_list_lrus to memcg_reparent_list_lrus
mm: list_lru: replace linear array with xarray
mm: memcontrol: reuse memory cgroup ID for kmem ID
mm: memcontrol: fix cannot alloc the maximum memcg ID
mm: list_lru: rename list_lru_per_memcg to list_lru_memcg
mm: memcontrol: rename memcg_cache_id to memcg_kmem_id
Vasily Averin <vvs@virtuozzo.com>:
memcg: enable accounting for tty-related objects
Subsystem: mm/selftests
Guillaume Tucker <guillaume.tucker@collabora.com>:
selftests, x86: fix how check_cc.sh is being invoked
Subsystem: mm/pagemap
Anshuman Khandual <anshuman.khandual@arm.com>:
mm: merge pte_mkhuge() call into arch_make_huge_pte()
Stafford Horne <shorne@gmail.com>:
mm: remove mmu_gathers storage from remaining architectures
Muchun Song <songmuchun@bytedance.com>:
Patch series "Fix some cache flush bugs", v5:
mm: thp: fix wrong cache flush in remove_migration_pmd()
mm: fix missing cache flush for all tail pages of compound page
mm: hugetlb: fix missing cache flush in copy_huge_page_from_user()
mm: hugetlb: fix missing cache flush in hugetlb_mcopy_atomic_pte()
mm: shmem: fix missing cache flush in shmem_mfill_atomic_pte()
mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic()
mm: replace multiple dcache flush with flush_dcache_folio()
Peter Xu <peterx@redhat.com>:
Patch series "mm: Rework zap ptes on swap entries", v5:
mm: don't skip swap entry even if zap_details specified
mm: rename zap_skip_check_mapping() to should_zap_page()
mm: change zap_details.zap_mapping into even_cows
mm: rework swap handling of zap_pte_range
Randy Dunlap <rdunlap@infradead.org>:
mm/mmap: return 1 from stack_guard_gap __setup() handler
Miaohe Lin <linmiaohe@huawei.com>:
mm/memory.c: use helper function range_in_vma()
mm/memory.c: use helper macro min and max in unmap_mapping_range_tree()
Hugh Dickins <hughd@google.com>:
mm: _install_special_mapping() apply VM_LOCKED_CLEAR_MASK
Miaohe Lin <linmiaohe@huawei.com>:
mm/mmap: remove obsolete comment in ksys_mmap_pgoff
Subsystem: mm/mremap
Miaohe Lin <linmiaohe@huawei.com>:
mm/mremap:: use vma_lookup() instead of find_vma()
Subsystem: mm/sparsemem
Miaohe Lin <linmiaohe@huawei.com>:
mm/sparse: make mminit_validate_memmodel_limits() static
Subsystem: mm/vmalloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/vmalloc: remove unneeded function forward declaration
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: Move draining areas out of caller context
Uladzislau Rezki <uladzislau.rezki@sony.com>:
mm/vmalloc: add adjust_search_size parameter
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: eliminate an extra orig_gfp_mask
Jiapeng Chong <jiapeng.chong@linux.alibaba.com>:
mm/vmalloc.c: fix "unused function" warning
Bang Li <libang.linuxer@gmail.com>:
mm/vmalloc: fix comments about vmap_area struct
Subsystem: mm/pagealloc
Zi Yan <ziy@nvidia.com>:
mm: page_alloc: avoid merging non-fallbackable pageblocks with others
Peter Collingbourne <pcc@google.com>:
mm/mmzone.c: use try_cmpxchg() in page_cpupid_xchg_last()
Miaohe Lin <linmiaohe@huawei.com>:
mm/mmzone.h: remove unused macros
Nicolas Saenz Julienne <nsaenzju@redhat.com>:
mm/page_alloc: don't pass pfn to free_unref_page_commit()
David Hildenbrand <david@redhat.com>:
Patch series "mm: enforce pageblock_order < MAX_ORDER":
cma: factor out minimum alignment requirement
mm: enforce pageblock_order < MAX_ORDER
Nathan Chancellor <nathan@kernel.org>:
mm/page_alloc: mark pagesets as __maybe_unused
Alistair Popple <apopple@nvidia.com>:
mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Follow-up on high-order PCP caching", v2:
mm/page_alloc: fetch the correct pcp buddy during bulk free
mm/page_alloc: track range of active PCP lists during bulk free
mm/page_alloc: simplify how many pages are selected per pcp list during bulk free
mm/page_alloc: drain the requested list first during bulk free
mm/page_alloc: free pages in a single pass during bulk free
mm/page_alloc: limit number of high-order pages on PCP during bulk free
mm/page_alloc: do not prefetch buddies during bulk free
Oscar Salvador <osalvador@suse.de>:
arch/x86/mm/numa: Do not initialize nodes twice
Suren Baghdasaryan <surenb@google.com>:
mm: count time in drain_all_pages during direct reclaim as memory pressure
Eric Dumazet <edumazet@google.com>:
mm/page_alloc: call check_new_pages() while zone spinlock is not held
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: check high-order pages for corruption during PCP operations
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/memory-failure.c: remove obsolete comment
mm/hwpoison: fix error page recovered but reported "not recovered"
Rik van Riel <riel@surriel.com>:
mm: invalidate hwpoison page cache page in fault path
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "A few cleanup and fixup patches for memory failure", v3:
mm/memory-failure.c: minor clean up for memory_failure_dev_pagemap
mm/memory-failure.c: catch unexpected -EFAULT from vma_address()
mm/memory-failure.c: rework the signaling logic in kill_proc
mm/memory-failure.c: fix race with changing page more robustly
mm/memory-failure.c: remove PageSlab check in hwpoison_filter_dev
mm/memory-failure.c: rework the try_to_unmap logic in hwpoison_user_mappings()
mm/memory-failure.c: remove obsolete comment in __soft_offline_page
mm/memory-failure.c: remove unnecessary PageTransTail check
mm/hwpoison-inject: support injecting hwpoison to free page
luofei <luofei@unicloud.com>:
mm/hwpoison: avoid the impact of hwpoison_filter() return value on mce handler
mm/hwpoison: add in-use hugepage hwpoison filter judgement
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "A few fixup patches for memory failure", v2:
mm/memory-failure.c: fix race with changing page compound again
mm/memory-failure.c: avoid calling invalidate_inode_page() with unexpected pages
mm/memory-failure.c: make non-LRU movable pages unhandlable
Vlastimil Babka <vbabka@suse.cz>:
mm, fault-injection: declare should_fail_alloc_page()
Subsystem: mm/mlock
Miaohe Lin <linmiaohe@huawei.com>:
mm/mlock: fix potential imbalanced rlimit ucounts adjustment
Subsystem: mm/hugetlb
Muchun Song <songmuchun@bytedance.com>:
Patch series "Free the 2nd vmemmap page associated with each HugeTLB page", v7:
mm: hugetlb: free the 2nd vmemmap page associated with each HugeTLB page
mm: hugetlb: replace hugetlb_free_vmemmap_enabled with a static_key
mm: sparsemem: use page table lock to protect kernel pmd operations
selftests: vm: add a hugetlb test case
mm: sparsemem: move vmemmap related to HugeTLB to CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/hugetlb: generalize ARCH_WANT_GENERAL_HUGETLB
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: clean up potential spectre issue warnings
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: use helper macro __ATTR_RW
David Howells <dhowells@redhat.com>:
mm/hugetlb.c: export PageHeadHuge()
Miaohe Lin <linmiaohe@huawei.com>:
mm: remove unneeded local variable follflags
Subsystem: mm/userfaultfd
Nadav Amit <namit@vmware.com>:
userfaultfd: provide unmasked address on page-fault
Guo Zhengkui <guozhengkui@vivo.com>:
userfaultfd/selftests: fix uninitialized_var.cocci warning
Subsystem: mm/vmscan
Hugh Dickins <hughd@google.com>:
mm/fs: delete PF_SWAPWRITE
mm: __isolate_lru_page_prepare() in isolate_migratepages_block()
Waiman Long <longman@redhat.com>:
mm/list_lru: optimize memcg_reparent_list_lru_node()
Marcelo Tosatti <mtosatti@redhat.com>:
mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm: workingset: replace IRQ-off check with a lockdep assert.
Charan Teja Kalla <quic_charante@quicinc.com>:
mm: vmscan: fix documentation for page_check_references()
Subsystem: mm/compaction
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: compaction: cleanup the compaction trace events
Subsystem: mm/mempolicy
Hugh Dickins <hughd@google.com>:
mempolicy: mbind_range() set_policy() after vma_merge()
Subsystem: mm/oom-kill
Miaohe Lin <linmiaohe@huawei.com>:
mm/oom_kill: remove unneeded is_memcg_oom check
Subsystem: mm/migration
Huang Ying <ying.huang@intel.com>:
mm,migrate: fix establishing demotion target
"andrew.yang" <andrew.yang@mediatek.com>:
mm/migrate: fix race between lock page and clear PG_Isolated
Subsystem: mm/thp
Hugh Dickins <hughd@google.com>:
mm/thp: refix __split_huge_pmd_locked() for migration PMD
Subsystem: mm/cma
Hari Bathini <hbathini@linux.ibm.com>:
Patch series "powerpc/fadump: handle CMA activation failure appropriately", v3:
mm/cma: provide option to opt out from exposing pages on activation failure
powerpc/fadump: opt out from freeing pages on cma activation failure
Subsystem: mm/autonuma
Huang Ying <ying.huang@intel.com>:
Patch series "NUMA balancing: optimize memory placement for memory tiering system", v13:
NUMA Balancing: add page promotion counter
NUMA balancing: optimize page placement for memory tiering system
memory tiering: skip to scan fast memory
Subsystem: mm/psi
Johannes Weiner <hannes@cmpxchg.org>:
mm: page_io: fix psi memory pressure error on cold swapins
Subsystem: mm/ksm
Yang Yang <yang.yang29@zte.com.cn>:
mm/vmstat: add event for ksm swapping in copy
Miaohe Lin <linmiaohe@huawei.com>:
mm/ksm: use helper macro __ATTR_RW
Subsystem: mm/page-poison
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/hwpoison: check the subpage, not the head page
Subsystem: mm/madvise
Miaohe Lin <linmiaohe@huawei.com>:
mm/madvise: use vma_lookup() instead of find_vma()
Charan Teja Kalla <quic_charante@quicinc.com>:
Patch series "mm: madvise: return correct bytes processed with:
mm: madvise: return correct bytes advised with process_madvise
mm: madvise: skip unmapped vma holes passed to process_madvise
Subsystem: mm/memory-hotplug
Michal Hocko <mhocko@suse.com>:
Patch series "mm, memory_hotplug: handle unitialized numa node gracefully":
mm, memory_hotplug: make arch_alloc_nodedata independent on CONFIG_MEMORY_HOTPLUG
mm: handle uninitialized numa nodes gracefully
mm, memory_hotplug: drop arch_free_nodedata
mm, memory_hotplug: reorganize new pgdat initialization
mm: make free_area_init_node aware of memory less nodes
Wei Yang <richard.weiyang@gmail.com>:
memcg: do not tweak node in alloc_mem_cgroup_per_node_info
David Hildenbrand <david@redhat.com>:
drivers/base/memory: add memory block to memory group after registration succeeded
drivers/base/node: consolidate node device subsystem initialization in node_dev_init()
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "A few cleanup patches around memory_hotplug":
mm/memory_hotplug: remove obsolete comment of __add_pages
mm/memory_hotplug: avoid calling zone_intersects() for ZONE_NORMAL
mm/memory_hotplug: clean up try_offline_node
mm/memory_hotplug: fix misplaced comment in offline_pages
David Hildenbrand <david@redhat.com>:
Patch series "drivers/base/memory: determine and store zone for single-zone memory blocks", v2:
drivers/base/node: rename link_mem_sections() to register_memory_block_under_node()
drivers/base/memory: determine and store zone for single-zone memory blocks
drivers/base/memory: clarify adding and removing of memory blocks
Oscar Salvador <osalvador@suse.de>:
mm: only re-generate demotion targets when a numa node changes its N_CPU state
Subsystem: mm/rmap
Hugh Dickins <hughd@google.com>:
mm/thp: ClearPageDoubleMap in first page_add_file_rmap()
Subsystem: mm/zswap
"Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>:
mm/zswap.c: allow handling just same-value filled pages
Subsystem: mm/uaccess
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm: remove usercopy_warn()
mm: uninline copy_overflow()
Randy Dunlap <rdunlap@infradead.org>:
mm/usercopy: return 1 from hardened_usercopy __setup() handler
Subsystem: mm/ioremap
Vlastimil Babka <vbabka@suse.cz>:
mm/early_ioremap: declare early_memremap_pgprot_adjust()
Subsystem: mm/highmem
Ira Weiny <ira.weiny@intel.com>:
highmem: document kunmap_local()
Miaohe Lin <linmiaohe@huawei.com>:
mm/highmem: remove unnecessary done label
Subsystem: mm/cleanups
"Dr. David Alan Gilbert" <linux@treblig.org>:
mm/page_table_check.c: use strtobool for param parsing
Subsystem: mm/kfence
tangmeng <tangmeng@uniontech.com>:
mm/kfence: remove unnecessary CONFIG_KFENCE option
Tianchen Ding <dtcccc@linux.alibaba.com>:
Patch series "provide the flexibility to enable KFENCE", v3:
kfence: allow re-enabling KFENCE after system startup
kfence: alloc kfence_pool after system startup
Peng Liu <liupeng256@huawei.com>:
Patch series "kunit: fix a UAF bug and do some optimization", v2:
kunit: fix UAF when run kfence test case test_gfpzero
kunit: make kunit_test_timeout compatible with comment
kfence: test: try to avoid test_gfpzero trigger rcu_stall
Marco Elver <elver@google.com>:
kfence: allow use of a deferrable timer
Subsystem: mm/hmm
Miaohe Lin <linmiaohe@huawei.com>:
mm/hmm.c: remove unneeded local variable ret
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
Patch series "Remove the type-unclear target id concept":
mm/damon/dbgfs/init_regions: use target index instead of target id
Docs/admin-guide/mm/damon/usage: update for changed initail_regions file input
mm/damon/core: move damon_set_targets() into dbgfs
mm/damon: remove the target id concept
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm/damon: remove redundant page validation
SeongJae Park <sj@kernel.org>:
Patch series "Allow DAMON user code independent of monitoring primitives":
mm/damon: rename damon_primitives to damon_operations
mm/damon: let monitoring operations can be registered and selected
mm/damon/paddr,vaddr: register themselves to DAMON in subsys_initcall
mm/damon/reclaim: use damon_select_ops() instead of damon_{v,p}a_set_operations()
mm/damon/dbgfs: use damon_select_ops() instead of damon_{v,p}a_set_operations()
mm/damon/dbgfs: use operations id for knowing if the target has pid
mm/damon/dbgfs-test: fix is_target_id() change
mm/damon/paddr,vaddr: remove damon_{p,v}a_{target_valid,set_operations}()
tangmeng <tangmeng@uniontech.com>:
mm/damon: remove unnecessary CONFIG_DAMON option
SeongJae Park <sj@kernel.org>:
Patch series "Docs/damon: Update documents for better consistency":
Docs/vm/damon: call low level monitoring primitives the operations
Docs/vm/damon/design: update DAMON-Idle Page Tracking interference handling
Docs/damon: update outdated term 'regions update interval'
Patch series "Introduce DAMON sysfs interface", v3:
mm/damon/core: allow non-exclusive DAMON start/stop
mm/damon/core: add number of each enum type values
mm/damon: implement a minimal stub for sysfs-based DAMON interface
mm/damon/sysfs: link DAMON for virtual address spaces monitoring
mm/damon/sysfs: support the physical address space monitoring
mm/damon/sysfs: support DAMON-based Operation Schemes
mm/damon/sysfs: support DAMOS quotas
mm/damon/sysfs: support schemes prioritization
mm/damon/sysfs: support DAMOS watermarks
mm/damon/sysfs: support DAMOS stats
selftests/damon: add a test for DAMON sysfs interface
Docs/admin-guide/mm/damon/usage: document DAMON sysfs interface
Docs/ABI/testing: add DAMON sysfs interface ABI document
Xin Hao <xhao@linux.alibaba.com>:
mm/damon/sysfs: remove repeat container_of() in damon_sysfs_kdamond_release()
Documentation/ABI/testing/sysfs-kernel-mm-damon | 274 ++
Documentation/admin-guide/cgroup-v1/memory.rst | 2
Documentation/admin-guide/cgroup-v2.rst | 5
Documentation/admin-guide/kernel-parameters.txt | 2
Documentation/admin-guide/mm/damon/usage.rst | 380 +++
Documentation/admin-guide/mm/zswap.rst | 22
Documentation/admin-guide/sysctl/kernel.rst | 31
Documentation/core-api/mm-api.rst | 19
Documentation/dev-tools/kfence.rst | 12
Documentation/filesystems/porting.rst | 6
Documentation/filesystems/vfs.rst | 16
Documentation/vm/damon/design.rst | 43
Documentation/vm/damon/faq.rst | 2
MAINTAINERS | 1
arch/arm/Kconfig | 4
arch/arm64/kernel/setup.c | 3
arch/arm64/mm/hugetlbpage.c | 1
arch/hexagon/mm/init.c | 2
arch/ia64/kernel/topology.c | 10
arch/ia64/mm/discontig.c | 11
arch/mips/kernel/topology.c | 5
arch/nds32/mm/init.c | 1
arch/openrisc/mm/init.c | 2
arch/powerpc/include/asm/fadump-internal.h | 5
arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h | 4
arch/powerpc/kernel/fadump.c | 8
arch/powerpc/kernel/sysfs.c | 17
arch/riscv/Kconfig | 4
arch/riscv/kernel/setup.c | 3
arch/s390/kernel/numa.c | 7
arch/sh/kernel/topology.c | 5
arch/sparc/kernel/sysfs.c | 12
arch/sparc/mm/hugetlbpage.c | 1
arch/x86/Kconfig | 4
arch/x86/kernel/cpu/mce/core.c | 8
arch/x86/kernel/topology.c | 5
arch/x86/mm/numa.c | 33
block/bdev.c | 2
block/bfq-iosched.c | 2
drivers/base/init.c | 1
drivers/base/memory.c | 149 +
drivers/base/node.c | 48
drivers/block/drbd/drbd_int.h | 3
drivers/block/drbd/drbd_req.c | 3
drivers/dax/super.c | 2
drivers/of/of_reserved_mem.c | 9
drivers/tty/tty_io.c | 2
drivers/virtio/virtio_mem.c | 9
fs/9p/vfs_inode.c | 2
fs/adfs/super.c | 2
fs/affs/super.c | 2
fs/afs/super.c | 2
fs/befs/linuxvfs.c | 2
fs/bfs/inode.c | 2
fs/btrfs/inode.c | 2
fs/buffer.c | 8
fs/ceph/addr.c | 22
fs/ceph/inode.c | 2
fs/ceph/super.c | 1
fs/ceph/super.h | 1
fs/cifs/cifsfs.c | 2
fs/coda/inode.c | 2
fs/dcache.c | 3
fs/ecryptfs/super.c | 2
fs/efs/super.c | 2
fs/erofs/super.c | 2
fs/exfat/super.c | 2
fs/ext2/ialloc.c | 5
fs/ext2/super.c | 2
fs/ext4/super.c | 2
fs/f2fs/compress.c | 4
fs/f2fs/data.c | 3
fs/f2fs/f2fs.h | 6
fs/f2fs/segment.c | 8
fs/f2fs/super.c | 14
fs/fat/inode.c | 2
fs/freevxfs/vxfs_super.c | 2
fs/fs-writeback.c | 40
fs/fuse/control.c | 17
fs/fuse/dev.c | 8
fs/fuse/file.c | 17
fs/fuse/inode.c | 2
fs/gfs2/super.c | 2
fs/hfs/super.c | 2
fs/hfsplus/super.c | 2
fs/hostfs/hostfs_kern.c | 2
fs/hpfs/super.c | 2
fs/hugetlbfs/inode.c | 2
fs/inode.c | 2
fs/isofs/inode.c | 2
fs/jffs2/super.c | 2
fs/jfs/super.c | 2
fs/minix/inode.c | 2
fs/namespace.c | 2
fs/nfs/inode.c | 2
fs/nfs/write.c | 14
fs/nilfs2/segbuf.c | 16
fs/nilfs2/super.c | 2
fs/ntfs/inode.c | 6
fs/ntfs3/super.c | 2
fs/ocfs2/alloc.c | 2
fs/ocfs2/aops.c | 2
fs/ocfs2/cluster/nodemanager.c | 2
fs/ocfs2/dir.c | 4
fs/ocfs2/dlmfs/dlmfs.c | 2
fs/ocfs2/file.c | 13
fs/ocfs2/inode.c | 2
fs/ocfs2/localalloc.c | 6
fs/ocfs2/namei.c | 2
fs/ocfs2/ocfs2.h | 4
fs/ocfs2/quota_global.c | 2
fs/ocfs2/stack_user.c | 18
fs/ocfs2/super.c | 2
fs/ocfs2/xattr.c | 2
fs/openpromfs/inode.c | 2
fs/orangefs/super.c | 2
fs/overlayfs/super.c | 2
fs/proc/inode.c | 2
fs/qnx4/inode.c | 2
fs/qnx6/inode.c | 2
fs/reiserfs/super.c | 2
fs/romfs/super.c | 2
fs/squashfs/super.c | 2
fs/sysv/inode.c | 2
fs/ubifs/super.c | 2
fs/udf/super.c | 2
fs/ufs/super.c | 2
fs/userfaultfd.c | 5
fs/vboxsf/super.c | 2
fs/xfs/libxfs/xfs_btree.c | 2
fs/xfs/xfs_buf.c | 3
fs/xfs/xfs_icache.c | 2
fs/zonefs/super.c | 2
include/linux/backing-dev-defs.h | 8
include/linux/backing-dev.h | 50
include/linux/cma.h | 14
include/linux/damon.h | 95
include/linux/fault-inject.h | 2
include/linux/fs.h | 21
include/linux/gfp.h | 10
include/linux/highmem-internal.h | 10
include/linux/hugetlb.h | 8
include/linux/kthread.h | 22
include/linux/list_lru.h | 45
include/linux/memcontrol.h | 46
include/linux/memory.h | 12
include/linux/memory_hotplug.h | 132 -
include/linux/migrate.h | 8
include/linux/mm.h | 11
include/linux/mmzone.h | 22
include/linux/nfs_fs_sb.h | 1
include/linux/node.h | 25
include/linux/page-flags.h | 96
include/linux/pageblock-flags.h | 7
include/linux/pagemap.h | 7
include/linux/sched.h | 1
include/linux/sched/sysctl.h | 10
include/linux/shmem_fs.h | 1
include/linux/slab.h | 3
include/linux/swap.h | 6
include/linux/thread_info.h | 5
include/linux/uaccess.h | 2
include/linux/vm_event_item.h | 3
include/linux/vmalloc.h | 4
include/linux/xarray.h | 9
include/ras/ras_event.h | 1
include/trace/events/compaction.h | 26
include/trace/events/writeback.h | 28
include/uapi/linux/userfaultfd.h | 8
ipc/mqueue.c | 2
kernel/dma/contiguous.c | 4
kernel/sched/core.c | 21
kernel/sysctl.c | 2
lib/Kconfig.kfence | 12
lib/kunit/try-catch.c | 3
lib/xarray.c | 10
mm/Kconfig | 6
mm/backing-dev.c | 57
mm/cma.c | 31
mm/cma.h | 1
mm/compaction.c | 60
mm/damon/Kconfig | 19
mm/damon/Makefile | 7
mm/damon/core-test.h | 23
mm/damon/core.c | 190 +
mm/damon/dbgfs-test.h | 103
mm/damon/dbgfs.c | 264 +-
mm/damon/ops-common.c | 133 +
mm/damon/ops-common.h | 16
mm/damon/paddr.c | 62
mm/damon/prmtv-common.c | 133 -
mm/damon/prmtv-common.h | 16
mm/damon/reclaim.c | 11
mm/damon/sysfs.c | 2632 ++++++++++++++++++++++-
mm/damon/vaddr-test.h | 8
mm/damon/vaddr.c | 67
mm/early_ioremap.c | 1
mm/fadvise.c | 5
mm/filemap.c | 17
mm/gup.c | 103
mm/highmem.c | 9
mm/hmm.c | 3
mm/huge_memory.c | 41
mm/hugetlb.c | 23
mm/hugetlb_vmemmap.c | 74
mm/hwpoison-inject.c | 7
mm/internal.h | 19
mm/kfence/Makefile | 2
mm/kfence/core.c | 147 +
mm/kfence/kfence_test.c | 3
mm/ksm.c | 6
mm/list_lru.c | 690 ++----
mm/maccess.c | 6
mm/madvise.c | 18
mm/memcontrol.c | 549 ++--
mm/memory-failure.c | 148 -
mm/memory.c | 116 -
mm/memory_hotplug.c | 136 -
mm/mempolicy.c | 29
mm/memremap.c | 3
mm/migrate.c | 128 -
mm/mlock.c | 1
mm/mmap.c | 5
mm/mmzone.c | 7
mm/mprotect.c | 13
mm/mremap.c | 4
mm/oom_kill.c | 3
mm/page-writeback.c | 12
mm/page_alloc.c | 429 +--
mm/page_io.c | 7
mm/page_table_check.c | 10
mm/ptdump.c | 16
mm/readahead.c | 124 +
mm/rmap.c | 15
mm/shmem.c | 46
mm/slab.c | 39
mm/slab.h | 25
mm/slob.c | 6
mm/slub.c | 42
mm/sparse-vmemmap.c | 70
mm/sparse.c | 2
mm/swap.c | 25
mm/swapfile.c | 1
mm/usercopy.c | 16
mm/userfaultfd.c | 3
mm/vmalloc.c | 102
mm/vmscan.c | 138 -
mm/vmstat.c | 19
mm/workingset.c | 7
mm/zswap.c | 15
net/socket.c | 2
net/sunrpc/rpc_pipe.c | 2
scripts/spelling.txt | 16
tools/testing/selftests/cgroup/cgroup_util.c | 15
tools/testing/selftests/cgroup/cgroup_util.h | 1
tools/testing/selftests/cgroup/test_memcontrol.c | 78
tools/testing/selftests/damon/Makefile | 1
tools/testing/selftests/damon/sysfs.sh | 306 ++
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 7
tools/testing/selftests/vm/hugepage-vmemmap.c | 144 +
tools/testing/selftests/vm/run_vmtests.sh | 11
tools/testing/selftests/vm/userfaultfd.c | 2
tools/testing/selftests/x86/Makefile | 6
264 files changed, 7205 insertions(+), 3090 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-03-16 23:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-03-16 23:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
4 patches, based on 56e337f2cf1326323844927a04e9dbce9a244835.
Subsystems affected by this patch series:
mm/swap
kconfig
ocfs2
selftests
Subsystem: mm/swap
Guo Ziliang <guo.ziliang@zte.com.cn>:
mm: swap: get rid of deadloop in swapin readahead
Subsystem: kconfig
Qian Cai <quic_qiancai@quicinc.com>:
configs/debug: restore DEBUG_INFO=y for overriding
Subsystem: ocfs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: fix crash when initialize filecheck kobj fails
Subsystem: selftests
Yosry Ahmed <yosryahmed@google.com>:
selftests: vm: fix clang build error multiple output files
fs/ocfs2/super.c | 22 +++++++++++-----------
kernel/configs/debug.config | 1 +
mm/swap_state.c | 2 +-
tools/testing/selftests/vm/Makefile | 6 ++----
4 files changed, 15 insertions(+), 16 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-03-05 4:28 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-03-05 4:28 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
8 patches, based on 07ebd38a0da24d2534da57b4841346379db9f354.
Subsystems affected by this patch series:
mm/hugetlb
mm/pagemap
memfd
selftests
mm/userfaultfd
kconfig
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
selftests/vm: cleanup hugetlb file after mremap test
Subsystem: mm/pagemap
Suren Baghdasaryan <surenb@google.com>:
mm: refactor vm_area_struct::anon_vma_name usage code
mm: prevent vm_area_struct::anon_name refcount saturation
mm: fix use-after-free when anon vma name is used after vma is freed
Subsystem: memfd
Hugh Dickins <hughd@google.com>:
memfd: fix F_SEAL_WRITE after shmem huge page allocated
Subsystem: selftests
Chengming Zhou <zhouchengming@bytedance.com>:
kselftest/vm: fix tests build with old libc
Subsystem: mm/userfaultfd
Yun Zhou <yun.zhou@windriver.com>:
proc: fix documentation and description of pagemap
Subsystem: kconfig
Qian Cai <quic_qiancai@quicinc.com>:
configs/debug: set CONFIG_DEBUG_INFO=y properly
Documentation/admin-guide/mm/pagemap.rst | 2
fs/proc/task_mmu.c | 9 +-
fs/userfaultfd.c | 6 -
include/linux/mm.h | 7 +
include/linux/mm_inline.h | 105 ++++++++++++++++++---------
include/linux/mm_types.h | 5 +
kernel/configs/debug.config | 2
kernel/fork.c | 4 -
kernel/sys.c | 19 +++-
mm/madvise.c | 98 +++++++++----------------
mm/memfd.c | 40 +++++++---
mm/mempolicy.c | 2
mm/mlock.c | 2
mm/mmap.c | 12 +--
mm/mprotect.c | 2
tools/testing/selftests/vm/hugepage-mremap.c | 26 ++++--
tools/testing/selftests/vm/run_vmtests.sh | 3
tools/testing/selftests/vm/userfaultfd.c | 1
18 files changed, 201 insertions(+), 144 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-02-26 3:10 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-02-26 3:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm, patches
12 patches, based on c47658311d60be064b839f329c0e4d34f5f0735b.
Subsystems affected by this patch series:
MAINTAINERS
mm/hugetlb
mm/kasan
mm/hugetlbfs
mm/pagemap
mm/selftests
mm/memcg
m/slab
mailmap
memfd
Subsystem: MAINTAINERS
Luis Chamberlain <mcgrof@kernel.org>:
MAINTAINERS: add sysctl-next git tree
Subsystem: mm/hugetlb
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/hugetlb: fix kernel crash with hugetlb mremap
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: test: prevent cache merging in kmem_cache_double_destroy
Subsystem: mm/hugetlbfs
Liu Yuntao <liuyuntao10@huawei.com>:
hugetlbfs: fix a truncation issue in hugepages parameter
Subsystem: mm/pagemap
Suren Baghdasaryan <surenb@google.com>:
mm: fix use-after-free bug when mm->mmap is reused after being freed
Subsystem: mm/selftests
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
selftest/vm: fix map_fixed_noreplace test failure
Subsystem: mm/memcg
Roman Gushchin <roman.gushchin@linux.dev>:
MAINTAINERS: add Roman as a memcg co-maintainer
Vladimir Davydov <vdavydov.dev@gmail.com>:
MAINTAINERS: remove Vladimir from memcg maintainers
Shakeel Butt <shakeelb@google.com>:
MAINTAINERS: add Shakeel as a memcg co-maintainer
Subsystem: m/slab
Vlastimil Babka <vbabka@suse.cz>:
MAINTAINERS, SLAB: add Roman as reviewer, git tree
Subsystem: mailmap
Roman Gushchin <roman.gushchin@linux.dev>:
mailmap: update Roman Gushchin's email
Subsystem: memfd
Mike Kravetz <mike.kravetz@oracle.com>:
selftests/memfd: clean up mapping in mfd_fail_write
.mailmap | 3 +
MAINTAINERS | 6 ++
lib/test_kasan.c | 5 +-
mm/hugetlb.c | 11 ++---
mm/mmap.c | 1
tools/testing/selftests/memfd/memfd_test.c | 1
tools/testing/selftests/vm/map_fixed_noreplace.c | 49 +++++++++++++++++------
7 files changed, 56 insertions(+), 20 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-02-12 0:27 Andrew Morton
2022-02-12 2:02 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2022-02-12 0:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits, patches
5 patches, based on f1baf68e1383f6ed93eb9cff2866d46562607a43.
Subsystems affected by this patch series:
binfmt
procfs
mm/vmscan
mm/memcg
mm/kfence
Subsystem: binfmt
Mike Rapoport <rppt@linux.ibm.com>:
fs/binfmt_elf: fix PT_LOAD p_align values for loaders
Subsystem: procfs
Yang Shi <shy828301@gmail.com>:
fs/proc: task_mmu.c: don't read mapcount for migration entry
Subsystem: mm/vmscan
Mel Gorman <mgorman@suse.de>:
mm: vmscan: remove deadlock due to throttling failing to make progress
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: memcg: synchronize objcg lists with a dedicated spinlock
Subsystem: mm/kfence
Peng Liu <liupeng256@huawei.com>:
kfence: make test case compatible with run time set sample interval
fs/binfmt_elf.c | 2 +-
fs/proc/task_mmu.c | 40 +++++++++++++++++++++++++++++++---------
include/linux/kfence.h | 2 ++
include/linux/memcontrol.h | 5 +++--
mm/kfence/core.c | 3 ++-
mm/kfence/kfence_test.c | 8 ++++----
mm/memcontrol.c | 10 +++++-----
mm/vmscan.c | 4 +++-
8 files changed, 51 insertions(+), 23 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2022-02-12 0:27 incoming Andrew Morton
@ 2022-02-12 2:02 ` Linus Torvalds
2022-02-12 5:24 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2022-02-12 2:02 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits, patches
On Fri, Feb 11, 2022 at 4:27 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 5 patches, based on f1baf68e1383f6ed93eb9cff2866d46562607a43.
So this *completely* flummoxed 'b4', because you first sent the wrong
series, and then sent the right one in the same thread.
I fetched the emails manually, but honestly, this was confusing even
then, with two "[PATCH x/5]" series where the only way to tell the
right one was basically by date of email. They did arrive in the same
order in my mailbox, but even that wouldn't have been guaranteed if
there had been some mailer delays somewhere..
So next time when you mess up, resend it all as a completely new
series and completely new threading - so with a new header email too.
Please?
And since I'm here, let me just verify that yes, the series you
actually want me to apply is this one (as described by the head
email):
Subject: [patch 1/5] fs/binfmt_elf: fix PT_LOAD p_align values ..
Subject: [patch 2/5] fs/proc: task_mmu.c: don't read mapcount f..
Subject: [patch 3/5] mm: vmscan: remove deadlock due to throttl..
Subject: [patch 4/5] mm: memcg: synchronize objcg lists with a ..
Subject: [patch 5/5] kfence: make test case compatible with run..
and not the other one with GUP patches?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2022-02-12 2:02 ` incoming Linus Torvalds
@ 2022-02-12 5:24 ` Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-02-12 5:24 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux-MM, mm-commits, patches
On Fri, 11 Feb 2022 18:02:53 -0800 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Fri, Feb 11, 2022 at 4:27 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > 5 patches, based on f1baf68e1383f6ed93eb9cff2866d46562607a43.
>
> So this *completely* flummoxed 'b4', because you first sent the wrong
> series, and then sent the right one in the same thread.
>
> I fetched the emails manually, but honestly, this was confusing even
> then, with two "[PATCH x/5]" series where the only way to tell the
> right one was basically by date of email. They did arrive in the same
> order in my mailbox, but even that wouldn't have been guaranteed if
> there had been some mailer delays somewhere..
Yes, I wondered. Sorry bout that.
> So next time when you mess up, resend it all as a completely new
> series and completely new threading - so with a new header email too.
> Please?
Wilco.
> And since I'm here, let me just verify that yes, the series you
> actually want me to apply is this one (as described by the head
> email):
>
> Subject: [patch 1/5] fs/binfmt_elf: fix PT_LOAD p_align values ..
> Subject: [patch 2/5] fs/proc: task_mmu.c: don't read mapcount f..
> Subject: [patch 3/5] mm: vmscan: remove deadlock due to throttl..
> Subject: [patch 4/5] mm: memcg: synchronize objcg lists with a ..
> Subject: [patch 5/5] kfence: make test case compatible with run..
>
> and not the other one with GUP patches?
Those are the ones. Five fixes, three with cc:stable.
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-02-04 4:48 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-02-04 4:48 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
10 patches, based on 1f2cfdd349b7647f438c1e552dc1b983da86d830.
Subsystems affected by this patch series:
mm/vmscan
mm/debug
mm/pagemap
ipc
mm/kmemleak
MAINTAINERS
mm/selftests
Subsystem: mm/vmscan
Chen Wandun <chenwandun@huawei.com>:
Revert "mm/page_isolation: unset migratetype directly for non Buddy page"
Subsystem: mm/debug
Pasha Tatashin <pasha.tatashin@soleen.com>:
Patch series "page table check fixes and cleanups", v5:
mm/debug_vm_pgtable: remove pte entry from the page table
mm/page_table_check: use unsigned long for page counters and cleanup
mm/khugepaged: unify collapse pmd clear, flush and free
mm/page_table_check: check entries at pmd levels
Subsystem: mm/pagemap
Mike Rapoport <rppt@linux.ibm.com>:
mm/pgtable: define pte_index so that preprocessor could recognize it
Subsystem: ipc
Minghao Chi <chi.minghao@zte.com.cn>:
ipc/sem: do not sleep with a spin lock held
Subsystem: mm/kmemleak
Lang Yu <lang.yu@amd.com>:
mm/kmemleak: avoid scanning potential huge holes
Subsystem: MAINTAINERS
Mike Rapoport <rppt@linux.ibm.com>:
MAINTAINERS: update rppt's email
Subsystem: mm/selftests
Shuah Khan <skhan@linuxfoundation.org>:
kselftest/vm: revert "tools/testing/selftests/vm/userfaultfd.c: use swap() to make code cleaner"
MAINTAINERS | 2 -
include/linux/page_table_check.h | 19 ++++++++++
include/linux/pgtable.h | 1
ipc/sem.c | 4 +-
mm/debug_vm_pgtable.c | 2 +
mm/khugepaged.c | 37 +++++++++++---------
mm/kmemleak.c | 13 +++----
mm/page_isolation.c | 2 -
mm/page_table_check.c | 55 +++++++++++++++----------------
tools/testing/selftests/vm/userfaultfd.c | 11 ++++--
10 files changed, 89 insertions(+), 57 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-01-29 21:40 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-01-29 21:40 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
12 patches, based on f8c7e4ede46fe63ff10000669652648aab09d112.
Subsystems affected by this patch series:
sysctl
binfmt
ia64
mm/memory-failure
mm/folios
selftests
mm/kasan
mm/psi
ocfs2
Subsystem: sysctl
Andrew Morton <akpm@linux-foundation.org>:
include/linux/sysctl.h: fix register_sysctl_mount_point() return type
Subsystem: binfmt
Tong Zhang <ztong0001@gmail.com>:
binfmt_misc: fix crash when load/unload module
Subsystem: ia64
Randy Dunlap <rdunlap@infradead.org>:
ia64: make IA64_MCA_RECOVERY bool instead of tristate
Subsystem: mm/memory-failure
Joao Martins <joao.m.martins@oracle.com>:
memory-failure: fetch compound_head after pgmap_pfn_valid()
Subsystem: mm/folios
Wei Yang <richard.weiyang@gmail.com>:
mm: page->mapping folio->mapping should have the same offset
Subsystem: selftests
Maor Gottlieb <maorg@nvidia.com>:
tools/testing/scatterlist: add missing defines
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
kasan: test: fix compatibility with FORTIFY_SOURCE
Peter Collingbourne <pcc@google.com>:
mm, kasan: use compare-exchange operation to set KASAN page tag
Subsystem: mm/psi
Suren Baghdasaryan <surenb@google.com>:
psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n
psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n
Subsystem: ocfs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
Patch series "ocfs2: fix a deadlock case":
jbd2: export jbd2_journal_[grab|put]_journal_head
ocfs2: fix a deadlock when commit trans
arch/ia64/Kconfig | 2
fs/binfmt_misc.c | 8 +--
fs/jbd2/journal.c | 2
fs/ocfs2/suballoc.c | 25 ++++-------
include/linux/mm.h | 17 +++++--
include/linux/mm_types.h | 1
include/linux/psi.h | 11 ++--
include/linux/sysctl.h | 2
kernel/sched/psi.c | 79 ++++++++++++++++++-----------------
lib/test_kasan.c | 5 ++
mm/memory-failure.c | 6 ++
tools/testing/scatterlist/linux/mm.h | 3 -
12 files changed, 91 insertions(+), 70 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-01-29 2:13 Andrew Morton
2022-01-29 4:25 ` incoming Matthew Wilcox
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2022-01-29 2:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
12 patches, based on 169387e2aa291a4e3cb856053730fe99d6cec06f.
Subsystems affected by this patch series:
sysctl
binfmt
ia64
mm/memory-failure
mm/folios
selftests
mm/kasan
mm/psi
ocfs2
Subsystem: sysctl
Andrew Morton <akpm@linux-foundation.org>:
include/linux/sysctl.h: fix register_sysctl_mount_point() return type
Subsystem: binfmt
Tong Zhang <ztong0001@gmail.com>:
binfmt_misc: fix crash when load/unload module
Subsystem: ia64
Randy Dunlap <rdunlap@infradead.org>:
ia64: make IA64_MCA_RECOVERY bool instead of tristate
Subsystem: mm/memory-failure
Joao Martins <joao.m.martins@oracle.com>:
memory-failure: fetch compound_head after pgmap_pfn_valid()
Subsystem: mm/folios
Wei Yang <richard.weiyang@gmail.com>:
mm: page->mapping folio->mapping should have the same offset
Subsystem: selftests
Maor Gottlieb <maorg@nvidia.com>:
tools/testing/scatterlist: add missing defines
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
kasan: test: fix compatibility with FORTIFY_SOURCE
Peter Collingbourne <pcc@google.com>:
mm, kasan: use compare-exchange operation to set KASAN page tag
Subsystem: mm/psi
Suren Baghdasaryan <surenb@google.com>:
psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n
psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n
Subsystem: ocfs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
Patch series "ocfs2: fix a deadlock case":
jbd2: export jbd2_journal_[grab|put]_journal_head
ocfs2: fix a deadlock when commit trans
arch/ia64/Kconfig | 2
fs/binfmt_misc.c | 8 +--
fs/jbd2/journal.c | 2
fs/ocfs2/suballoc.c | 25 ++++-------
include/linux/mm.h | 17 +++++--
include/linux/mm_types.h | 1
include/linux/psi.h | 11 ++--
include/linux/sysctl.h | 2
kernel/sched/psi.c | 79 ++++++++++++++++++-----------------
lib/test_kasan.c | 5 ++
mm/memory-failure.c | 6 ++
tools/testing/scatterlist/linux/mm.h | 3 -
12 files changed, 91 insertions(+), 70 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2022-01-29 2:13 incoming Andrew Morton
@ 2022-01-29 4:25 ` Matthew Wilcox
2022-01-29 6:23 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Matthew Wilcox @ 2022-01-29 4:25 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linus Torvalds, mm-commits, linux-mm
On Fri, Jan 28, 2022 at 06:13:41PM -0800, Andrew Morton wrote:
> 12 patches, based on 169387e2aa291a4e3cb856053730fe99d6cec06f.
^^
I see 7?
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2022-01-29 4:25 ` incoming Matthew Wilcox
@ 2022-01-29 6:23 ` Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-01-29 6:23 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: Linus Torvalds, mm-commits, linux-mm
On Sat, 29 Jan 2022 04:25:33 +0000 Matthew Wilcox <willy@infradead.org> wrote:
> On Fri, Jan 28, 2022 at 06:13:41PM -0800, Andrew Morton wrote:
> > 12 patches, based on 169387e2aa291a4e3cb856053730fe99d6cec06f.
> ^^
>
> I see 7?
Crap, sorry, ignore all this, shall redo tomorrow.
(It wasn't a good day over here. The thing with disk drives is that
the bigger they are, the harder they fall).
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-01-22 6:10 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-01-22 6:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
This is the post-linux-next queue. Material which was based on or
dependent upon material which was in -next.
69 patches, based on 9b57f458985742bd1c585f4c7f36d04634ce1143.
Subsystems affected by this patch series:
mm/migration
sysctl
mm/zsmalloc
proc
lib
Subsystem: mm/migration
Alistair Popple <apopple@nvidia.com>:
mm/migrate.c: rework migration_entry_wait() to not take a pageref
Subsystem: sysctl
Xiaoming Ni <nixiaoming@huawei.com>:
Patch series "sysctl: first set of kernel/sysctl cleanups", v2:
sysctl: add a new register_sysctl_init() interface
sysctl: move some boundary constants from sysctl.c to sysctl_vals
hung_task: move hung_task sysctl interface to hung_task.c
watchdog: move watchdog sysctl interface to watchdog.c
Stephen Kitt <steve@sk2.org>:
sysctl: make ngroups_max const
Xiaoming Ni <nixiaoming@huawei.com>:
sysctl: use const for typically used max/min proc sysctls
sysctl: use SYSCTL_ZERO to replace some static int zero uses
aio: move aio sysctl to aio.c
dnotify: move dnotify sysctl to dnotify.c
Luis Chamberlain <mcgrof@kernel.org>:
Patch series "sysctl: second set of kernel/sysctl cleanups", v2:
hpet: simplify subdirectory registration with register_sysctl()
i915: simplify subdirectory registration with register_sysctl()
macintosh/mac_hid.c: simplify subdirectory registration with register_sysctl()
ocfs2: simplify subdirectory registration with register_sysctl()
test_sysctl: simplify subdirectory registration with register_sysctl()
Xiaoming Ni <nixiaoming@huawei.com>:
inotify: simplify subdirectory registration with register_sysctl()
Luis Chamberlain <mcgrof@kernel.org>:
cdrom: simplify subdirectory registration with register_sysctl()
Xiaoming Ni <nixiaoming@huawei.com>:
eventpoll: simplify sysctl declaration with register_sysctl()
Patch series "sysctl: 3rd set of kernel/sysctl cleanups", v2:
firmware_loader: move firmware sysctl to its own files
random: move the random sysctl declarations to its own file
Luis Chamberlain <mcgrof@kernel.org>:
sysctl: add helper to register a sysctl mount point
fs: move binfmt_misc sysctl to its own file
Xiaoming Ni <nixiaoming@huawei.com>:
printk: move printk sysctl to printk/sysctl.c
scsi/sg: move sg-big-buff sysctl to scsi/sg.c
stackleak: move stack_erasing sysctl to stackleak.c
Luis Chamberlain <mcgrof@kernel.org>:
sysctl: share unsigned long const values
Patch series "sysctl: 4th set of kernel/sysctl cleanups":
fs: move inode sysctls to its own file
fs: move fs stat sysctls to file_table.c
fs: move dcache sysctls to its own file
sysctl: move maxolduid as a sysctl specific const
fs: move shared sysctls to fs/sysctls.c
fs: move locking sysctls where they are used
fs: move namei sysctls to its own file
fs: move fs/exec.c sysctls into its own file
fs: move pipe sysctls to is own file
Patch series "sysctl: add and use base directory declarer and registration helper":
sysctl: add and use base directory declarer and registration helper
fs: move namespace sysctls and declare fs base directory
kernel/sysctl.c: rename sysctl_init() to sysctl_init_bases()
Xiaoming Ni <nixiaoming@huawei.com>:
printk: fix build warning when CONFIG_PRINTK=n
fs/coredump: move coredump sysctls into its own file
kprobe: move sysctl_kprobes_optimization to kprobes.c
Colin Ian King <colin.i.king@gmail.com>:
kernel/sysctl.c: remove unused variable ten_thousand
Baokun Li <libaokun1@huawei.com>:
sysctl: returns -EINVAL when a negative value is passed to proc_doulongvec_minmax
Subsystem: mm/zsmalloc
Minchan Kim <minchan@kernel.org>:
Patch series "zsmalloc: remove bit_spin_lock", v2:
zsmalloc: introduce some helper functions
zsmalloc: rename zs_stat_type to class_stat_type
zsmalloc: decouple class actions from zspage works
zsmalloc: introduce obj_allocated
zsmalloc: move huge compressed obj from page to zspage
zsmalloc: remove zspage isolation for migration
locking/rwlocks: introduce write_lock_nested
zsmalloc: replace per zpage lock with pool->migrate_lock
Mike Galbraith <umgwanakikbuti@gmail.com>:
zsmalloc: replace get_cpu_var with local_lock
Subsystem: proc
Muchun Song <songmuchun@bytedance.com>:
fs: proc: store PDE()->data into inode->i_private
proc: remove PDE_DATA() completely
Subsystem: lib
Vlastimil Babka <vbabka@suse.cz>:
lib/stackdepot: allow optional init and stack_table allocation by kvmalloc()
lib/stackdepot: fix spelling mistake and grammar in pr_err message
lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup
lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup3
lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup4
Marco Elver <elver@google.com>:
lib/stackdepot: always do filter_irq_stacks() in stack_depot_save()
Christoph Hellwig <hch@lst.de>:
Patch series "remove Xen tmem leftovers":
mm: remove cleancache
frontswap: remove frontswap_writethrough
frontswap: remove frontswap_tmem_exclusive_gets
frontswap: remove frontswap_shrink
frontswap: remove frontswap_curr_pages
frontswap: simplify frontswap_init
frontswap: remove the frontswap exports
mm: simplify try_to_unuse
frontswap: remove frontswap_test
frontswap: simplify frontswap_register_ops
mm: mark swap_lock and swap_active_head static
frontswap: remove support for multiple ops
mm: hide the FRONTSWAP Kconfig symbol
Documentation/vm/cleancache.rst | 296 ------
Documentation/vm/frontswap.rst | 31
Documentation/vm/index.rst | 1
MAINTAINERS | 7
arch/alpha/kernel/srm_env.c | 4
arch/arm/configs/bcm2835_defconfig | 1
arch/arm/configs/qcom_defconfig | 1
arch/arm/kernel/atags_proc.c | 2
arch/arm/mm/alignment.c | 2
arch/ia64/kernel/salinfo.c | 10
arch/m68k/configs/amiga_defconfig | 1
arch/m68k/configs/apollo_defconfig | 1
arch/m68k/configs/atari_defconfig | 1
arch/m68k/configs/bvme6000_defconfig | 1
arch/m68k/configs/hp300_defconfig | 1
arch/m68k/configs/mac_defconfig | 1
arch/m68k/configs/multi_defconfig | 1
arch/m68k/configs/mvme147_defconfig | 1
arch/m68k/configs/mvme16x_defconfig | 1
arch/m68k/configs/q40_defconfig | 1
arch/m68k/configs/sun3_defconfig | 1
arch/m68k/configs/sun3x_defconfig | 1
arch/powerpc/kernel/proc_powerpc.c | 4
arch/s390/configs/debug_defconfig | 1
arch/s390/configs/defconfig | 1
arch/sh/mm/alignment.c | 4
arch/xtensa/platforms/iss/simdisk.c | 4
block/bdev.c | 5
drivers/acpi/proc.c | 2
drivers/base/firmware_loader/fallback.c | 7
drivers/base/firmware_loader/fallback.h | 11
drivers/base/firmware_loader/fallback_table.c | 25
drivers/cdrom/cdrom.c | 23
drivers/char/hpet.c | 22
drivers/char/random.c | 14
drivers/gpu/drm/drm_dp_mst_topology.c | 1
drivers/gpu/drm/drm_mm.c | 4
drivers/gpu/drm/drm_modeset_lock.c | 9
drivers/gpu/drm/i915/i915_perf.c | 22
drivers/gpu/drm/i915/intel_runtime_pm.c | 3
drivers/hwmon/dell-smm-hwmon.c | 4
drivers/macintosh/mac_hid.c | 24
drivers/net/bonding/bond_procfs.c | 8
drivers/net/wireless/cisco/airo.c | 22
drivers/net/wireless/intersil/hostap/hostap_ap.c | 16
drivers/net/wireless/intersil/hostap/hostap_download.c | 2
drivers/net/wireless/intersil/hostap/hostap_proc.c | 24
drivers/net/wireless/ray_cs.c | 2
drivers/nubus/proc.c | 36
drivers/parisc/led.c | 4
drivers/pci/proc.c | 10
drivers/platform/x86/thinkpad_acpi.c | 4
drivers/platform/x86/toshiba_acpi.c | 16
drivers/pnp/isapnp/proc.c | 2
drivers/pnp/pnpbios/proc.c | 4
drivers/scsi/scsi_proc.c | 4
drivers/scsi/sg.c | 35
drivers/usb/gadget/function/rndis.c | 4
drivers/zorro/proc.c | 2
fs/Makefile | 4
fs/afs/proc.c | 6
fs/aio.c | 31
fs/binfmt_misc.c | 6
fs/btrfs/extent_io.c | 10
fs/btrfs/super.c | 2
fs/coredump.c | 66 +
fs/dcache.c | 37
fs/eventpoll.c | 10
fs/exec.c | 145 +--
fs/ext4/mballoc.c | 14
fs/ext4/readpage.c | 6
fs/ext4/super.c | 3
fs/f2fs/data.c | 13
fs/file_table.c | 47 -
fs/inode.c | 39
fs/jbd2/journal.c | 2
fs/locks.c | 34
fs/mpage.c | 7
fs/namei.c | 58 +
fs/namespace.c | 24
fs/notify/dnotify/dnotify.c | 21
fs/notify/fanotify/fanotify_user.c | 10
fs/notify/inotify/inotify_user.c | 11
fs/ntfs3/ntfs_fs.h | 1
fs/ocfs2/stackglue.c | 25
fs/ocfs2/super.c | 2
fs/pipe.c | 64 +
fs/proc/generic.c | 6
fs/proc/inode.c | 1
fs/proc/internal.h | 5
fs/proc/proc_net.c | 8
fs/proc/proc_sysctl.c | 67 +
fs/super.c | 3
fs/sysctls.c | 47 -
include/linux/aio.h | 4
include/linux/cleancache.h | 124 --
include/linux/coredump.h | 10
include/linux/dcache.h | 10
include/linux/dnotify.h | 1
include/linux/fanotify.h | 2
include/linux/frontswap.h | 35
include/linux/fs.h | 18
include/linux/inotify.h | 3
include/linux/kprobes.h | 6
include/linux/migrate.h | 2
include/linux/mount.h | 3
include/linux/pipe_fs_i.h | 4
include/linux/poll.h | 2
include/linux/printk.h | 4
include/linux/proc_fs.h | 17
include/linux/ref_tracker.h | 2
include/linux/rwlock.h | 6
include/linux/rwlock_api_smp.h | 8
include/linux/rwlock_rt.h | 10
include/linux/sched/sysctl.h | 14
include/linux/seq_file.h | 2
include/linux/shmem_fs.h | 3
include/linux/spinlock_api_up.h | 1
include/linux/stackdepot.h | 25
include/linux/stackleak.h | 5
include/linux/swapfile.h | 3
include/linux/sysctl.h | 67 +
include/scsi/sg.h | 4
init/main.c | 9
ipc/util.c | 2
kernel/hung_task.c | 81 +
kernel/irq/proc.c | 8
kernel/kprobes.c | 30
kernel/locking/spinlock.c | 10
kernel/locking/spinlock_rt.c | 12
kernel/printk/Makefile | 5
kernel/printk/internal.h | 8
kernel/printk/printk.c | 4
kernel/printk/sysctl.c | 85 +
kernel/resource.c | 4
kernel/stackleak.c | 26
kernel/sysctl.c | 790 +----------------
kernel/watchdog.c | 101 ++
lib/Kconfig | 4
lib/Kconfig.kasan | 2
lib/stackdepot.c | 46
lib/test_sysctl.c | 22
mm/Kconfig | 40
mm/Makefile | 1
mm/cleancache.c | 315 ------
mm/filemap.c | 102 +-
mm/frontswap.c | 259 -----
mm/kasan/common.c | 1
mm/migrate.c | 38
mm/page_owner.c | 2
mm/shmem.c | 33
mm/swapfile.c | 90 -
mm/truncate.c | 15
mm/zsmalloc.c | 557 ++++-------
mm/zswap.c | 8
net/atm/proc.c | 4
net/bluetooth/af_bluetooth.c | 8
net/can/bcm.c | 2
net/can/proc.c | 2
net/core/neighbour.c | 6
net/core/pktgen.c | 6
net/ipv4/netfilter/ipt_CLUSTERIP.c | 6
net/ipv4/raw.c | 8
net/ipv4/tcp_ipv4.c | 2
net/ipv4/udp.c | 6
net/netfilter/x_tables.c | 10
net/netfilter/xt_hashlimit.c | 18
net/netfilter/xt_recent.c | 4
net/sunrpc/auth_gss/svcauth_gss.c | 4
net/sunrpc/cache.c | 24
net/sunrpc/stats.c | 2
sound/core/info.c | 4
172 files changed, 1877 insertions(+), 2931 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-01-20 2:07 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-01-20 2:07 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
55 patches, based on df0cc57e057f18e44dac8e6c18aba47ab53202f9 ("Linux 5.16")
Subsystems affected by this patch series:
percpu
procfs
sysctl
misc
core-kernel
get_maintainer
lib
checkpatch
binfmt
nilfs2
hfs
fat
adfs
panic
delayacct
kconfig
kcov
ubsan
Subsystem: percpu
Kefeng Wang <wangkefeng.wang@huawei.com>:
Patch series "mm: percpu: Cleanup percpu first chunk function":
mm: percpu: generalize percpu related config
mm: percpu: add pcpu_fc_cpu_to_node_fn_t typedef
mm: percpu: add generic pcpu_fc_alloc/free funciton
mm: percpu: add generic pcpu_populate_pte() function
Subsystem: procfs
David Hildenbrand <david@redhat.com>:
proc/vmcore: don't fake reading zeroes on surprise vmcore_cb unregistration
Hans de Goede <hdegoede@redhat.com>:
proc: make the proc_create[_data]() stubs static inlines
Qi Zheng <zhengqi.arch@bytedance.com>:
proc: convert the return type of proc_fd_access_allowed() to be boolean
Subsystem: sysctl
Geert Uytterhoeven <geert+renesas@glider.be>:
sysctl: fix duplicate path separator in printed entries
luo penghao <luo.penghao@zte.com.cn>:
sysctl: remove redundant ret assignment
Subsystem: misc
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
include/linux/unaligned: replace kernel.h with the necessary inclusions
kernel.h: include a note to discourage people from including it in headers
Subsystem: core-kernel
Yafang Shao <laoar.shao@gmail.com>:
Patch series "task comm cleanups", v2:
fs/exec: replace strlcpy with strscpy_pad in __set_task_comm
fs/exec: replace strncpy with strscpy_pad in __get_task_comm
drivers/infiniband: replace open-coded string copy with get_task_comm
fs/binfmt_elf: replace open-coded string copy with get_task_comm
samples/bpf/test_overhead_kprobe_kern: replace bpf_probe_read_kernel with bpf_probe_read_kernel_str to get task comm
tools/bpf/bpftool/skeleton: replace bpf_probe_read_kernel with bpf_probe_read_kernel_str to get task comm
tools/testing/selftests/bpf: replace open-coded 16 with TASK_COMM_LEN
kthread: dynamically allocate memory to store kthread's full name
Davidlohr Bueso <dave@stgolabs.net>:
kernel/sys.c: only take tasklist_lock for get/setpriority(PRIO_PGRP)
Subsystem: get_maintainer
Randy Dunlap <rdunlap@infradead.org>:
get_maintainer: don't remind about no git repo when --nogit is used
Subsystem: lib
Alexey Dobriyan <adobriyan@gmail.com>:
kstrtox: uninline everything
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
list: introduce list_is_head() helper and re-use it in list.h
Zhen Lei <thunder.leizhen@huawei.com>:
lib/list_debug.c: print more list debugging context in __list_del_entry_valid()
Isabella Basso <isabbasso@riseup.net>:
Patch series "test_hash.c: refactor into KUnit", v3:
hash.h: remove unused define directive
test_hash.c: split test_int_hash into arch-specific functions
test_hash.c: split test_hash_init
lib/Kconfig.debug: properly split hash test kernel entries
test_hash.c: refactor into kunit
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kunit: replace kernel.h with the necessary inclusions
uuid: discourage people from using UAPI header in new code
uuid: remove licence boilerplate text from the header
Andrey Konovalov <andreyknvl@google.com>:
lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test
Subsystem: checkpatch
Jerome Forissier <jerome@forissier.org>:
checkpatch: relax regexp for COMMIT_LOG_LONG_LINE
Joe Perches <joe@perches.com>:
checkpatch: improve Kconfig help test
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
const_structs.checkpatch: add frequently used ops structs
Subsystem: binfmt
"H.J. Lu" <hjl.tools@gmail.com>:
fs/binfmt_elf: use PT_LOAD p_align values for static PIE
Subsystem: nilfs2
Colin Ian King <colin.i.king@gmail.com>:
nilfs2: remove redundant pointer sbufs
Subsystem: hfs
Kees Cook <keescook@chromium.org>:
hfsplus: use struct_group_attr() for memcpy() region
Subsystem: fat
"NeilBrown" <neilb@suse.de>:
FAT: use io_schedule_timeout() instead of congestion_wait()
Subsystem: adfs
Minghao Chi <chi.minghao@zte.com.cn>:
fs/adfs: remove unneeded variable make code cleaner
Subsystem: panic
Marco Elver <elver@google.com>:
panic: use error_report_end tracepoint on warnings
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
panic: remove oops_id
Subsystem: delayacct
Yang Yang <yang.yang29@zte.com.cn>:
delayacct: support swapin delay accounting for swapping without blkio
delayacct: fix incomplete disable operation when switch enable to disable
delayacct: cleanup flags in struct task_delay_info and functions use it
wangyong <wang.yong12@zte.com.cn>:
Documentation/accounting/delay-accounting.rst: add thrashing page cache and direct compact
delayacct: track delays from memory compact
Subsystem: kconfig
Qian Cai <quic_qiancai@quicinc.com>:
configs: introduce debug.config for CI-like setup
Nathan Chancellor <nathan@kernel.org>:
Patch series "Fix CONFIG_TEST_KMOD with 256kB page size":
arch/Kconfig: split PAGE_SIZE_LESS_THAN_256KB from PAGE_SIZE_LESS_THAN_64KB
btrfs: use generic Kconfig option for 256kB page size limit
lib/Kconfig.debug: make TEST_KMOD depend on PAGE_SIZE_LESS_THAN_256KB
Subsystem: kcov
Marco Elver <elver@google.com>:
kcov: fix generic Kconfig dependencies if ARCH_WANTS_NO_INSTR
Subsystem: ubsan
Kees Cook <keescook@chromium.org>:
ubsan: remove CONFIG_UBSAN_OBJECT_SIZE
Colin Ian King <colin.i.king@gmail.com>:
lib: remove redundant assignment to variable ret
Documentation/accounting/delay-accounting.rst | 63 +-
arch/Kconfig | 4
arch/arm64/Kconfig | 20
arch/ia64/Kconfig | 9
arch/mips/Kconfig | 10
arch/mips/mm/init.c | 28 -
arch/powerpc/Kconfig | 17
arch/powerpc/kernel/setup_64.c | 113 ----
arch/riscv/Kconfig | 10
arch/sparc/Kconfig | 12
arch/sparc/kernel/led.c | 8
arch/sparc/kernel/smp_64.c | 119 -----
arch/x86/Kconfig | 19
arch/x86/kernel/setup_percpu.c | 82 ---
drivers/base/arch_numa.c | 78 ---
drivers/infiniband/hw/qib/qib.h | 2
drivers/infiniband/hw/qib/qib_file_ops.c | 2
drivers/infiniband/sw/rxe/rxe_qp.c | 3
drivers/net/wireless/broadcom/brcm80211/brcmfmac/xtlv.c | 2
fs/adfs/inode.c | 4
fs/binfmt_elf.c | 6
fs/btrfs/Kconfig | 3
fs/exec.c | 5
fs/fat/file.c | 5
fs/hfsplus/hfsplus_raw.h | 12
fs/hfsplus/xattr.c | 4
fs/nilfs2/page.c | 4
fs/proc/array.c | 3
fs/proc/base.c | 4
fs/proc/proc_sysctl.c | 9
fs/proc/vmcore.c | 10
include/kunit/assert.h | 2
include/linux/delayacct.h | 107 ++--
include/linux/elfcore-compat.h | 5
include/linux/elfcore.h | 5
include/linux/hash.h | 5
include/linux/kernel.h | 9
include/linux/kthread.h | 1
include/linux/list.h | 36 -
include/linux/percpu.h | 21
include/linux/proc_fs.h | 12
include/linux/sched.h | 9
include/linux/unaligned/packed_struct.h | 2
include/trace/events/error_report.h | 8
include/uapi/linux/taskstats.h | 6
include/uapi/linux/uuid.h | 10
kernel/configs/debug.config | 105 ++++
kernel/delayacct.c | 49 +-
kernel/kthread.c | 32 +
kernel/panic.c | 21
kernel/sys.c | 16
lib/Kconfig.debug | 45 +
lib/Kconfig.ubsan | 13
lib/Makefile | 5
lib/asn1_encoder.c | 2
lib/kstrtox.c | 12
lib/list_debug.c | 8
lib/lz4/lz4defs.h | 2
lib/test_hash.c | 375 +++++++---------
lib/test_meminit.c | 1
lib/test_ubsan.c | 22
mm/Kconfig | 12
mm/memory.c | 4
mm/page_alloc.c | 3
mm/page_io.c | 3
mm/percpu.c | 168 +++++--
samples/bpf/offwaketime_kern.c | 4
samples/bpf/test_overhead_kprobe_kern.c | 11
samples/bpf/test_overhead_tp_kern.c | 5
scripts/Makefile.ubsan | 1
scripts/checkpatch.pl | 54 +-
scripts/const_structs.checkpatch | 23
scripts/get_maintainer.pl | 2
tools/accounting/getdelays.c | 8
tools/bpf/bpftool/skeleton/pid_iter.bpf.c | 4
tools/include/linux/hash.h | 5
tools/testing/selftests/bpf/progs/test_stacktrace_map.c | 6
tools/testing/selftests/bpf/progs/test_tracepoint.c | 6
78 files changed, 943 insertions(+), 992 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2022-01-14 22:02 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2022-01-14 22:02 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
146 patches, based on df0cc57e057f18e44dac8e6c18aba47ab53202f9 ("Linux 5.16")
Subsystems affected by this patch series:
kthread
ia64
scripts
ntfs
squashfs
ocfs2
vfs
mm/slab-generic
mm/slab
mm/kmemleak
mm/dax
mm/kasan
mm/debug
mm/pagecache
mm/gup
mm/shmem
mm/frontswap
mm/memremap
mm/memcg
mm/selftests
mm/pagemap
mm/dma
mm/vmalloc
mm/memory-failure
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/mempolicy
mm/oom-kill
mm/hugetlbfs
mm/migration
mm/thp
mm/ksm
mm/page-poison
mm/percpu
mm/rmap
mm/zswap
mm/zram
mm/cleanups
mm/hmm
mm/damon
Subsystem: kthread
Cai Huoqing <caihuoqing@baidu.com>:
kthread: add the helper function kthread_run_on_cpu()
RDMA/siw: make use of the helper function kthread_run_on_cpu()
ring-buffer: make use of the helper function kthread_run_on_cpu()
rcutorture: make use of the helper function kthread_run_on_cpu()
trace/osnoise: make use of the helper function kthread_run_on_cpu()
trace/hwlat: make use of the helper function kthread_run_on_cpu()
Subsystem: ia64
Yang Guang <yang.guang5@zte.com.cn>:
ia64: module: use swap() to make code cleaner
arch/ia64/kernel/setup.c: use swap() to make code cleaner
Jason Wang <wangborong@cdjrlc.com>:
ia64: fix typo in a comment
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
ia64: topology: use default_groups in kobj_type
Subsystem: scripts
Drew Fustini <dfustini@baylibre.com>:
scripts/spelling.txt: add "oveflow"
Subsystem: ntfs
Yang Li <yang.lee@linux.alibaba.com>:
fs/ntfs/attrib.c: fix one kernel-doc comment
Subsystem: squashfs
Zheng Liang <zhengliang6@huawei.com>:
squashfs: provide backing_dev_info in order to disable read-ahead
Subsystem: ocfs2
Zhang Mingyu <zhang.mingyu@zte.com.cn>:
ocfs2: use BUG_ON instead of if condition followed by BUG.
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: clearly handle ocfs2_grab_pages_for_write() return value
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
ocfs2: use default_groups in kobj_type
Colin Ian King <colin.i.king@gmail.com>:
ocfs2: remove redundant assignment to pointer root_bh
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
ocfs2: cluster: use default_groups in kobj_type
Colin Ian King <colin.i.king@gmail.com>:
ocfs2: remove redundant assignment to variable free_space
Subsystem: vfs
Amit Daniel Kachhap <amit.kachhap@arm.com>:
fs/ioctl: remove unnecessary __user annotation
Subsystem: mm/slab-generic
Marco Elver <elver@google.com>:
mm/slab_common: use WARN() if cache still has objects on destroy
Subsystem: mm/slab
Muchun Song <songmuchun@bytedance.com>:
mm: slab: make slab iterator functions static
Subsystem: mm/kmemleak
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
kmemleak: fix kmemleak false positive report with HW tag-based kasan enable
Calvin Zhang <calvinzhang.cool@gmail.com>:
mm: kmemleak: alloc gray object for reserved region with direct map
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: defer kmemleak object creation of module_alloc()
Subsystem: mm/dax
Joao Martins <joao.m.martins@oracle.com>:
Patch series "mm, device-dax: Introduce compound pages in devmap", v7:
mm/page_alloc: split prep_compound_page into head and tail subparts
mm/page_alloc: refactor memmap_init_zone_device() page init
mm/memremap: add ZONE_DEVICE support for compound pages
device-dax: use ALIGN() for determining pgoff
device-dax: use struct_size()
device-dax: ensure dev_dax->pgmap is valid for dynamic devices
device-dax: factor out page mapping initialization
device-dax: set mapping prior to vmf_insert_pfn{,_pmd,pud}()
device-dax: remove pfn from __dev_dax_{pte,pmd,pud}_fault()
device-dax: compound devmap support
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
kasan: test: add globals left-out-of-bounds test
kasan: add ability to detect double-kmem_cache_destroy()
kasan: test: add test case for double-kmem_cache_destroy()
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix quarantine conflicting with init_on_free
Subsystem: mm/debug
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm,fs: split dump_mapping() out from dump_page()
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/debug_vm_pgtable: update comments regarding migration swap entries
Subsystem: mm/pagecache
chiminghao <chi.minghao@zte.com.cn>:
mm/truncate.c: remove unneeded variable
Subsystem: mm/gup
Christophe Leroy <christophe.leroy@csgroup.eu>:
gup: avoid multiple user access locking/unlocking in fault_in_{read/write}able
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/gup.c: stricter check on THP migration entry during follow_pmd_mask
Subsystem: mm/shmem
Yang Shi <shy828301@gmail.com>:
mm: shmem: don't truncate page if memory failure happens
Gang Li <ligang.bdlg@bytedance.com>:
shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode
Subsystem: mm/frontswap
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
mm/frontswap.c: use non-atomic '__set_bit()' when possible
Subsystem: mm/memremap
Subsystem: mm/memcg
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: make cgroup_memory_nokmem static
Donghai Qiao <dqiao@redhat.com>:
mm/page_counter: remove an incorrect call to propagate_protected_usage()
Dan Schatzberg <schatzberg.dan@gmail.com>:
mm/memcg: add oom_group_kill memory event
Shakeel Butt <shakeelb@google.com>:
memcg: better bounds on the memcg stats updates
Wang Weiyang <wangweiyang2@huawei.com>:
mm/memcg: use struct_size() helper in kzalloc()
Shakeel Butt <shakeelb@google.com>:
memcg: add per-memcg vmalloc stat
Subsystem: mm/selftests
chiminghao <chi.minghao@zte.com.cn>:
tools/testing/selftests/vm/userfaultfd.c: use swap() to make code cleaner
Subsystem: mm/pagemap
Qi Zheng <zhengqi.arch@bytedance.com>:
mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
Colin Cross <ccross@google.com>:
Patch series "mm: rearrange madvise code to allow for reuse", v11:
mm: rearrange madvise code to allow for reuse
mm: add a field to store names for private anonymous memory
Suren Baghdasaryan <surenb@google.com>:
mm: add anonymous vma name refcounting
Arnd Bergmann <arnd@arndb.de>:
mm: move anon_vma declarations to linux/mm_inline.h
mm: move tlb_flush_pending inline helpers to mm_inline.h
Suren Baghdasaryan <surenb@google.com>:
mm: protect free_pgtables with mmap_lock write lock in exit_mmap
mm: document locking restrictions for vm_operations_struct::close
mm/oom_kill: allow process_mrelease to run under mmap_lock protection
Shuah Khan <skhan@linuxfoundation.org>:
docs/vm: add vmalloced-kernel-stacks document
Pasha Tatashin <pasha.tatashin@soleen.com>:
Patch series "page table check", v3:
mm: change page type prior to adding page table entry
mm: ptep_clear() page table helper
mm: page table check
x86: mm: add x86_64 support for page table check
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: remove last argument of reuse_swap_page()
mm: remove the total_mapcount argument from page_trans_huge_map_swapcount()
mm: remove the total_mapcount argument from page_trans_huge_mapcount()
Subsystem: mm/dma
Christian König <christian.koenig@amd.com>:
mm/dmapool.c: revert "make dma pool to use kmalloc_node"
Subsystem: mm/vmalloc
Michal Hocko <mhocko@suse.com>:
Patch series "extend vmalloc support for constrained allocations", v2:
mm/vmalloc: alloc GFP_NO{FS,IO} for vmalloc
mm/vmalloc: add support for __GFP_NOFAIL
mm/vmalloc: be more explicit about supported gfp flags.
mm: allow !GFP_KERNEL allocations for kvmalloc
mm: make slab and vmalloc allocators __GFP_NOLOCKDEP aware
"NeilBrown" <neilb@suse.de>:
mm: introduce memalloc_retry_wait()
Suren Baghdasaryan <surenb@google.com>:
mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30%
Changcheng Deng <deng.changcheng@zte.com.cn>:
mm: fix boolreturn.cocci warning
Xiongwei Song <sxwjean@gmail.com>:
mm: page_alloc: fix building error on -Werror=array-compare
Michal Hocko <mhocko@suse.com>:
mm: drop node from alloc_pages_vma
Miles Chen <miles.chen@mediatek.com>:
include/linux/gfp.h: further document GFP_DMA32
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/page_alloc.c: modify the comment section for alloc_contig_pages()
Baoquan He <bhe@redhat.com>:
Patch series "Handle warning of allocation failure on DMA zone w/o managed pages", v4:
mm_zone: add function to check if managed dma zone exists
dma/pool: create dma atomic pool only if dma zone has managed pages
mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed pages
Subsystem: mm/memory-failure
Subsystem: mm/hugetlb
Mina Almasry <almasrymina@google.com>:
hugetlb: add hugetlb.*.numa_stat file
Yosry Ahmed <yosryahmed@google.com>:
mm, hugepages: make memory size variable in hugepage-mremap selftest
Yang Yang <yang.yang29@zte.com.cn>:
mm/vmstat: add events for THP max_ptes_* exceeds
Waiman Long <longman@redhat.com>:
selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting
Subsystem: mm/userfaultfd
Peter Xu <peterx@redhat.com>:
selftests/uffd: allow EINTR/EAGAIN
Mike Kravetz <mike.kravetz@oracle.com>:
userfaultfd/selftests: clean up hugetlb allocation code
Subsystem: mm/vmscan
Gang Li <ligang.bdlg@bytedance.com>:
vmscan: make drop_slab_node static
Chen Wandun <chenwandun@huawei.com>:
mm/page_isolation: unset migratetype directly for non Buddy page
Subsystem: mm/mempolicy
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "mm: add new syscall set_mempolicy_home_node", v6:
mm/mempolicy: use policy_node helper with MPOL_PREFERRED_MANY
mm/mempolicy: add set_mempolicy_home_node syscall
mm/mempolicy: wire up syscall set_mempolicy_home_node
Randy Dunlap <rdunlap@infradead.org>:
mm/mempolicy: fix all kernel-doc warnings
Subsystem: mm/oom-kill
Jann Horn <jannh@google.com>:
mm, oom: OOM sysrq should always kill a process
Subsystem: mm/hugetlbfs
Sean Christopherson <seanjc@google.com>:
hugetlbfs: fix off-by-one error in hugetlb_vmdelete_list()
Subsystem: mm/migration
Baolin Wang <baolin.wang@linux.alibaba.com>:
Patch series "Improve the migration stats":
mm: migrate: fix the return value of migrate_pages()
mm: migrate: correct the hugetlb migration stats
mm: compaction: fix the migration stats in trace_mm_compaction_migratepages()
mm: migrate: support multiple target nodes demotion
mm: migrate: add more comments for selecting target node randomly
Huang Ying <ying.huang@intel.com>:
mm/migrate: move node demotion code to near its user
Colin Ian King <colin.i.king@gmail.com>:
mm/migrate: remove redundant variables used in a for-loop
Subsystem: mm/thp
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/thp: drop unused trace events hugepage_[invalidate|splitting]
Subsystem: mm/ksm
Nanyong Sun <sunnanyong@huawei.com>:
mm: ksm: fix use-after-free kasan report in ksm_might_need_to_copy
Subsystem: mm/page-poison
Naoya Horiguchi <naoya.horiguchi@nec.com>:
Patch series "mm/hwpoison: fix unpoison_memory()", v4:
mm/hwpoison: mf_mutex for soft offline and unpoison
mm/hwpoison: remove MF_MSG_BUDDY_2ND and MF_MSG_POISONED_HUGE
mm/hwpoison: fix unpoison_memory()
Subsystem: mm/percpu
Qi Zheng <zhengqi.arch@bytedance.com>:
mm: memcg/percpu: account extra objcg space to memory cgroups
Subsystem: mm/rmap
Huang Ying <ying.huang@intel.com>:
mm/rmap: fix potential batched TLB flush race
Subsystem: mm/zswap
Zhaoyu Liu <zackary.liu.pro@gmail.com>:
zpool: remove the list of pools_head
Subsystem: mm/zram
Luis Chamberlain <mcgrof@kernel.org>:
zram: use ATTRIBUTE_GROUPS
Subsystem: mm/cleanups
Quanfa Fu <fuqf0919@gmail.com>:
mm: fix some comment errors
Ting Liu <liuting.0x7c00@bytedance.com>:
mm: make some vars and functions static or __init
Subsystem: mm/hmm
Alistair Popple <apopple@nvidia.com>:
mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault
Subsystem: mm/damon
Xin Hao <xhao@linux.alibaba.com>:
Patch series "mm/damon: Do some small changes", v4:
mm/damon: unified access_check function naming rules
mm/damon: add 'age' of region tracepoint support
mm/damon/core: use abs() instead of diff_of()
mm/damon: remove some unneeded function definitions in damon.h
Yihao Han <hanyihao@vivo.com>:
mm/damon/vaddr: remove swap_ranges() and replace it with swap()
Xin Hao <xhao@linux.alibaba.com>:
mm/damon/schemes: add the validity judgment of thresholds
mm/damon: move damon_rand() definition into damon.h
mm/damon: modify damon_rand() macro to static inline function
SeongJae Park <sj@kernel.org>:
Patch series "mm/damon: Misc cleanups":
mm/damon: convert macro functions to static inline functions
Docs/admin-guide/mm/damon/usage: update for scheme quotas and watermarks
Docs/admin-guide/mm/damon/usage: remove redundant information
Docs/admin-guide/mm/damon/usage: mention tracepoint at the beginning
Docs/admin-guide/mm/damon/usage: update for kdamond_pid and (mk|rm)_contexts
mm/damon: remove a mistakenly added comment for a future feature
Patch series "mm/damon/schemes: Extend stats for better online analysis and tuning":
mm/damon/schemes: account scheme actions that successfully applied
mm/damon/schemes: account how many times quota limit has exceeded
mm/damon/reclaim: provide reclamation statistics
Docs/admin-guide/mm/damon/reclaim: document statistics parameters
mm/damon/dbgfs: support all DAMOS stats
Docs/admin-guide/mm/damon/usage: update for schemes statistics
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm/damon: add access checking for hugetlb pages
Guoqing Jiang <guoqing.jiang@linux.dev>:
mm/damon: move the implementation of damon_insert_region to damon.h
SeongJae Park <sj@kernel.org>:
Patch series "mm/damon: Hide unnecessary information disclosures":
mm/damon/dbgfs: remove an unnecessary variable
mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging
mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log
mm/damon: hide kernel pointer from tracepoint event
Documentation/admin-guide/cgroup-v1/hugetlb.rst | 4
Documentation/admin-guide/cgroup-v2.rst | 11
Documentation/admin-guide/mm/damon/reclaim.rst | 25
Documentation/admin-guide/mm/damon/usage.rst | 235 +++++--
Documentation/admin-guide/mm/numa_memory_policy.rst | 16
Documentation/admin-guide/sysctl/vm.rst | 2
Documentation/filesystems/proc.rst | 6
Documentation/vm/arch_pgtable_helpers.rst | 20
Documentation/vm/index.rst | 2
Documentation/vm/page_migration.rst | 12
Documentation/vm/page_table_check.rst | 56 +
Documentation/vm/vmalloced-kernel-stacks.rst | 153 ++++
MAINTAINERS | 9
arch/Kconfig | 3
arch/alpha/kernel/syscalls/syscall.tbl | 1
arch/alpha/mm/fault.c | 16
arch/arc/mm/fault.c | 3
arch/arm/mm/fault.c | 2
arch/arm/tools/syscall.tbl | 1
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 2
arch/arm64/kernel/module.c | 4
arch/arm64/mm/fault.c | 6
arch/hexagon/mm/vm_fault.c | 8
arch/ia64/kernel/module.c | 6
arch/ia64/kernel/setup.c | 5
arch/ia64/kernel/syscalls/syscall.tbl | 1
arch/ia64/kernel/topology.c | 3
arch/ia64/kernel/uncached.c | 2
arch/ia64/mm/fault.c | 16
arch/m68k/kernel/syscalls/syscall.tbl | 1
arch/m68k/mm/fault.c | 18
arch/microblaze/kernel/syscalls/syscall.tbl | 1
arch/microblaze/mm/fault.c | 18
arch/mips/kernel/syscalls/syscall_n32.tbl | 1
arch/mips/kernel/syscalls/syscall_n64.tbl | 1
arch/mips/kernel/syscalls/syscall_o32.tbl | 1
arch/mips/mm/fault.c | 19
arch/nds32/mm/fault.c | 16
arch/nios2/mm/fault.c | 18
arch/openrisc/mm/fault.c | 18
arch/parisc/kernel/syscalls/syscall.tbl | 1
arch/parisc/mm/fault.c | 18
arch/powerpc/kernel/syscalls/syscall.tbl | 1
arch/powerpc/mm/fault.c | 6
arch/riscv/mm/fault.c | 2
arch/s390/kernel/module.c | 5
arch/s390/kernel/syscalls/syscall.tbl | 1
arch/s390/mm/fault.c | 28
arch/sh/kernel/syscalls/syscall.tbl | 1
arch/sh/mm/fault.c | 18
arch/sparc/kernel/syscalls/syscall.tbl | 1
arch/sparc/mm/fault_32.c | 16
arch/sparc/mm/fault_64.c | 16
arch/um/kernel/trap.c | 8
arch/x86/Kconfig | 1
arch/x86/entry/syscalls/syscall_32.tbl | 1
arch/x86/entry/syscalls/syscall_64.tbl | 1
arch/x86/include/asm/pgtable.h | 31 -
arch/x86/kernel/module.c | 7
arch/x86/mm/fault.c | 3
arch/xtensa/kernel/syscalls/syscall.tbl | 1
arch/xtensa/mm/fault.c | 17
drivers/block/zram/zram_drv.c | 11
drivers/dax/bus.c | 32 +
drivers/dax/bus.h | 1
drivers/dax/device.c | 140 ++--
drivers/infiniband/sw/siw/siw_main.c | 7
drivers/of/fdt.c | 6
fs/ext4/extents.c | 8
fs/ext4/inline.c | 5
fs/ext4/page-io.c | 9
fs/f2fs/data.c | 4
fs/f2fs/gc.c | 5
fs/f2fs/inode.c | 4
fs/f2fs/node.c | 4
fs/f2fs/recovery.c | 6
fs/f2fs/segment.c | 9
fs/f2fs/super.c | 5
fs/hugetlbfs/inode.c | 7
fs/inode.c | 49 +
fs/ioctl.c | 2
fs/ntfs/attrib.c | 2
fs/ocfs2/alloc.c | 2
fs/ocfs2/aops.c | 26
fs/ocfs2/cluster/masklog.c | 11
fs/ocfs2/dir.c | 2
fs/ocfs2/filecheck.c | 3
fs/ocfs2/journal.c | 6
fs/proc/task_mmu.c | 13
fs/squashfs/super.c | 33 +
fs/userfaultfd.c | 8
fs/xfs/kmem.c | 3
fs/xfs/xfs_buf.c | 2
include/linux/ceph/libceph.h | 1
include/linux/damon.h | 93 +--
include/linux/fs.h | 1
include/linux/gfp.h | 12
include/linux/hugetlb.h | 4
include/linux/hugetlb_cgroup.h | 7
include/linux/kasan.h | 4
include/linux/kthread.h | 25
include/linux/memcontrol.h | 22
include/linux/mempolicy.h | 1
include/linux/memremap.h | 11
include/linux/mm.h | 76 --
include/linux/mm_inline.h | 136 ++++
include/linux/mm_types.h | 252 +++-----
include/linux/mmzone.h | 9
include/linux/page-flags.h | 6
include/linux/page_idle.h | 1
include/linux/page_table_check.h | 147 ++++
include/linux/pgtable.h | 8
include/linux/sched/mm.h | 26
include/linux/swap.h | 8
include/linux/syscalls.h | 3
include/linux/vm_event_item.h | 3
include/linux/vmalloc.h | 7
include/ras/ras_event.h | 2
include/trace/events/compaction.h | 24
include/trace/events/damon.h | 15
include/trace/events/thp.h | 35 -
include/uapi/asm-generic/unistd.h | 5
include/uapi/linux/prctl.h | 3
kernel/dma/pool.c | 4
kernel/fork.c | 3
kernel/kthread.c | 1
kernel/rcu/rcutorture.c | 7
kernel/sys.c | 63 ++
kernel/sys_ni.c | 1
kernel/sysctl.c | 3
kernel/trace/ring_buffer.c | 7
kernel/trace/trace_hwlat.c | 6
kernel/trace/trace_osnoise.c | 3
lib/test_hmm.c | 24
lib/test_kasan.c | 30
mm/Kconfig | 14
mm/Kconfig.debug | 24
mm/Makefile | 1
mm/compaction.c | 7
mm/damon/core.c | 45 -
mm/damon/dbgfs.c | 20
mm/damon/paddr.c | 24
mm/damon/prmtv-common.h | 4
mm/damon/reclaim.c | 46 +
mm/damon/vaddr.c | 186 ++++--
mm/debug.c | 52 -
mm/debug_vm_pgtable.c | 6
mm/dmapool.c | 2
mm/frontswap.c | 4
mm/gup.c | 31 -
mm/hmm.c | 5
mm/huge_memory.c | 32 -
mm/hugetlb.c | 6
mm/hugetlb_cgroup.c | 133 +++-
mm/internal.h | 7
mm/kasan/quarantine.c | 11
mm/kasan/shadow.c | 9
mm/khugepaged.c | 23
mm/kmemleak.c | 21
mm/ksm.c | 5
mm/madvise.c | 510 ++++++++++------
mm/mapping_dirty_helpers.c | 1
mm/memcontrol.c | 44 -
mm/memory-failure.c | 189 +++---
mm/memory.c | 12
mm/mempolicy.c | 95 ++-
mm/memremap.c | 18
mm/migrate.c | 527 ++++++++++-------
mm/mlock.c | 2
mm/mmap.c | 55 +
mm/mmu_gather.c | 1
mm/mprotect.c | 2
mm/oom_kill.c | 30
mm/page_alloc.c | 198 ++++--
mm/page_counter.c | 1
mm/page_ext.c | 8
mm/page_isolation.c | 2
mm/page_owner.c | 4
mm/page_table_check.c | 270 ++++++++
mm/percpu-internal.h | 18
mm/percpu.c | 10
mm/pgtable-generic.c | 1
mm/rmap.c | 43 +
mm/shmem.c | 91 ++
mm/slab.h | 5
mm/slab_common.c | 34 -
mm/swap.c | 2
mm/swapfile.c | 46 -
mm/truncate.c | 5
mm/userfaultfd.c | 5
mm/util.c | 15
mm/vmalloc.c | 75 +-
mm/vmscan.c | 2
mm/vmstat.c | 3
mm/zpool.c | 12
net/ceph/buffer.c | 4
net/ceph/ceph_common.c | 27
net/ceph/crypto.c | 2
net/ceph/messenger.c | 2
net/ceph/messenger_v2.c | 2
net/ceph/osdmap.c | 12
net/sunrpc/svc_xprt.c | 3
scripts/spelling.txt | 1
tools/testing/selftests/vm/charge_reserved_hugetlb.sh | 34 -
tools/testing/selftests/vm/hmm-tests.c | 42 +
tools/testing/selftests/vm/hugepage-mremap.c | 46 -
tools/testing/selftests/vm/hugetlb_reparenting_test.sh | 21
tools/testing/selftests/vm/run_vmtests.sh | 2
tools/testing/selftests/vm/userfaultfd.c | 33 -
tools/testing/selftests/vm/write_hugetlb_memory.sh | 2
211 files changed, 3980 insertions(+), 1759 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-12-31 4:12 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-12-31 4:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
2 patches, based on 4f3d93c6eaff6b84e43b63e0d7a119c5920e1020.
Subsystems affected by this patch series:
mm/userfaultfd
mm/damon
Subsystem: mm/userfaultfd
Mike Kravetz <mike.kravetz@oracle.com>:
userfaultfd/selftests: fix hugetlb area allocations
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'
mm/damon/dbgfs.c | 9 +++++++--
tools/testing/selftests/vm/userfaultfd.c | 16 ++++++++++------
2 files changed, 17 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-12-25 5:11 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-12-25 5:11 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
9 patches, based on bc491fb12513e79702c6f936c838f792b5389129.
Subsystems affected by this patch series:
mm/kfence
mm/mempolicy
core-kernel
MAINTAINERS
mm/memory-failure
mm/pagemap
mm/pagealloc
mm/damon
mm/memory-failure
Subsystem: mm/kfence
Baokun Li <libaokun1@huawei.com>:
kfence: fix memory leak when cat kfence objects
Subsystem: mm/mempolicy
Andrey Ryabinin <arbn@yandex-team.com>:
mm: mempolicy: fix THP allocations escaping mempolicy restrictions
Subsystem: core-kernel
Philipp Rudo <prudo@redhat.com>:
kernel/crash_core: suppress unknown crashkernel parameter warning
Subsystem: MAINTAINERS
Randy Dunlap <rdunlap@infradead.org>:
MAINTAINERS: mark more list instances as moderated
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm, hwpoison: fix condition in free hugetlb page path
Subsystem: mm/pagemap
Hugh Dickins <hughd@google.com>:
mm: delete unsafe BUG from page_cache_add_speculative()
Subsystem: mm/pagealloc
Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>:
mm/page_alloc: fix __alloc_size attribute for alloc_pages_exact_nid
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
mm/damon/dbgfs: protect targets destructions with kdamond_lock
Subsystem: mm/memory-failure
Liu Shixin <liushixin2@huawei.com>:
mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page()
MAINTAINERS | 4 ++--
include/linux/gfp.h | 2 +-
include/linux/pagemap.h | 1 -
kernel/crash_core.c | 11 +++++++++++
mm/damon/dbgfs.c | 2 ++
mm/kfence/core.c | 1 +
mm/memory-failure.c | 14 +++++---------
mm/mempolicy.c | 3 +--
8 files changed, 23 insertions(+), 15 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-12-10 22:45 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-12-10 22:45 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
21 patches, based on c741e49150dbb0c0aebe234389f4aa8b47958fa8.
Subsystems affected by this patch series:
mm/mlock
MAINTAINERS
mailmap
mm/pagecache
mm/damon
mm/slub
mm/memcg
mm/hugetlb
mm/pagecache
Subsystem: mm/mlock
Drew DeVault <sir@cmpwn.com>:
Increase default MLOCK_LIMIT to 8 MiB
Subsystem: MAINTAINERS
Dave Young <dyoung@redhat.com>:
MAINTAINERS: update kdump maintainers
Subsystem: mailmap
Guo Ren <guoren@linux.alibaba.com>:
mailmap: update email address for Guo Ren
Subsystem: mm/pagecache
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
filemap: remove PageHWPoison check from next_uptodate_page()
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
Patch series "mm/damon: Fix fake /proc/loadavg reports", v3:
timers: implement usleep_idle_range()
mm/damon/core: fix fake load reports due to uninterruptible sleeps
Patch series "mm/damon: Trivial fixups and improvements":
mm/damon/core: use better timer mechanisms selection threshold
mm/damon/dbgfs: remove an unnecessary error message
mm/damon/core: remove unnecessary error messages
mm/damon/vaddr: remove an unnecessary warning message
mm/damon/vaddr-test: split a test function having >1024 bytes frame size
mm/damon/vaddr-test: remove unnecessary variables
selftests/damon: skip test if DAMON is running
selftests/damon: test DAMON enabling with empty target_ids case
selftests/damon: test wrong DAMOS condition ranges input
selftests/damon: test debugfs file reads/writes with huge count
selftests/damon: split test cases
Subsystem: mm/slub
Gerald Schaefer <gerald.schaefer@linux.ibm.com>:
mm/slub: fix endianness bug for alloc/free_traces attributes
Subsystem: mm/memcg
Waiman Long <longman@redhat.com>:
mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock()
Subsystem: mm/hugetlb
Zhenguo Yao <yaozhenguo1@gmail.com>:
hugetlbfs: fix issue of preallocation of gigantic pages can't work
Subsystem: mm/pagecache
Manjong Lee <mj0123.lee@samsung.com>:
mm: bdi: initialize bdi_min_ratio when bdi is unregistered
.mailmap | 2
MAINTAINERS | 2
include/linux/delay.h | 14
include/uapi/linux/resource.h | 13
kernel/time/timer.c | 16 -
mm/backing-dev.c | 7
mm/damon/core.c | 20 -
mm/damon/dbgfs.c | 4
mm/damon/vaddr-test.h | 85 ++---
mm/damon/vaddr.c | 1
mm/filemap.c | 2
mm/hugetlb.c | 2
mm/memcontrol.c | 106 +++----
mm/slub.c | 15 -
tools/testing/selftests/damon/.gitignore | 2
tools/testing/selftests/damon/Makefile | 7
tools/testing/selftests/damon/_debugfs_common.sh | 52 +++
tools/testing/selftests/damon/debugfs_attrs.sh | 149 ++--------
tools/testing/selftests/damon/debugfs_empty_targets.sh | 13
tools/testing/selftests/damon/debugfs_huge_count_read_write.sh | 22 +
tools/testing/selftests/damon/debugfs_schemes.sh | 19 +
tools/testing/selftests/damon/debugfs_target_ids.sh | 19 +
tools/testing/selftests/damon/huge_count_read_write.c | 39 ++
23 files changed, 363 insertions(+), 248 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-11-20 0:42 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-11-20 0:42 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
15 patches, based on a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81.
Subsystems affected by this patch series:
mm/swap
ipc
mm/slab-generic
hexagon
mm/kmemleak
mm/hugetlb
mm/kasan
mm/damon
mm/highmem
proc
Subsystem: mm/swap
Matthew Wilcox <willy@infradead.org>:
mm/swap.c:put_pages_list(): reinitialise the page list
Subsystem: ipc
Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>:
Patch series "shm: shm_rmid_forced feature fixes":
ipc: WARN if trying to remove ipc object which is absent
shm: extend forced shm destroy to support objects from several IPC nses
Subsystem: mm/slab-generic
Yunfeng Ye <yeyunfeng@huawei.com>:
mm: emit the "free" trace report before freeing memory in kmem_cache_free()
Subsystem: hexagon
Nathan Chancellor <nathan@kernel.org>:
Patch series "Fixes for ARCH=hexagon allmodconfig", v2:
hexagon: export raw I/O routines for modules
hexagon: clean up timer-regs.h
hexagon: ignore vmlinux.lds
Subsystem: mm/kmemleak
Rustam Kovhaev <rkovhaev@gmail.com>:
mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag
Subsystem: mm/hugetlb
Bui Quang Minh <minhquangbui99@gmail.com>:
hugetlb: fix hugetlb cgroup refcounting during mremap
Mina Almasry <almasrymina@google.com>:
hugetlb, userfaultfd: fix reservation restore on userfaultfd error
Subsystem: mm/kasan
Kees Cook <keescook@chromium.org>:
kasan: test: silence intentional read overflow warnings
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
Patch series "DAMON fixes":
mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation
mm/damon/dbgfs: fix missed use of damon_dbgfs_lock
Subsystem: mm/highmem
Ard Biesheuvel <ardb@kernel.org>:
kmap_local: don't assume kmap PTEs are linear arrays in memory
Subsystem: proc
David Hildenbrand <david@redhat.com>:
proc/vmcore: fix clearing user buffer by properly using clear_user()
arch/arm/Kconfig | 1
arch/hexagon/include/asm/timer-regs.h | 26 ----
arch/hexagon/include/asm/timex.h | 3
arch/hexagon/kernel/.gitignore | 1
arch/hexagon/kernel/time.c | 12 +-
arch/hexagon/lib/io.c | 4
fs/proc/vmcore.c | 20 ++-
include/linux/hugetlb_cgroup.h | 12 ++
include/linux/ipc_namespace.h | 15 ++
include/linux/sched/task.h | 2
ipc/shm.c | 189 +++++++++++++++++++++++++---------
ipc/util.c | 6 -
lib/test_kasan.c | 2
mm/Kconfig | 3
mm/damon/dbgfs.c | 20 ++-
mm/highmem.c | 32 +++--
mm/hugetlb.c | 11 +
mm/slab.c | 3
mm/slab.h | 2
mm/slob.c | 3
mm/slub.c | 2
mm/swap.c | 1
22 files changed, 254 insertions(+), 116 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-11-11 4:32 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-11-11 4:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
The post-linux-next material.
7 patches, based on debe436e77c72fcee804fb867f275e6d31aa999c.
Subsystems affected by this patch series:
mm/debug
mm/slab-generic
mm/migration
mm/memcg
mm/kasan
Subsystem: mm/debug
Yixuan Cao <caoyixuan2019@email.szu.edu.cn>:
mm/page_owner.c: modify the type of argument "order" in some functions
Subsystem: mm/slab-generic
Ingo Molnar <mingo@kernel.org>:
mm: allow only SLUB on PREEMPT_RT
Subsystem: mm/migration
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: migrate: simplify the file-backed pages validation when migrating its mapping
Alistair Popple <apopple@nvidia.com>:
mm/migrate.c: remove MIGRATE_PFN_LOCKED
Subsystem: mm/memcg
Christoph Hellwig <hch@lst.de>:
Patch series "unexport memcg locking helpers":
mm: unexport folio_memcg_{,un}lock
mm: unexport {,un}lock_page_memcg
Subsystem: mm/kasan
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
kasan: add kasan mode messages when kasan init
Documentation/vm/hmm.rst | 2
arch/arm64/mm/kasan_init.c | 2
arch/powerpc/kvm/book3s_hv_uvmem.c | 4
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2
drivers/gpu/drm/nouveau/nouveau_dmem.c | 4
include/linux/migrate.h | 1
include/linux/page_owner.h | 12 +-
init/Kconfig | 2
lib/test_hmm.c | 5 -
mm/kasan/hw_tags.c | 14 ++
mm/kasan/sw_tags.c | 2
mm/memcontrol.c | 4
mm/migrate.c | 151 +++++--------------------------
mm/page_owner.c | 6 -
14 files changed, 61 insertions(+), 150 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-11-09 2:30 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-11-09 2:30 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
87 patches, based on 8bb7eca972ad531c9b149c0a51ab43a417385813, plus
previously sent material.
Subsystems affected by this patch series:
mm/pagecache
mm/hugetlb
procfs
misc
MAINTAINERS
lib
checkpatch
binfmt
kallsyms
ramfs
init
codafs
nilfs2
hfs
crash_dump
signals
seq_file
fork
sysvfs
kcov
gdb
resource
selftests
ipc
Subsystem: mm/pagecache
Johannes Weiner <hannes@cmpxchg.org>:
vfs: keep inodes with page cache off the inode shrinker LRU
Subsystem: mm/hugetlb
zhangyiru <zhangyiru3@huawei.com>:
mm,hugetlb: remove mlock ulimit for SHM_HUGETLB
Subsystem: procfs
Florian Weimer <fweimer@redhat.com>:
procfs: do not list TID 0 in /proc/<pid>/task
David Hildenbrand <david@redhat.com>:
x86/xen: update xen_oldmem_pfn_is_ram() documentation
x86/xen: simplify xen_oldmem_pfn_is_ram()
x86/xen: print a warning when HVMOP_get_mem_type fails
proc/vmcore: let pfn_is_ram() return a bool
proc/vmcore: convert oldmem_pfn_is_ram callback to more generic vmcore callbacks
virtio-mem: factor out hotplug specifics from virtio_mem_init() into virtio_mem_init_hotplug()
virtio-mem: factor out hotplug specifics from virtio_mem_probe() into virtio_mem_init_hotplug()
virtio-mem: factor out hotplug specifics from virtio_mem_remove() into virtio_mem_deinit_hotplug()
virtio-mem: kdump mode to sanitize /proc/vmcore access
Stephen Brennan <stephen.s.brennan@oracle.com>:
proc: allow pid_revalidate() during LOOKUP_RCU
Subsystem: misc
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
Patch series "kernel.h further split", v5:
kernel.h: drop unneeded <linux/kernel.h> inclusion from other headers
kernel.h: split out container_of() and typeof_member() macros
include/kunit/test.h: replace kernel.h with the necessary inclusions
include/linux/list.h: replace kernel.h with the necessary inclusions
include/linux/llist.h: replace kernel.h with the necessary inclusions
include/linux/plist.h: replace kernel.h with the necessary inclusions
include/media/media-entity.h: replace kernel.h with the necessary inclusions
include/linux/delay.h: replace kernel.h with the necessary inclusions
include/linux/sbitmap.h: replace kernel.h with the necessary inclusions
include/linux/radix-tree.h: replace kernel.h with the necessary inclusions
include/linux/generic-radix-tree.h: replace kernel.h with the necessary inclusions
Stephen Rothwell <sfr@canb.auug.org.au>:
kernel.h: split out instruction pointer accessors
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
linux/container_of.h: switch to static_assert
Colin Ian King <colin.i.king@googlemail.com>:
mailmap: update email address for Colin King
Subsystem: MAINTAINERS
Kees Cook <keescook@chromium.org>:
MAINTAINERS: add "exec & binfmt" section with myself and Eric
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
Patch series "Rectify file references for dt-bindings in MAINTAINERS", v5:
MAINTAINERS: rectify entry for ARM/TOSHIBA VISCONTI ARCHITECTURE
MAINTAINERS: rectify entry for HIKEY960 ONBOARD USB GPIO HUB DRIVER
MAINTAINERS: rectify entry for INTEL KEEM BAY DRM DRIVER
MAINTAINERS: rectify entry for ALLWINNER HARDWARE SPINLOCK SUPPORT
Subsystem: lib
Imran Khan <imran.f.khan@oracle.com>:
Patch series "lib, stackdepot: check stackdepot handle before accessing slabs", v2:
lib, stackdepot: check stackdepot handle before accessing slabs
lib, stackdepot: add helper to print stack entries
lib, stackdepot: add helper to print stack entries into buffer
Lucas De Marchi <lucas.demarchi@intel.com>:
include/linux/string_helpers.h: add linux/string.h for strlen()
Alexey Dobriyan <adobriyan@gmail.com>:
lib: uninline simple_strntoull() as well
Thomas Gleixner <tglx@linutronix.de>:
mm/scatterlist: replace the !preemptible warning in sg_miter_stop()
Subsystem: checkpatch
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
const_structs.checkpatch: add a few sound ops structs
Joe Perches <joe@perches.com>:
checkpatch: improve EXPORT_SYMBOL test for EXPORT_SYMBOL_NS uses
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
checkpatch: get default codespell dictionary path from package location
Subsystem: binfmt
Kees Cook <keescook@chromium.org>:
binfmt_elf: reintroduce using MAP_FIXED_NOREPLACE
Alexey Dobriyan <adobriyan@gmail.com>:
ELF: simplify STACK_ALLOC macro
Subsystem: kallsyms
Kefeng Wang <wangkefeng.wang@huawei.com>:
Patch series "sections: Unify kernel sections range check and use", v4:
kallsyms: remove arch specific text and data check
kallsyms: fix address-checks for kernel related range
sections: move and rename core_kernel_data() to is_kernel_core_data()
sections: move is_kernel_inittext() into sections.h
x86: mm: rename __is_kernel_text() to is_x86_32_kernel_text()
sections: provide internal __is_kernel() and __is_kernel_text() helper
mm: kasan: use is_kernel() helper
extable: use is_kernel_text() helper
powerpc/mm: use core_kernel_text() helper
microblaze: use is_kernel_text() helper
alpha: use is_kernel_text() helper
Subsystem: ramfs
yangerkun <yangerkun@huawei.com>:
ramfs: fix mount source show for ramfs
Subsystem: init
Andrew Halaney <ahalaney@redhat.com>:
init: make unknown command line param message clearer
Subsystem: codafs
Jan Harkes <jaharkes@cs.cmu.edu>:
Patch series "Coda updates for -next":
coda: avoid NULL pointer dereference from a bad inode
coda: check for async upcall request using local state
Alex Shi <alex.shi@linux.alibaba.com>:
coda: remove err which no one care
Jan Harkes <jaharkes@cs.cmu.edu>:
coda: avoid flagging NULL inodes
coda: avoid hidden code duplication in rename
coda: avoid doing bad things on inode type changes during revalidation
Xiyu Yang <xiyuyang19@fudan.edu.cn>:
coda: convert from atomic_t to refcount_t on coda_vm_ops->refcnt
Jing Yangyang <jing.yangyang@zte.com.cn>:
coda: use vmemdup_user to replace the open code
Jan Harkes <jaharkes@cs.cmu.edu>:
coda: bump module version to 7.2
Subsystem: nilfs2
Qing Wang <wangqing@vivo.com>:
Patch series "nilfs2 updates":
nilfs2: replace snprintf in show functions with sysfs_emit
Ryusuke Konishi <konishi.ryusuke@gmail.com>:
nilfs2: remove filenames from file comments
Subsystem: hfs
Arnd Bergmann <arnd@arndb.de>:
hfs/hfsplus: use WARN_ON for sanity check
Subsystem: crash_dump
Changcheng Deng <deng.changcheng@zte.com.cn>:
crash_dump: fix boolreturn.cocci warning
Ye Guojin <ye.guojin@zte.com.cn>:
crash_dump: remove duplicate include in crash_dump.h
Subsystem: signals
Ye Guojin <ye.guojin@zte.com.cn>:
signal: remove duplicate include in signal.h
Subsystem: seq_file
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
seq_file: move seq_escape() to a header
Muchun Song <songmuchun@bytedance.com>:
seq_file: fix passing wrong private data
Subsystem: fork
Ran Xiaokai <ran.xiaokai@zte.com.cn>:
kernel/fork.c: unshare(): use swap() to make code cleaner
Subsystem: sysvfs
Pavel Skripkin <paskripkin@gmail.com>:
sysv: use BUILD_BUG_ON instead of runtime check
Subsystem: kcov
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
Patch series "kcov: PREEMPT_RT fixup + misc", v2:
Documentation/kcov: include types.h in the example
Documentation/kcov: define `ip' in the example
kcov: allocate per-CPU memory on the relevant node
kcov: avoid enable+disable interrupts if !in_task()
kcov: replace local_irq_save() with a local_lock_t
Subsystem: gdb
Douglas Anderson <dianders@chromium.org>:
scripts/gdb: handle split debug for vmlinux
Subsystem: resource
David Hildenbrand <david@redhat.com>:
Patch series "virtio-mem: disallow mapping virtio-mem memory via /dev/mem", v5:
kernel/resource: clean up and optimize iomem_is_exclusive()
kernel/resource: disallow access to exclusive system RAM regions
virtio-mem: disallow mapping virtio-mem memory via /dev/mem
Subsystem: selftests
SeongJae Park <sjpark@amazon.de>:
selftests/kselftest/runner/run_one(): allow running non-executable files
Subsystem: ipc
Michal Clapinski <mclapinski@google.com>:
ipc: check checkpoint_restore_ns_capable() to modify C/R proc files
Manfred Spraul <manfred@colorfullife.com>:
ipc/ipc_sysctl.c: remove fallback for !CONFIG_PROC_SYSCTL
.mailmap | 2
Documentation/dev-tools/kcov.rst | 5
MAINTAINERS | 21 +
arch/alpha/kernel/traps.c | 4
arch/microblaze/mm/pgtable.c | 3
arch/powerpc/mm/pgtable_32.c | 7
arch/riscv/lib/delay.c | 4
arch/s390/include/asm/facility.h | 4
arch/x86/kernel/aperture_64.c | 13
arch/x86/kernel/unwind_orc.c | 2
arch/x86/mm/init_32.c | 14
arch/x86/xen/mmu_hvm.c | 39 --
drivers/gpu/drm/drm_dp_mst_topology.c | 5
drivers/gpu/drm/drm_mm.c | 5
drivers/gpu/drm/i915/i915_vma.c | 5
drivers/gpu/drm/i915/intel_runtime_pm.c | 20 -
drivers/media/dvb-frontends/cxd2880/cxd2880_common.h | 1
drivers/virtio/Kconfig | 1
drivers/virtio/virtio_mem.c | 321 +++++++++++++------
fs/binfmt_elf.c | 33 +
fs/coda/cnode.c | 13
fs/coda/coda_linux.c | 39 +-
fs/coda/coda_linux.h | 6
fs/coda/dir.c | 20 -
fs/coda/file.c | 12
fs/coda/psdev.c | 14
fs/coda/upcall.c | 3
fs/hfs/inode.c | 6
fs/hfsplus/inode.c | 12
fs/hugetlbfs/inode.c | 23 -
fs/inode.c | 46 +-
fs/internal.h | 1
fs/nilfs2/alloc.c | 2
fs/nilfs2/alloc.h | 2
fs/nilfs2/bmap.c | 2
fs/nilfs2/bmap.h | 2
fs/nilfs2/btnode.c | 2
fs/nilfs2/btnode.h | 2
fs/nilfs2/btree.c | 2
fs/nilfs2/btree.h | 2
fs/nilfs2/cpfile.c | 2
fs/nilfs2/cpfile.h | 2
fs/nilfs2/dat.c | 2
fs/nilfs2/dat.h | 2
fs/nilfs2/dir.c | 2
fs/nilfs2/direct.c | 2
fs/nilfs2/direct.h | 2
fs/nilfs2/file.c | 2
fs/nilfs2/gcinode.c | 2
fs/nilfs2/ifile.c | 2
fs/nilfs2/ifile.h | 2
fs/nilfs2/inode.c | 2
fs/nilfs2/ioctl.c | 2
fs/nilfs2/mdt.c | 2
fs/nilfs2/mdt.h | 2
fs/nilfs2/namei.c | 2
fs/nilfs2/nilfs.h | 2
fs/nilfs2/page.c | 2
fs/nilfs2/page.h | 2
fs/nilfs2/recovery.c | 2
fs/nilfs2/segbuf.c | 2
fs/nilfs2/segbuf.h | 2
fs/nilfs2/segment.c | 2
fs/nilfs2/segment.h | 2
fs/nilfs2/sufile.c | 2
fs/nilfs2/sufile.h | 2
fs/nilfs2/super.c | 2
fs/nilfs2/sysfs.c | 78 ++--
fs/nilfs2/sysfs.h | 2
fs/nilfs2/the_nilfs.c | 2
fs/nilfs2/the_nilfs.h | 2
fs/proc/base.c | 21 -
fs/proc/vmcore.c | 109 ++++--
fs/ramfs/inode.c | 11
fs/seq_file.c | 16
fs/sysv/super.c | 6
include/asm-generic/sections.h | 75 +++-
include/kunit/test.h | 13
include/linux/bottom_half.h | 3
include/linux/container_of.h | 52 ++-
include/linux/crash_dump.h | 30 +
include/linux/delay.h | 2
include/linux/fs.h | 1
include/linux/fwnode.h | 1
include/linux/generic-radix-tree.h | 3
include/linux/hugetlb.h | 6
include/linux/instruction_pointer.h | 8
include/linux/kallsyms.h | 21 -
include/linux/kernel.h | 39 --
include/linux/list.h | 4
include/linux/llist.h | 4
include/linux/pagemap.h | 50 ++
include/linux/plist.h | 5
include/linux/radix-tree.h | 4
include/linux/rwsem.h | 1
include/linux/sbitmap.h | 11
include/linux/seq_file.h | 19 +
include/linux/signal.h | 1
include/linux/smp.h | 1
include/linux/spinlock.h | 1
include/linux/stackdepot.h | 5
include/linux/string_helpers.h | 1
include/media/media-entity.h | 3
init/main.c | 4
ipc/ipc_sysctl.c | 42 +-
ipc/shm.c | 8
kernel/extable.c | 33 -
kernel/fork.c | 9
kernel/kcov.c | 40 +-
kernel/locking/lockdep.c | 3
kernel/resource.c | 54 ++-
kernel/trace/ftrace.c | 2
lib/scatterlist.c | 11
lib/stackdepot.c | 46 ++
lib/vsprintf.c | 3
mm/Kconfig | 7
mm/filemap.c | 8
mm/kasan/report.c | 17 -
mm/memfd.c | 4
mm/mmap.c | 3
mm/page_owner.c | 18 -
mm/truncate.c | 19 +
mm/vmscan.c | 7
mm/workingset.c | 10
net/sysctl_net.c | 2
scripts/checkpatch.pl | 33 +
scripts/const_structs.checkpatch | 4
scripts/gdb/linux/symbols.py | 3
tools/testing/selftests/kselftest/runner.sh | 28 +
tools/testing/selftests/proc/.gitignore | 1
tools/testing/selftests/proc/Makefile | 2
tools/testing/selftests/proc/proc-tid0.c | 81 ++++
132 files changed, 1206 insertions(+), 681 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-11-05 20:34 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-11-05 20:34 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
262 patches, based on 8bb7eca972ad531c9b149c0a51ab43a417385813
Subsystems affected by this patch series:
scripts
ocfs2
vfs
mm/slab-generic
mm/slab
mm/slub
mm/kconfig
mm/dax
mm/kasan
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/mprotect
mm/mremap
mm/iomap
mm/tracing
mm/vmalloc
mm/pagealloc
mm/memory-failure
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/tools
mm/memblock
mm/oom-kill
mm/hugetlbfs
mm/migration
mm/thp
mm/readahead
mm/nommu
mm/ksm
mm/vmstat
mm/madvise
mm/memory-hotplug
mm/rmap
mm/zsmalloc
mm/highmem
mm/zram
mm/cleanups
mm/kfence
mm/damon
Subsystem: scripts
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Sven Eckelmann <sven@narfation.org>:
scripts/spelling.txt: fix "mistake" version of "synchronization"
weidonghui <weidonghui@allwinnertech.com>:
scripts/decodecode: fix faulting instruction no print when opps.file is DOS format
Subsystem: ocfs2
Chenyuan Mi <cymi20@fudan.edu.cn>:
ocfs2: fix handle refcount leak in two exception handling paths
Valentin Vidic <vvidic@valentin-vidic.from.hr>:
ocfs2: cleanup journal init and shutdown
Colin Ian King <colin.king@canonical.com>:
ocfs2/dlm: remove redundant assignment of variable ret
Jan Kara <jack@suse.cz>:
Patch series "ocfs2: Truncate data corruption fix":
ocfs2: fix data corruption on truncate
ocfs2: do not zero pages beyond i_size
Subsystem: vfs
Arnd Bergmann <arnd@arndb.de>:
fs/posix_acl.c: avoid -Wempty-body warning
Jia He <justin.he@arm.com>:
d_path: fix Kernel doc validator complaining
Subsystem: mm/slab-generic
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: move kvmalloc-related functions to slab.h
Subsystem: mm/slab
Shi Lei <shi_lei@massclouds.com>:
mm/slab.c: remove useless lines in enable_cpucache()
Subsystem: mm/slub
Kefeng Wang <wangkefeng.wang@huawei.com>:
slub: add back check for free nonslab objects
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: change percpu partial accounting from objects to pages
mm/slub: increase default cpu partial list sizes
Hyeonggon Yoo <42.hyeyoo@gmail.com>:
mm, slub: use prefetchw instead of prefetch
Subsystem: mm/kconfig
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm: disable NUMA_BALANCING_DEFAULT_ENABLED and TRANSPARENT_HUGEPAGE on PREEMPT_RT
Subsystem: mm/dax
Christoph Hellwig <hch@lst.de>:
mm: don't include <linux/dax.h> in <linux/mempolicy.h>
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
Patch series "stackdepot, kasan, workqueue: Avoid expanding stackdepot slabs when holding raw_spin_lock", v2:
lib/stackdepot: include gfp.h
lib/stackdepot: remove unused function argument
lib/stackdepot: introduce __stack_depot_save()
kasan: common: provide can_alloc in kasan_save_stack()
kasan: generic: introduce kasan_record_aux_stack_noalloc()
workqueue, kasan: avoid alloc_pages() when recording stack
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
kasan: fix tag for large allocations when using CONFIG_SLAB
Peter Collingbourne <pcc@google.com>:
kasan: test: add memcpy test that avoids out-of-bounds write
Subsystem: mm/debug
Peter Xu <peterx@redhat.com>:
Patch series "mm/smaps: Fixes and optimizations on shmem swap handling":
mm/smaps: fix shmem pte hole swap calculation
mm/smaps: use vma->vm_pgoff directly when counting partial swap
mm/smaps: simplify shmem handling of pte holes
Guo Ren <guoren@linux.alibaba.com>:
mm: debug_vm_pgtable: don't use __P000 directly
Kees Cook <keescook@chromium.org>:
kasan: test: bypass __alloc_size checks
Patch series "Add __alloc_size()", v3:
rapidio: avoid bogus __alloc_size warning
Compiler Attributes: add __alloc_size() for better bounds checking
slab: clean up function prototypes
slab: add __alloc_size attributes for better bounds checking
mm/kvmalloc: add __alloc_size attributes for better bounds checking
mm/vmalloc: add __alloc_size attributes for better bounds checking
mm/page_alloc: add __alloc_size attributes for better bounds checking
percpu: add __alloc_size attributes for better bounds checking
Yinan Zhang <zhangyinan2019@email.szu.edu.cn>:
mm/page_ext.c: fix a comment
Subsystem: mm/pagecache
David Howells <dhowells@redhat.com>:
mm: stop filemap_read() from grabbing a superfluous page
Christoph Hellwig <hch@lst.de>:
Patch series "simplify bdi unregistation":
mm: export bdi_unregister
mtd: call bdi_unregister explicitly
fs: explicitly unregister per-superblock BDIs
mm: don't automatically unregister bdis
mm: simplify bdi refcounting
Jens Axboe <axboe@kernel.dk>:
mm: don't read i_size of inode unless we need it
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap.c: remove bogus VM_BUG_ON
Jens Axboe <axboe@kernel.dk>:
mm: move more expensive part of XA setup out of mapping check
Subsystem: mm/gup
John Hubbard <jhubbard@nvidia.com>:
mm/gup: further simplify __gup_device_huge()
Subsystem: mm/swap
Xu Wang <vulab@iscas.ac.cn>:
mm/swapfile: remove needless request_queue NULL pointer check
Rafael Aquini <aquini@redhat.com>:
mm/swapfile: fix an integer overflow in swap_show()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: optimise put_pages_list()
Subsystem: mm/memcg
Peter Xu <peterx@redhat.com>:
mm/memcg: drop swp_entry_t* in mc_handle_file_pte()
Shakeel Butt <shakeelb@google.com>:
memcg: flush stats only if updated
memcg: unify memcg stat flushing
Waiman Long <longman@redhat.com>:
mm/memcg: remove obsolete memcg_free_kmem()
Len Baker <len.baker@gmx.com>:
mm/list_lru.c: prefer struct_size over open coded arithmetic
Shakeel Butt <shakeelb@google.com>:
memcg, kmem: further deprecate kmem.limit_in_bytes
Muchun Song <songmuchun@bytedance.com>:
mm: list_lru: remove holding lru lock
mm: list_lru: fix the return value of list_lru_count_one()
mm: memcontrol: remove kmemcg_id reparenting
mm: memcontrol: remove the kmem states
mm: list_lru: only add memcg-aware lrus to the global lru list
Vasily Averin <vvs@virtuozzo.com>:
Patch series "memcg: prohibit unconditional exceeding the limit of dying tasks", v3:
mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks
Michal Hocko <mhocko@suse.com>:
mm, oom: do not trigger out_of_memory from the #PF
Vasily Averin <vvs@virtuozzo.com>:
memcg: prohibit unconditional exceeding the limit of dying tasks
Subsystem: mm/pagemap
Peng Liu <liupeng256@huawei.com>:
mm/mmap.c: fix a data race of mm->total_vm
Rolf Eike Beer <eb@emlix.com>:
mm: use __pfn_to_section() instead of open coding it
Amit Daniel Kachhap <amit.kachhap@arm.com>:
mm/memory.c: avoid unnecessary kernel/user pointer conversion
Nadav Amit <namit@vmware.com>:
mm/memory.c: use correct VMA flags when freeing page-tables
Peter Xu <peterx@redhat.com>:
Patch series "mm: A few cleanup patches around zap, shmem and uffd", v4:
mm/shmem: unconditionally set pte dirty in mfill_atomic_install_pte
mm: clear vmf->pte after pte_unmap_same() returns
mm: drop first_index/last_index in zap_details
mm: add zap_skip_check_mapping() helper
Qi Zheng <zhengqi.arch@bytedance.com>:
Patch series "Do some code cleanups related to mm", v3:
mm: introduce pmd_install() helper
mm: remove redundant smp_wmb()
Tiberiu A Georgescu <tiberiu.georgescu@nutanix.com>:
Documentation: update pagemap with shmem exceptions
Nicholas Piggin <npiggin@gmail.com>:
Patch series "shoot lazy tlbs", v4:
lazy tlb: introduce lazy mm refcount helper functions
lazy tlb: allow lazy tlb mm refcounting to be configurable
lazy tlb: shoot lazies, a non-refcounting lazy tlb option
powerpc/64s: enable MMU_LAZY_TLB_SHOOTDOWN
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
memory: remove unused CONFIG_MEM_BLOCK_SIZE
Subsystem: mm/mprotect
Liu Song <liu.song11@zte.com.cn>:
mm/mprotect.c: avoid repeated assignment in do_mprotect_pkey()
Subsystem: mm/mremap
Dmitry Safonov <dima@arista.com>:
mm/mremap: don't account pages in vma_to_resize()
Subsystem: mm/iomap
Lucas De Marchi <lucas.demarchi@intel.com>:
include/linux/io-mapping.h: remove fallback for writecombine
Subsystem: mm/tracing
Gang Li <ligang.bdlg@bytedance.com>:
mm: mmap_lock: remove redundant newline in TP_printk
mm: mmap_lock: use DECLARE_EVENT_CLASS and DEFINE_EVENT_FN
Subsystem: mm/vmalloc
Vasily Averin <vvs@virtuozzo.com>:
mm/vmalloc: repair warn_alloc()s in __vmalloc_area_node()
Peter Zijlstra <peterz@infradead.org>:
mm/vmalloc: don't allow VM_NO_GUARD on vmap()
Eric Dumazet <edumazet@google.com>:
mm/vmalloc: make show_numa_info() aware of hugepage mappings
mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: do not adjust the search size for alignment overhead
mm/vmalloc: check various alignments when debugging
Vasily Averin <vvs@virtuozzo.com>:
vmalloc: back off when the current task is OOM-killed
Kefeng Wang <wangkefeng.wang@huawei.com>:
vmalloc: choose a better start address in vm_area_register_early()
arm64: support page mapping percpu first chunk allocator
kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
Michal Hocko <mhocko@suse.com>:
mm/vmalloc: be more explicit about supported gfp flags
Chen Wandun <chenwandun@huawei.com>:
mm/vmalloc: introduce alloc_pages_bulk_array_mempolicy to accelerate memory allocation
Changcheng Deng <deng.changcheng@zte.com.cn>:
lib/test_vmalloc.c: use swap() to make code cleaner
Subsystem: mm/pagealloc
Eric Dumazet <edumazet@google.com>:
mm/large system hash: avoid possible NULL deref in alloc_large_system_hash
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups and fixup for page_alloc", v2:
mm/page_alloc.c: remove meaningless VM_BUG_ON() in pindex_to_order()
mm/page_alloc.c: simplify the code by using macro K()
mm/page_alloc.c: fix obsolete comment in free_pcppages_bulk()
mm/page_alloc.c: use helper function zone_spans_pfn()
mm/page_alloc.c: avoid allocating highmem pages via alloc_pages_exact[_nid]
Bharata B Rao <bharata@amd.com>:
Patch series "Fix NUMA nodes fallback list ordering":
mm/page_alloc: print node fallback order
Krupa Ramakrishnan <krupa.ramakrishnan@amd.com>:
mm/page_alloc: use accumulated load when building node fallback list
Geert Uytterhoeven <geert+renesas@glider.be>:
Patch series "Fix NUMA without SMP":
mm: move node_reclaim_distance to fix NUMA without SMP
mm: move fold_vm_numa_events() to fix NUMA without SMP
Eric Dumazet <edumazet@google.com>:
mm/page_alloc.c: do not acquire zone lock in is_free_buddy_page()
Feng Tang <feng.tang@intel.com>:
mm/page_alloc: detect allocation forbidden by cpuset and bail out early
Liangcai Fan <liangcaifan19@gmail.com>:
mm/page_alloc.c: show watermark_boost of zone in zoneinfo
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm: create a new system state and fix core_kernel_text()
mm: make generic arch_is_kernel_initmem_freed() do what it says
powerpc: use generic version of arch_is_kernel_initmem_freed()
s390: use generic version of arch_is_kernel_initmem_freed()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm: page_alloc: use migrate_disable() in drain_local_pages_wq()
Wang ShaoBo <bobo.shaobowang@huawei.com>:
mm/page_alloc: use clamp() to simplify code
Subsystem: mm/memory-failure
Marco Elver <elver@google.com>:
mm: fix data race in PagePoisoned()
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
mm/memory_failure: constify static mm_walk_ops
Yang Shi <shy828301@gmail.com>:
Patch series "Solve silent data loss caused by poisoned page cache (shmem/tmpfs)", v5:
mm: filemap: coding style cleanup for filemap_map_pmd()
mm: hwpoison: refactor refcount check handling
mm: shmem: don't truncate page if memory failure happens
mm: hwpoison: handle non-anonymous THP correctly
Subsystem: mm/hugetlb
Peter Xu <peterx@redhat.com>:
mm/hugetlb: drop __unmap_hugepage_range definition from hugetlb.h
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "hugetlb: add demote/split page functionality", v4:
hugetlb: add demote hugetlb page sysfs interfaces
mm/cma: add cma_pages_valid to determine if pages are in CMA
hugetlb: be sure to free demoted CMA pages to CMA
hugetlb: add demote bool to gigantic page routines
hugetlb: add hugetlb demote page support
Liangcai Fan <liangcaifan19@gmail.com>:
mm: khugepaged: recalculate min_free_kbytes after stopping khugepaged
Mina Almasry <almasrymina@google.com>:
mm, hugepages: add mremap() support for hugepage backed vma
mm, hugepages: add hugetlb vma mremap() test
Baolin Wang <baolin.wang@linux.alibaba.com>:
hugetlb: support node specified when using cma for gigantic hugepages
Ran Jianping <ran.jianping@zte.com.cn>:
mm: remove duplicate include in hugepage-mremap.c
Baolin Wang <baolin.wang@linux.alibaba.com>:
Patch series "Some cleanups and improvements for hugetlb":
hugetlb_cgroup: remove unused hugetlb_cgroup_from_counter macro
hugetlb: replace the obsolete hugetlb_instantiation_mutex in the comments
hugetlb: remove redundant validation in has_same_uncharge_info()
hugetlb: remove redundant VM_BUG_ON() in add_reservation_in_range()
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: remove unnecessary set_page_count in prep_compound_gigantic_page
Subsystem: mm/userfaultfd
Axel Rasmussen <axelrasmussen@google.com>:
Patch series "Small userfaultfd selftest fixups", v2:
userfaultfd/selftests: don't rely on GNU extensions for random numbers
userfaultfd/selftests: fix feature support detection
userfaultfd/selftests: fix calculation of expected ioctls
Subsystem: mm/vmscan
Miaohe Lin <linmiaohe@huawei.com>:
mm/page_isolation: fix potential missing call to unset_migratetype_isolate()
mm/page_isolation: guard against possible putback unisolated page
Kai Song <songkai01@inspur.com>:
mm/vmscan.c: fix -Wunused-but-set-variable warning
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Remove dependency on congestion_wait in mm/", v5. Patch series:
mm/vmscan: throttle reclaim until some writeback completes if congested
mm/vmscan: throttle reclaim and compaction when too may pages are isolated
mm/vmscan: throttle reclaim when no progress is being made
mm/writeback: throttle based on page writeback instead of congestion
mm/page_alloc: remove the throttling logic from the page allocator
mm/vmscan: centralise timeout values for reclaim_throttle
mm/vmscan: increase the timeout if page reclaim is not making progress
mm/vmscan: delay waking of tasks throttled on NOPROGRESS
Yuanzheng Song <songyuanzheng@huawei.com>:
mm/vmpressure: fix data-race with memcg->socket_pressure
Subsystem: mm/tools
Zhenliang Wei <weizhenliang@huawei.com>:
tools/vm/page_owner_sort.c: count and sort by mem
Naoya Horiguchi <naoya.horiguchi@nec.com>:
Patch series "tools/vm/page-types.c: a few improvements":
tools/vm/page-types.c: make walk_file() aware of address range option
tools/vm/page-types.c: move show_file() to summary output
tools/vm/page-types.c: print file offset in hexadecimal
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "memblock: cleanup memblock_free interface", v2:
arch_numa: simplify numa_distance allocation
xen/x86: free_p2m_page: use memblock_free_ptr() to free a virtual pointer
memblock: drop memblock_free_early_nid() and memblock_free_early()
memblock: stop aliasing __memblock_free_late with memblock_free_late
memblock: rename memblock_free to memblock_phys_free
memblock: use memblock_free for freeing virtual pointers
Subsystem: mm/oom-kill
Sultan Alsawaf <sultan@kerneltoast.com>:
mm: mark the OOM reaper thread as freezable
Subsystem: mm/hugetlbfs
Zhenguo Yao <yaozhenguo1@gmail.com>:
hugetlbfs: extend the definition of hugepages parameter to support node allocation
Subsystem: mm/migration
John Hubbard <jhubbard@nvidia.com>:
mm/migrate: de-duplicate migrate_reason strings
Yang Shi <shy828301@gmail.com>:
mm: migrate: make demotion knob depend on migration
Subsystem: mm/thp
"George G. Davis" <davis.george@siemens.com>:
selftests/vm/transhuge-stress: fix ram size thinko
Rongwei Wang <rongwei.wang@linux.alibaba.com>:
Patch series "fix two bugs for file THP":
mm, thp: lock filemap when truncating page cache
mm, thp: fix incorrect unmap behavior for private pages
Subsystem: mm/readahead
Lin Feng <linf@wangsu.com>:
mm/readahead.c: fix incorrect comments for get_init_ra_size
Subsystem: mm/nommu
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: nommu: kill arch_get_unmapped_area()
Subsystem: mm/ksm
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
selftest/vm: fix ksm selftest to run with different NUMA topologies
Pedro Demarchi Gomes <pedrodemargomes@gmail.com>:
selftests: vm: add KSM huge pages merging time test
Subsystem: mm/vmstat
Liu Shixin <liushixin2@huawei.com>:
mm/vmstat: annotate data race for zone->free_area[order].nr_free
Lin Feng <linf@wangsu.com>:
mm: vmstat.c: make extfrag_index show more pretty
Subsystem: mm/madvise
David Hildenbrand <david@redhat.com>:
selftests/vm: make MADV_POPULATE_(READ|WRITE) use in-tree headers
Subsystem: mm/memory-hotplug
Tang Yizhou <tangyizhou@huawei.com>:
mm/memory_hotplug: add static qualifier for online_policy_to_str()
David Hildenbrand <david@redhat.com>:
Patch series "memory-hotplug.rst: document the "auto-movable" online policy":
memory-hotplug.rst: fix two instances of "movablecore" that should be "movable_node"
memory-hotplug.rst: fix wrong /sys/module/memory_hotplug/parameters/ path
memory-hotplug.rst: document the "auto-movable" online policy
Patch series "mm/memory_hotplug: Kconfig and 32 bit cleanups":
mm/memory_hotplug: remove CONFIG_X86_64_ACPI_NUMA dependency from CONFIG_MEMORY_HOTPLUG
mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE
mm/memory_hotplug: restrict CONFIG_MEMORY_HOTPLUG to 64 bit
mm/memory_hotplug: remove HIGHMEM leftovers
mm/memory_hotplug: remove stale function declarations
x86: remove memory hotplug support on X86_32
Patch series "mm/memory_hotplug: full support for add_memory_driver_managed() with CONFIG_ARCH_KEEP_MEMBLOCK", v2:
mm/memory_hotplug: handle memblock_add_node() failures in add_memory_resource()
memblock: improve MEMBLOCK_HOTPLUG documentation
memblock: allow to specify flags with memblock_add_node()
memblock: add MEMBLOCK_DRIVER_MANAGED to mimic IORESOURCE_SYSRAM_DRIVER_MANAGED
mm/memory_hotplug: indicate MEMBLOCK_DRIVER_MANAGED with IORESOURCE_SYSRAM_DRIVER_MANAGED
Subsystem: mm/rmap
Alistair Popple <apopple@nvidia.com>:
mm/rmap.c: avoid double faults migrating device private pages
Subsystem: mm/zsmalloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration()
Subsystem: mm/highmem
Ira Weiny <ira.weiny@intel.com>:
mm/highmem: remove deprecated kmap_atomic
Subsystem: mm/zram
Jaewon Kim <jaewon31.kim@samsung.com>:
zram_drv: allow reclaim on bio_alloc
Dan Carpenter <dan.carpenter@oracle.com>:
zram: off by one in read_block_state()
Brian Geffon <bgeffon@google.com>:
zram: introduce an aged idle interface
Subsystem: mm/cleanups
Stephen Kitt <steve@sk2.org>:
mm: remove HARDENED_USERCOPY_FALLBACK
Mianhan Liu <liumh1@shanghaitech.edu.cn>:
include/linux/mm.h: move nr_free_buffer_pages from swap.h to mm.h
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
stacktrace: move filter_irq_stacks() to kernel/stacktrace.c
kfence: count unexpectedly skipped allocations
kfence: move saving stack trace of allocations into __kfence_alloc()
kfence: limit currently covered allocations when pool nearly full
kfence: add note to documentation about skipping covered allocations
kfence: test: use kunit_skip() to skip tests
kfence: shorten critical sections of alloc/free
kfence: always use static branches to guard kfence_alloc()
kfence: default to dynamic branch instead of static keys mode
Subsystem: mm/damon
Geert Uytterhoeven <geert@linux-m68k.org>:
mm/damon: grammar s/works/work/
SeongJae Park <sjpark@amazon.de>:
Documentation/vm: move user guides to admin-guide/mm/
SeongJae Park <sj@kernel.org>:
MAINTAINERS: update SeongJae's email address
SeongJae Park <sjpark@amazon.de>:
docs/vm/damon: remove broken reference
include/linux/damon.h: fix kernel-doc comments for 'damon_callback'
SeongJae Park <sj@kernel.org>:
mm/damon/core: print kdamond start log in debug mode only
Changbin Du <changbin.du@gmail.com>:
mm/damon: remove unnecessary do_exit() from kdamond
mm/damon: needn't hold kdamond_lock to print pid of kdamond
Colin Ian King <colin.king@canonical.com>:
mm/damon/core: nullify pointer ctx->kdamond with a NULL
SeongJae Park <sj@kernel.org>:
Patch series "Implement Data Access Monitoring-based Memory Operation Schemes":
mm/damon/core: account age of target regions
mm/damon/core: implement DAMON-based Operation Schemes (DAMOS)
mm/damon/vaddr: support DAMON-based Operation Schemes
mm/damon/dbgfs: support DAMON-based Operation Schemes
mm/damon/schemes: implement statistics feature
selftests/damon: add 'schemes' debugfs tests
Docs/admin-guide/mm/damon: document DAMON-based Operation Schemes
Patch series "DAMON: Support Physical Memory Address Space Monitoring::
mm/damon/dbgfs: allow users to set initial monitoring target regions
mm/damon/dbgfs-test: add a unit test case for 'init_regions'
Docs/admin-guide/mm/damon: document 'init_regions' feature
mm/damon/vaddr: separate commonly usable functions
mm/damon: implement primitives for physical address space monitoring
mm/damon/dbgfs: support physical memory monitoring
Docs/DAMON: document physical memory monitoring support
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
mm/damon/vaddr: constify static mm_walk_ops
Rongwei Wang <rongwei.wang@linux.alibaba.com>:
mm/damon/dbgfs: remove unnecessary variables
SeongJae Park <sj@kernel.org>:
mm/damon/paddr: support the pageout scheme
mm/damon/schemes: implement size quota for schemes application speed control
mm/damon/schemes: skip already charged targets and regions
mm/damon/schemes: implement time quota
mm/damon/dbgfs: support quotas of schemes
mm/damon/selftests: support schemes quotas
mm/damon/schemes: prioritize regions within the quotas
mm/damon/vaddr,paddr: support pageout prioritization
mm/damon/dbgfs: support prioritization weights
tools/selftests/damon: update for regions prioritization of schemes
mm/damon/schemes: activate schemes based on a watermarks mechanism
mm/damon/dbgfs: support watermarks
selftests/damon: support watermarks
mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)
Documentation/admin-guide/mm/damon: add a document for DAMON_RECLAIM
Xin Hao <xhao@linux.alibaba.com>:
Patch series "mm/damon: Fix some small bugs", v4:
mm/damon: remove unnecessary variable initialization
mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on
SeongJae Park <sj@kernel.org>:
Patch series "Fix trivial nits in Documentation/admin-guide/mm":
Docs/admin-guide/mm/damon/start: fix wrong example commands
Docs/admin-guide/mm/damon/start: fix a wrong link
Docs/admin-guide/mm/damon/start: simplify the content
Docs/admin-guide/mm/pagemap: wordsmith page flags descriptions
Changbin Du <changbin.du@gmail.com>:
mm/damon: simplify stop mechanism
Colin Ian King <colin.i.king@googlemail.com>:
mm/damon: fix a few spelling mistakes in comments and a pr_debug message
Changbin Du <changbin.du@gmail.com>:
mm/damon: remove return value from before_terminate callback
a/Documentation/admin-guide/blockdev/zram.rst | 8
a/Documentation/admin-guide/cgroup-v1/memory.rst | 11
a/Documentation/admin-guide/kernel-parameters.txt | 14
a/Documentation/admin-guide/mm/damon/index.rst | 1
a/Documentation/admin-guide/mm/damon/reclaim.rst | 235 +++
a/Documentation/admin-guide/mm/damon/start.rst | 140 +
a/Documentation/admin-guide/mm/damon/usage.rst | 117 +
a/Documentation/admin-guide/mm/hugetlbpage.rst | 42
a/Documentation/admin-guide/mm/memory-hotplug.rst | 147 +-
a/Documentation/admin-guide/mm/pagemap.rst | 75 -
a/Documentation/core-api/memory-hotplug.rst | 3
a/Documentation/dev-tools/kfence.rst | 23
a/Documentation/translations/zh_CN/core-api/memory-hotplug.rst | 4
a/Documentation/vm/damon/design.rst | 29
a/Documentation/vm/damon/faq.rst | 5
a/Documentation/vm/damon/index.rst | 1
a/Documentation/vm/page_owner.rst | 23
a/MAINTAINERS | 2
a/Makefile | 15
a/arch/Kconfig | 28
a/arch/alpha/kernel/core_irongate.c | 6
a/arch/arc/mm/init.c | 6
a/arch/arm/mach-hisi/platmcpm.c | 2
a/arch/arm/mach-rpc/ecard.c | 2
a/arch/arm/mm/init.c | 2
a/arch/arm64/Kconfig | 4
a/arch/arm64/mm/kasan_init.c | 16
a/arch/arm64/mm/mmu.c | 4
a/arch/ia64/mm/contig.c | 2
a/arch/ia64/mm/init.c | 2
a/arch/m68k/mm/mcfmmu.c | 3
a/arch/m68k/mm/motorola.c | 6
a/arch/mips/loongson64/init.c | 4
a/arch/mips/mm/init.c | 6
a/arch/mips/sgi-ip27/ip27-memory.c | 3
a/arch/mips/sgi-ip30/ip30-setup.c | 6
a/arch/powerpc/Kconfig | 1
a/arch/powerpc/configs/skiroot_defconfig | 1
a/arch/powerpc/include/asm/machdep.h | 2
a/arch/powerpc/include/asm/sections.h | 13
a/arch/powerpc/kernel/dt_cpu_ftrs.c | 8
a/arch/powerpc/kernel/paca.c | 8
a/arch/powerpc/kernel/setup-common.c | 4
a/arch/powerpc/kernel/setup_64.c | 6
a/arch/powerpc/kernel/smp.c | 2
a/arch/powerpc/mm/book3s64/radix_tlb.c | 4
a/arch/powerpc/mm/hugetlbpage.c | 9
a/arch/powerpc/platforms/powernv/pci-ioda.c | 4
a/arch/powerpc/platforms/powernv/setup.c | 4
a/arch/powerpc/platforms/pseries/setup.c | 2
a/arch/powerpc/platforms/pseries/svm.c | 9
a/arch/riscv/kernel/setup.c | 10
a/arch/s390/include/asm/sections.h | 12
a/arch/s390/kernel/setup.c | 11
a/arch/s390/kernel/smp.c | 6
a/arch/s390/kernel/uv.c | 2
a/arch/s390/mm/init.c | 3
a/arch/s390/mm/kasan_init.c | 2
a/arch/sh/boards/mach-ap325rxa/setup.c | 2
a/arch/sh/boards/mach-ecovec24/setup.c | 4
a/arch/sh/boards/mach-kfr2r09/setup.c | 2
a/arch/sh/boards/mach-migor/setup.c | 2
a/arch/sh/boards/mach-se/7724/setup.c | 4
a/arch/sparc/kernel/smp_64.c | 4
a/arch/um/kernel/mem.c | 4
a/arch/x86/Kconfig | 6
a/arch/x86/kernel/setup.c | 4
a/arch/x86/kernel/setup_percpu.c | 2
a/arch/x86/mm/init.c | 2
a/arch/x86/mm/init_32.c | 31
a/arch/x86/mm/kasan_init_64.c | 4
a/arch/x86/mm/numa.c | 2
a/arch/x86/mm/numa_emulation.c | 2
a/arch/x86/xen/mmu_pv.c | 8
a/arch/x86/xen/p2m.c | 4
a/arch/x86/xen/setup.c | 6
a/drivers/base/Makefile | 2
a/drivers/base/arch_numa.c | 96 +
a/drivers/base/node.c | 9
a/drivers/block/zram/zram_drv.c | 66
a/drivers/firmware/efi/memmap.c | 2
a/drivers/hwmon/occ/p9_sbe.c | 1
a/drivers/macintosh/smu.c | 2
a/drivers/mmc/core/mmc_test.c | 1
a/drivers/mtd/mtdcore.c | 1
a/drivers/of/kexec.c | 4
a/drivers/of/of_reserved_mem.c | 5
a/drivers/rapidio/devices/rio_mport_cdev.c | 9
a/drivers/s390/char/sclp_early.c | 4
a/drivers/usb/early/xhci-dbc.c | 10
a/drivers/virtio/Kconfig | 2
a/drivers/xen/swiotlb-xen.c | 4
a/fs/d_path.c | 8
a/fs/exec.c | 4
a/fs/ocfs2/alloc.c | 21
a/fs/ocfs2/dlm/dlmrecovery.c | 1
a/fs/ocfs2/file.c | 8
a/fs/ocfs2/inode.c | 4
a/fs/ocfs2/journal.c | 28
a/fs/ocfs2/journal.h | 3
a/fs/ocfs2/super.c | 40
a/fs/open.c | 16
a/fs/posix_acl.c | 3
a/fs/proc/task_mmu.c | 28
a/fs/super.c | 3
a/include/asm-generic/sections.h | 14
a/include/linux/backing-dev-defs.h | 3
a/include/linux/backing-dev.h | 1
a/include/linux/cma.h | 1
a/include/linux/compiler-gcc.h | 8
a/include/linux/compiler_attributes.h | 10
a/include/linux/compiler_types.h | 12
a/include/linux/cpuset.h | 17
a/include/linux/damon.h | 258 +++
a/include/linux/fs.h | 1
a/include/linux/gfp.h | 8
a/include/linux/highmem.h | 28
a/include/linux/hugetlb.h | 36
a/include/linux/io-mapping.h | 6
a/include/linux/kasan.h | 8
a/include/linux/kernel.h | 1
a/include/linux/kfence.h | 21
a/include/linux/memblock.h | 48
a/include/linux/memcontrol.h | 9
a/include/linux/memory.h | 26
a/include/linux/memory_hotplug.h | 3
a/include/linux/mempolicy.h | 5
a/include/linux/migrate.h | 23
a/include/linux/migrate_mode.h | 13
a/include/linux/mm.h | 57
a/include/linux/mm_types.h | 2
a/include/linux/mmzone.h | 41
a/include/linux/node.h | 4
a/include/linux/page-flags.h | 2
a/include/linux/percpu.h | 6
a/include/linux/sched/mm.h | 25
a/include/linux/slab.h | 181 +-
a/include/linux/slub_def.h | 13
a/include/linux/stackdepot.h | 8
a/include/linux/stacktrace.h | 1
a/include/linux/swap.h | 1
a/include/linux/vmalloc.h | 24
a/include/trace/events/mmap_lock.h | 50
a/include/trace/events/vmscan.h | 42
a/include/trace/events/writeback.h | 7
a/init/Kconfig | 2
a/init/initramfs.c | 4
a/init/main.c | 6
a/kernel/cgroup/cpuset.c | 23
a/kernel/cpu.c | 2
a/kernel/dma/swiotlb.c | 6
a/kernel/exit.c | 2
a/kernel/extable.c | 2
a/kernel/fork.c | 51
a/kernel/kexec_file.c | 5
a/kernel/kthread.c | 21
a/kernel/locking/lockdep.c | 15
a/kernel/printk/printk.c | 4
a/kernel/sched/core.c | 37
a/kernel/sched/sched.h | 4
a/kernel/sched/topology.c | 1
a/kernel/stacktrace.c | 30
a/kernel/tsacct.c | 2
a/kernel/workqueue.c | 2
a/lib/Kconfig.debug | 2
a/lib/Kconfig.kfence | 26
a/lib/bootconfig.c | 2
a/lib/cpumask.c | 6
a/lib/stackdepot.c | 76 -
a/lib/test_kasan.c | 26
a/lib/test_kasan_module.c | 2
a/lib/test_vmalloc.c | 6
a/mm/Kconfig | 10
a/mm/backing-dev.c | 65
a/mm/cma.c | 26
a/mm/compaction.c | 12
a/mm/damon/Kconfig | 24
a/mm/damon/Makefile | 4
a/mm/damon/core.c | 500 ++++++-
a/mm/damon/dbgfs-test.h | 56
a/mm/damon/dbgfs.c | 486 +++++-
a/mm/damon/paddr.c | 275 +++
a/mm/damon/prmtv-common.c | 133 +
a/mm/damon/prmtv-common.h | 20
a/mm/damon/reclaim.c | 356 ++++
a/mm/damon/vaddr-test.h | 2
a/mm/damon/vaddr.c | 167 +-
a/mm/debug.c | 20
a/mm/debug_vm_pgtable.c | 7
a/mm/filemap.c | 78 -
a/mm/gup.c | 5
a/mm/highmem.c | 6
a/mm/hugetlb.c | 713 +++++++++-
a/mm/hugetlb_cgroup.c | 3
a/mm/internal.h | 26
a/mm/kasan/common.c | 8
a/mm/kasan/generic.c | 16
a/mm/kasan/kasan.h | 2
a/mm/kasan/shadow.c | 5
a/mm/kfence/core.c | 214 ++-
a/mm/kfence/kfence.h | 2
a/mm/kfence/kfence_test.c | 14
a/mm/khugepaged.c | 10
a/mm/list_lru.c | 58
a/mm/memblock.c | 35
a/mm/memcontrol.c | 217 +--
a/mm/memory-failure.c | 117 +
a/mm/memory.c | 166 +-
a/mm/memory_hotplug.c | 57
a/mm/mempolicy.c | 143 +-
a/mm/migrate.c | 61
a/mm/mmap.c | 2
a/mm/mprotect.c | 5
a/mm/mremap.c | 86 -
a/mm/nommu.c | 6
a/mm/oom_kill.c | 27
a/mm/page-writeback.c | 13
a/mm/page_alloc.c | 119 -
a/mm/page_ext.c | 2
a/mm/page_isolation.c | 29
a/mm/percpu.c | 24
a/mm/readahead.c | 2
a/mm/rmap.c | 8
a/mm/shmem.c | 44
a/mm/slab.c | 16
a/mm/slab_common.c | 8
a/mm/slub.c | 117 -
a/mm/sparse-vmemmap.c | 2
a/mm/sparse.c | 6
a/mm/swap.c | 23
a/mm/swapfile.c | 6
a/mm/userfaultfd.c | 8
a/mm/vmalloc.c | 107 +
a/mm/vmpressure.c | 2
a/mm/vmscan.c | 194 ++
a/mm/vmstat.c | 76 -
a/mm/zsmalloc.c | 7
a/net/ipv4/tcp.c | 1
a/net/ipv4/udp.c | 1
a/net/netfilter/ipvs/ip_vs_ctl.c | 1
a/net/openvswitch/meter.c | 1
a/net/sctp/protocol.c | 1
a/scripts/checkpatch.pl | 3
a/scripts/decodecode | 2
a/scripts/spelling.txt | 18
a/security/Kconfig | 14
a/tools/testing/selftests/damon/debugfs_attrs.sh | 25
a/tools/testing/selftests/memory-hotplug/config | 1
a/tools/testing/selftests/vm/.gitignore | 1
a/tools/testing/selftests/vm/Makefile | 1
a/tools/testing/selftests/vm/hugepage-mremap.c | 161 ++
a/tools/testing/selftests/vm/ksm_tests.c | 154 ++
a/tools/testing/selftests/vm/madv_populate.c | 15
a/tools/testing/selftests/vm/run_vmtests.sh | 11
a/tools/testing/selftests/vm/transhuge-stress.c | 2
a/tools/testing/selftests/vm/userfaultfd.c | 157 +-
a/tools/vm/page-types.c | 38
a/tools/vm/page_owner_sort.c | 94 +
b/Documentation/admin-guide/mm/index.rst | 2
b/Documentation/vm/index.rst | 26
260 files changed, 6448 insertions(+), 2327 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-10-28 21:35 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-10-28 21:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
11 patches, based on 411a44c24a561e449b592ff631b7ae321f1eb559.
Subsystems affected by this patch series:
mm/memcg
mm/memory-failure
mm/oom-kill
ocfs2
mm/secretmem
mm/vmalloc
mm/hugetlb
mm/damon
mm/tools
Subsystem: mm/memcg
Shakeel Butt <shakeelb@google.com>:
memcg: page_alloc: skip bulk allocator for __GFP_ACCOUNT
Subsystem: mm/memory-failure
Yang Shi <shy828301@gmail.com>:
mm: hwpoison: remove the unnecessary THP check
mm: filemap: check if THP has hwpoisoned subpage for PMD page fault
Subsystem: mm/oom-kill
Suren Baghdasaryan <surenb@google.com>:
mm/oom_kill.c: prevent a race between process_mrelease and exit_mmap
Subsystem: ocfs2
Gautham Ananthakrishna <gautham.ananthakrishna@oracle.com>:
ocfs2: fix race between searching chunks and release journal_head from buffer_head
Subsystem: mm/secretmem
Kees Cook <keescook@chromium.org>:
mm/secretmem: avoid letting secretmem_users drop to zero
Subsystem: mm/vmalloc
Chen Wandun <chenwandun@huawei.com>:
mm/vmalloc: fix numa spreading for large hash tables
Subsystem: mm/hugetlb
Rongwei Wang <rongwei.wang@linux.alibaba.com>:
mm, thp: bail out early in collapse_file for writeback page
Yang Shi <shy828301@gmail.com>:
mm: khugepaged: skip huge page collapse for special files
Subsystem: mm/damon
SeongJae Park <sj@kernel.org>:
mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()'
Subsystem: mm/tools
David Yang <davidcomponentone@gmail.com>:
tools/testing/selftests/vm/split_huge_page_test.c: fix application of sizeof to pointer
fs/ocfs2/suballoc.c | 22 ++++++++++-------
include/linux/page-flags.h | 23 ++++++++++++++++++
mm/damon/core-test.h | 4 +--
mm/huge_memory.c | 2 +
mm/khugepaged.c | 26 +++++++++++++-------
mm/memory-failure.c | 28 +++++++++++-----------
mm/memory.c | 9 +++++++
mm/oom_kill.c | 23 +++++++++---------
mm/page_alloc.c | 8 +++++-
mm/secretmem.c | 2 -
mm/vmalloc.c | 15 +++++++----
tools/testing/selftests/vm/split_huge_page_test.c | 2 -
12 files changed, 110 insertions(+), 54 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-10-18 22:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-10-18 22:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
19 patches, based on 519d81956ee277b4419c723adfb154603c2565ba.
Subsystems affected by this patch series:
mm/userfaultfd
mm/migration
ocfs2
mm/memblock
mm/mempolicy
mm/slub
binfmt
vfs
mm/secretmem
mm/thp
misc
Subsystem: mm/userfaultfd
Peter Xu <peterx@redhat.com>:
mm/userfaultfd: selftests: fix memory corruption with thp enabled
Nadav Amit <namit@vmware.com>:
userfaultfd: fix a race between writeprotect and exit_mmap()
Subsystem: mm/migration
Dave Hansen <dave.hansen@linux.intel.com>:
Patch series "mm/migrate: 5.15 fixes for automatic demotion", v2:
mm/migrate: optimize hotplug-time demotion order updates
mm/migrate: add CPU hotplug to demotion #ifdef
Huang Ying <ying.huang@intel.com>:
mm/migrate: fix CPUHP state to update node demotion order
Subsystem: ocfs2
Jan Kara <jack@suse.cz>:
ocfs2: fix data corruption after conversion from inline format
Valentin Vidic <vvidic@valentin-vidic.from.hr>:
ocfs2: mount fails with buffer overflow in strlen
Subsystem: mm/memblock
Peng Fan <peng.fan@nxp.com>:
memblock: check memory total_size
Subsystem: mm/mempolicy
Eric Dumazet <edumazet@google.com>:
mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind()
Subsystem: mm/slub
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Fixups for slub":
mm, slub: fix two bugs in slab_debug_trace_open()
mm, slub: fix mismatch between reconstructed freelist depth and cnt
mm, slub: fix potential memoryleak in kmem_cache_open()
mm, slub: fix potential use-after-free in slab_debugfs_fops
mm, slub: fix incorrect memcg slab count for bulk free
Subsystem: binfmt
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
elfcore: correct reference to CONFIG_UML
Subsystem: vfs
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
vfs: check fd has read access in kernel_read_file_from_fd()
Subsystem: mm/secretmem
Sean Christopherson <seanjc@google.com>:
mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem()
Subsystem: mm/thp
Marek Szyprowski <m.szyprowski@samsung.com>:
mm/thp: decrease nr_thps in file's mapping on THP split
Subsystem: misc
Andrej Shadura <andrew.shadura@collabora.co.uk>:
mailmap: add Andrej Shadura
.mailmap | 2 +
fs/kernel_read_file.c | 2 -
fs/ocfs2/alloc.c | 46 ++++++-----------------
fs/ocfs2/super.c | 14 +++++--
fs/userfaultfd.c | 12 ++++--
include/linux/cpuhotplug.h | 4 ++
include/linux/elfcore.h | 2 -
include/linux/memory.h | 5 ++
include/linux/secretmem.h | 2 -
mm/huge_memory.c | 6 ++-
mm/memblock.c | 2 -
mm/mempolicy.c | 16 ++------
mm/migrate.c | 62 ++++++++++++++++++-------------
mm/page_ext.c | 4 --
mm/slab.c | 4 +-
mm/slub.c | 31 ++++++++++++---
tools/testing/selftests/vm/userfaultfd.c | 23 ++++++++++-
17 files changed, 138 insertions(+), 99 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-24 22:42 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-09-24 22:42 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
16 patches, based on 7d42e98182586f57f376406d033f05fe135edb75.
Subsystems affected by this patch series:
mm/memory-failure
mm/kasan
mm/damon
xtensa
mm/shmem
ocfs2
scripts
mm/tools
lib
mm/pagecache
mm/debug
sh
mm/kasan
mm/memory-failure
mm/pagemap
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm, hwpoison: add is_free_buddy_page() in HWPoisonHandlable()
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
kasan: fix Kconfig check of CC_HAS_WORKING_NOSANITIZE_ADDRESS
Subsystem: mm/damon
Adam Borowski <kilobyte@angband.pl>:
mm/damon: don't use strnlen() with known-bogus source length
Subsystem: xtensa
Guenter Roeck <linux@roeck-us.net>:
xtensa: increase size of gcc stack frame check
Subsystem: mm/shmem
Liu Yuntao <liuyuntao10@huawei.com>:
mm/shmem.c: fix judgment error in shmem_is_huge()
Subsystem: ocfs2
Wengang Wang <wen.gang.wang@oracle.com>:
ocfs2: drop acl cache for directories too
Subsystem: scripts
Miles Chen <miles.chen@mediatek.com>:
scripts/sorttable: riscv: fix undeclared identifier 'EM_RISCV' error
Subsystem: mm/tools
Changbin Du <changbin.du@gmail.com>:
tools/vm/page-types: remove dependency on opt_file for idle page tracking
Subsystem: lib
Paul Menzel <pmenzel@molgen.mpg.de>:
lib/zlib_inflate/inffast: check config in C to avoid unused function warning
Subsystem: mm/pagecache
Minchan Kim <minchan@kernel.org>:
mm: fs: invalidate bh_lrus for only cold path
Subsystem: mm/debug
Weizhao Ouyang <o451686892@gmail.com>:
mm/debug: sync up MR_CONTIG_RANGE and MR_LONGTERM_PIN
mm/debug: sync up latest migrate_reason to migrate_reason_names
Subsystem: sh
Geert Uytterhoeven <geert+renesas@glider.be>:
sh: pgtable-3level: fix cast to pointer from integer of different size
Subsystem: mm/kasan
Nathan Chancellor <nathan@kernel.org>:
kasan: always respect CONFIG_KASAN_STACK
Subsystem: mm/memory-failure
Qi Zheng <zhengqi.arch@bytedance.com>:
mm/memory_failure: fix the missing pte_unmap() call
Subsystem: mm/pagemap
Chen Jun <chenjun102@huawei.com>:
mm: fix uninitialized use in overcommit_policy_handler
arch/sh/include/asm/pgtable-3level.h | 2 +-
fs/buffer.c | 8 ++++++--
fs/ocfs2/dlmglue.c | 3 ++-
include/linux/buffer_head.h | 4 ++--
include/linux/migrate.h | 6 +++++-
lib/Kconfig.debug | 2 +-
lib/Kconfig.kasan | 2 ++
lib/zlib_inflate/inffast.c | 13 ++++++-------
mm/damon/dbgfs-test.h | 16 ++++++++--------
mm/debug.c | 4 +++-
mm/memory-failure.c | 12 ++++++------
mm/shmem.c | 4 ++--
mm/swap.c | 19 ++++++++++++++++---
mm/util.c | 4 ++--
scripts/Makefile.kasan | 3 ++-
scripts/sorttable.c | 4 ++++
tools/vm/page-types.c | 2 +-
17 files changed, 69 insertions(+), 39 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-10 3:09 Andrew Morton
2021-09-10 17:11 ` incoming Kees Cook
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-09-10 3:09 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
More post linux-next material.
9 patches, based on f154c806676ad7153c6e161f30c53a44855329d6.
Subsystems affected by this patch series:
mm/slab-generic
rapidio
mm/debug
Subsystem: mm/slab-generic
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: move kvmalloc-related functions to slab.h
Subsystem: rapidio
Kees Cook <keescook@chromium.org>:
rapidio: avoid bogus __alloc_size warning
Subsystem: mm/debug
Kees Cook <keescook@chromium.org>:
Patch series "Add __alloc_size() for better bounds checking", v2:
Compiler Attributes: add __alloc_size() for better bounds checking
checkpatch: add __alloc_size() to known $Attribute
slab: clean up function declarations
slab: add __alloc_size attributes for better bounds checking
mm/page_alloc: add __alloc_size attributes for better bounds checking
percpu: add __alloc_size attributes for better bounds checking
mm/vmalloc: add __alloc_size attributes for better bounds checking
Makefile | 15 +++
drivers/of/kexec.c | 1
drivers/rapidio/devices/rio_mport_cdev.c | 9 +-
include/linux/compiler_attributes.h | 6 +
include/linux/gfp.h | 2
include/linux/mm.h | 34 --------
include/linux/percpu.h | 3
include/linux/slab.h | 122 ++++++++++++++++++++++---------
include/linux/vmalloc.h | 11 ++
scripts/checkpatch.pl | 3
10 files changed, 132 insertions(+), 74 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-09-10 3:09 incoming Andrew Morton
@ 2021-09-10 17:11 ` Kees Cook
2021-09-10 20:13 ` incoming Kees Cook
0 siblings, 1 reply; 325+ messages in thread
From: Kees Cook @ 2021-09-10 17:11 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-mm, mm-commits
On Thu, Sep 09, 2021 at 08:09:48PM -0700, Andrew Morton wrote:
>
> More post linux-next material.
>
> 9 patches, based on f154c806676ad7153c6e161f30c53a44855329d6.
>
> Subsystems affected by this patch series:
>
> mm/slab-generic
> rapidio
> mm/debug
>
> Subsystem: mm/slab-generic
>
> "Matthew Wilcox (Oracle)" <willy@infradead.org>:
> mm: move kvmalloc-related functions to slab.h
>
> Subsystem: rapidio
>
> Kees Cook <keescook@chromium.org>:
> rapidio: avoid bogus __alloc_size warning
>
> Subsystem: mm/debug
>
> Kees Cook <keescook@chromium.org>:
> Patch series "Add __alloc_size() for better bounds checking", v2:
> Compiler Attributes: add __alloc_size() for better bounds checking
> checkpatch: add __alloc_size() to known $Attribute
> slab: clean up function declarations
> slab: add __alloc_size attributes for better bounds checking
> mm/page_alloc: add __alloc_size attributes for better bounds checking
> percpu: add __alloc_size attributes for better bounds checking
> mm/vmalloc: add __alloc_size attributes for better bounds checking
Hi,
FYI, in overnight build testing I found yet another corner case in
GCC's handling of the __alloc_size attribute. It's the gift that keeps
on giving. The fix is here:
https://lore.kernel.org/lkml/20210910165851.3296624-1-keescook@chromium.org/
>
> Makefile | 15 +++
> drivers/of/kexec.c | 1
> drivers/rapidio/devices/rio_mport_cdev.c | 9 +-
> include/linux/compiler_attributes.h | 6 +
> include/linux/gfp.h | 2
> include/linux/mm.h | 34 --------
> include/linux/percpu.h | 3
> include/linux/slab.h | 122 ++++++++++++++++++++++---------
> include/linux/vmalloc.h | 11 ++
> scripts/checkpatch.pl | 3
> 10 files changed, 132 insertions(+), 74 deletions(-)
>
--
Kees Cook
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-09-10 17:11 ` incoming Kees Cook
@ 2021-09-10 20:13 ` Kees Cook
0 siblings, 0 replies; 325+ messages in thread
From: Kees Cook @ 2021-09-10 20:13 UTC (permalink / raw)
To: linux-kernel; +Cc: Linus Torvalds, Andrew Morton, linux-mm, mm-commits
On Fri, Sep 10, 2021 at 10:11:53AM -0700, Kees Cook wrote:
> On Thu, Sep 09, 2021 at 08:09:48PM -0700, Andrew Morton wrote:
> >
> > More post linux-next material.
> >
> > 9 patches, based on f154c806676ad7153c6e161f30c53a44855329d6.
> >
> > Subsystems affected by this patch series:
> >
> > mm/slab-generic
> > rapidio
> > mm/debug
> >
> > Subsystem: mm/slab-generic
> >
> > "Matthew Wilcox (Oracle)" <willy@infradead.org>:
> > mm: move kvmalloc-related functions to slab.h
> >
> > Subsystem: rapidio
> >
> > Kees Cook <keescook@chromium.org>:
> > rapidio: avoid bogus __alloc_size warning
> >
> > Subsystem: mm/debug
> >
> > Kees Cook <keescook@chromium.org>:
> > Patch series "Add __alloc_size() for better bounds checking", v2:
> > Compiler Attributes: add __alloc_size() for better bounds checking
> > checkpatch: add __alloc_size() to known $Attribute
> > slab: clean up function declarations
> > slab: add __alloc_size attributes for better bounds checking
> > mm/page_alloc: add __alloc_size attributes for better bounds checking
> > percpu: add __alloc_size attributes for better bounds checking
> > mm/vmalloc: add __alloc_size attributes for better bounds checking
>
> Hi,
>
> FYI, in overnight build testing I found yet another corner case in
> GCC's handling of the __alloc_size attribute. It's the gift that keeps
> on giving. The fix is here:
>
> https://lore.kernel.org/lkml/20210910165851.3296624-1-keescook@chromium.org/
I'm so glad it's Friday. Here's the v2 fix... *sigh*
https://lore.kernel.org/lkml/20210910201132.3809437-1-keescook@chromium.org/
-Kees
>
> >
> > Makefile | 15 +++
> > drivers/of/kexec.c | 1
> > drivers/rapidio/devices/rio_mport_cdev.c | 9 +-
> > include/linux/compiler_attributes.h | 6 +
> > include/linux/gfp.h | 2
> > include/linux/mm.h | 34 --------
> > include/linux/percpu.h | 3
> > include/linux/slab.h | 122 ++++++++++++++++++++++---------
> > include/linux/vmalloc.h | 11 ++
> > scripts/checkpatch.pl | 3
> > 10 files changed, 132 insertions(+), 74 deletions(-)
> >
>
> --
> Kees Cook
--
Kees Cook
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-09 1:08 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-09-09 1:08 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
A bunch of hotfixes, mostly cc:stable.
8 patches, based on 2d338201d5311bcd79d42f66df4cecbcbc5f4f2c.
Subsystems affected by this patch series:
mm/hmm
mm/hugetlb
mm/vmscan
mm/pagealloc
mm/pagemap
mm/kmemleak
mm/mempolicy
mm/memblock
Subsystem: mm/hmm
Li Zhijian <lizhijian@cn.fujitsu.com>:
mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled
Subsystem: mm/hugetlb
Liu Zixian <liuzixian4@huawei.com>:
mm/hugetlb: initialize hugetlb_usage in mm_init
Subsystem: mm/vmscan
Rik van Riel <riel@surriel.com>:
mm,vmscan: fix divide by zero in get_scan_count
Subsystem: mm/pagealloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/page_alloc.c: avoid accessing uninitialized pcp page migratetype
Subsystem: mm/pagemap
Liam Howlett <liam.howlett@oracle.com>:
mmap_lock: change trace and locking order
Subsystem: mm/kmemleak
Naohiro Aota <naohiro.aota@wdc.com>:
mm/kmemleak: allow __GFP_NOLOCKDEP passed to kmemleak's gfp
Subsystem: mm/mempolicy
yanghui <yanghui.def@bytedance.com>:
mm/mempolicy: fix a race between offset_il_node and mpol_rebind_task
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
nds32/setup: remove unused memblock_region variable in setup_memory()
arch/nds32/kernel/setup.c | 1 -
include/linux/hugetlb.h | 9 +++++++++
include/linux/mmap_lock.h | 8 ++++----
kernel/fork.c | 1 +
mm/hmm.c | 5 ++++-
mm/kmemleak.c | 3 ++-
mm/mempolicy.c | 17 +++++++++++++----
mm/page_alloc.c | 4 +++-
mm/vmscan.c | 2 +-
9 files changed, 37 insertions(+), 13 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-08 22:17 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-09-08 22:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
This is the post-linux-next material, so it is based upon latest
upstream to catch the now-merged dependencies.
10 patches, based on 2d338201d5311bcd79d42f66df4cecbcbc5f4f2c.
Subsystems affected by this patch series:
mm/vmstat
mm/migration
compat
Subsystem: mm/vmstat
Ingo Molnar <mingo@elte.hu>:
mm/vmstat: protect per cpu variables with preempt disable on RT
Subsystem: mm/migration
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: migrate: introduce a local variable to get the number of pages
mm: migrate: fix the incorrect function name in comments
mm: migrate: change to use bool type for 'page_was_mapped'
Subsystem: compat
Arnd Bergmann <arnd@arndb.de>:
Patch series "compat: remove compat_alloc_user_space", v5:
kexec: move locking into do_kexec_load
kexec: avoid compat_alloc_user_space
mm: simplify compat_sys_move_pages
mm: simplify compat numa syscalls
compat: remove some compat entry points
arch: remove compat_alloc_user_space
arch/arm64/include/asm/compat.h | 5
arch/arm64/include/asm/uaccess.h | 11 -
arch/arm64/include/asm/unistd32.h | 10 -
arch/arm64/lib/Makefile | 2
arch/arm64/lib/copy_in_user.S | 77 ----------
arch/mips/cavium-octeon/octeon-memcpy.S | 2
arch/mips/include/asm/compat.h | 8 -
arch/mips/include/asm/uaccess.h | 26 ---
arch/mips/kernel/syscalls/syscall_n32.tbl | 10 -
arch/mips/kernel/syscalls/syscall_o32.tbl | 10 -
arch/mips/lib/memcpy.S | 11 -
arch/parisc/include/asm/compat.h | 6
arch/parisc/include/asm/uaccess.h | 2
arch/parisc/kernel/syscalls/syscall.tbl | 8 -
arch/parisc/lib/memcpy.c | 9 -
arch/powerpc/include/asm/compat.h | 16 --
arch/powerpc/kernel/syscalls/syscall.tbl | 10 -
arch/s390/include/asm/compat.h | 10 -
arch/s390/include/asm/uaccess.h | 3
arch/s390/kernel/syscalls/syscall.tbl | 10 -
arch/s390/lib/uaccess.c | 63 --------
arch/sparc/include/asm/compat.h | 19 --
arch/sparc/kernel/process_64.c | 2
arch/sparc/kernel/signal32.c | 12 -
arch/sparc/kernel/signal_64.c | 8 -
arch/sparc/kernel/syscalls/syscall.tbl | 10 -
arch/x86/entry/syscalls/syscall_32.tbl | 4
arch/x86/entry/syscalls/syscall_64.tbl | 2
arch/x86/include/asm/compat.h | 13 -
arch/x86/include/asm/uaccess_64.h | 7
include/linux/compat.h | 39 +----
include/linux/uaccess.h | 10 -
include/uapi/asm-generic/unistd.h | 10 -
kernel/compat.c | 21 --
kernel/kexec.c | 105 +++++---------
kernel/sys_ni.c | 5
mm/mempolicy.c | 213 +++++++-----------------------
mm/migrate.c | 69 +++++----
mm/vmstat.c | 48 ++++++
39 files changed, 243 insertions(+), 663 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-08 2:52 Andrew Morton
2021-09-08 8:57 ` incoming Vlastimil Babka
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-09-08 2:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
147 patches, based on 7d2a07b769330c34b4deabeed939325c77a7ec2f.
Subsystems affected by this patch series:
mm/slub
mm/memory-hotplug
mm/rmap
mm/ioremap
mm/highmem
mm/cleanups
mm/secretmem
mm/kfence
mm/damon
alpha
percpu
procfs
misc
core-kernel
MAINTAINERS
lib
bitops
checkpatch
epoll
init
nilfs2
coredump
fork
pids
criu
kconfig
selftests
ipc
mm/vmscan
scripts
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
Patch series "SLUB: reduce irq disabled scope and make it RT compatible", v6:
mm, slub: don't call flush_all() from slab_debug_trace_open()
mm, slub: allocate private object map for debugfs listings
mm, slub: allocate private object map for validate_slab_cache()
mm, slub: don't disable irq for debug_check_no_locks_freed()
mm, slub: remove redundant unfreeze_partials() from put_cpu_partial()
mm, slub: extract get_partial() from new_slab_objects()
mm, slub: dissolve new_slab_objects() into ___slab_alloc()
mm, slub: return slab page from get_partial() and set c->page afterwards
mm, slub: restructure new page checks in ___slab_alloc()
mm, slub: simplify kmem_cache_cpu and tid setup
mm, slub: move disabling/enabling irqs to ___slab_alloc()
mm, slub: do initial checks in ___slab_alloc() with irqs enabled
mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc()
mm, slub: restore irqs around calling new_slab()
mm, slub: validate slab from partial list or page allocator before making it cpu slab
mm, slub: check new pages with restored irqs
mm, slub: stop disabling irqs around get_partial()
mm, slub: move reset of c->page and freelist out of deactivate_slab()
mm, slub: make locking in deactivate_slab() irq-safe
mm, slub: call deactivate_slab() without disabling irqs
mm, slub: move irq control into unfreeze_partials()
mm, slub: discard slabs in unfreeze_partials() without irqs disabled
mm, slub: detach whole partial list at once in unfreeze_partials()
mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing
mm, slub: only disable irq with spin_lock in __unfreeze_partials()
mm, slub: don't disable irqs in slub_cpu_dead()
mm, slab: split out the cpu offline variant of flush_slab()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context
mm: slub: make object_map_lock a raw_spinlock_t
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: make slab_lock() disable irqs with PREEMPT_RT
mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg
mm, slub: use migrate_disable() on PREEMPT_RT
mm, slub: convert kmem_cpu_slab protection to local_lock
Subsystem: mm/memory-hotplug
David Hildenbrand <david@redhat.com>:
Patch series "memory-hotplug.rst: complete admin-guide overhaul", v3:
memory-hotplug.rst: remove locking details from admin-guide
memory-hotplug.rst: complete admin-guide overhaul
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: remove pfn_valid_within() and CONFIG_HOLES_IN_ZONE":
mm: remove pfn_valid_within() and CONFIG_HOLES_IN_ZONE
mm: memory_hotplug: cleanup after removal of pfn_valid_within()
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: preparatory patches for new online policy and memory":
mm/memory_hotplug: use "unsigned long" for PFN in zone_for_pfn_range()
mm/memory_hotplug: remove nid parameter from arch_remove_memory()
mm/memory_hotplug: remove nid parameter from remove_memory() and friends
ACPI: memhotplug: memory resources cannot be enabled yet
Patch series "mm/memory_hotplug: "auto-movable" online policy and memory groups", v3:
mm: track present early pages per zone
mm/memory_hotplug: introduce "auto-movable" online policy
drivers/base/memory: introduce "memory groups" to logically group memory blocks
mm/memory_hotplug: track present pages in memory groups
ACPI: memhotplug: use a single static memory group for a single memory device
dax/kmem: use a single static memory group for a single probed unit
virtio-mem: use a single dynamic memory group for a single virtio-mem device
mm/memory_hotplug: memory group aware "auto-movable" online policy
mm/memory_hotplug: improved dynamic memory group aware "auto-movable" online policy
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixups for memory hotplug":
mm/memory_hotplug: use helper zone_is_zone_device() to simplify the code
Subsystem: mm/rmap
Muchun Song <songmuchun@bytedance.com>:
mm: remove redundant compound_head() calling
Subsystem: mm/ioremap
Christoph Hellwig <hch@lst.de>:
riscv: only select GENERIC_IOREMAP if MMU support is enabled
Patch series "small ioremap cleanups":
mm: move ioremap_page_range to vmalloc.c
mm: don't allow executable ioremap mappings
Weizhao Ouyang <o451686892@gmail.com>:
mm/early_ioremap.c: remove redundant early_ioremap_shutdown()
Subsystem: mm/highmem
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
highmem: don't disable preemption on RT in kmap_atomic()
Subsystem: mm/cleanups
Changbin Du <changbin.du@gmail.com>:
mm: in_irq() cleanup
Muchun Song <songmuchun@bytedance.com>:
mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1)
Subsystem: mm/secretmem
Jordy Zomer <jordy@jordyzomer.github.io>:
mm/secretmem: use refcount_t instead of atomic_t
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: show cpu and timestamp in alloc/free info
kfence: test: fail fast if disabled at boot
Subsystem: mm/damon
SeongJae Park <sjpark@amazon.de>:
Patch series "Introduce Data Access MONitor (DAMON)", v34:
mm: introduce Data Access MONitor (DAMON)
mm/damon/core: implement region-based sampling
mm/damon: adaptively adjust regions
mm/idle_page_tracking: make PG_idle reusable
mm/damon: implement primitives for the virtual memory address spaces
mm/damon: add a tracepoint
mm/damon: implement a debugfs-based user space interface
mm/damon/dbgfs: export kdamond pid to the user space
mm/damon/dbgfs: support multiple contexts
Documentation: add documents for DAMON
mm/damon: add kunit tests
mm/damon: add user space selftests
MAINTAINERS: update for DAMON
Subsystem: alpha
Randy Dunlap <rdunlap@infradead.org>:
alpha: agp: make empty macros use do-while-0 style
alpha: pci-sysfs: fix all kernel-doc warnings
Subsystem: percpu
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
percpu: remove export of pcpu_base_addr
Subsystem: procfs
Feng Zhou <zhoufeng.zf@bytedance.com>:
fs/proc/kcore.c: add mmap interface
Christoph Hellwig <hch@lst.de>:
proc: stop using seq_get_buf in proc_task_name
Ohhoon Kwon <ohoono.kwon@samsung.com>:
connector: send event on write to /proc/[pid]/comm
Subsystem: misc
Colin Ian King <colin.king@canonical.com>:
arch: Kconfig: fix spelling mistake "seperate" -> "separate"
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
include/linux/once.h: fix trivia typo Not -> Note
Daniel Lezcano <daniel.lezcano@linaro.org>:
Patch series "Add Hz macros", v3:
units: change from 'L' to 'UL'
units: add the HZ macros
thermal/drivers/devfreq_cooling: use HZ macros
devfreq: use HZ macros
iio/drivers/as73211: use HZ macros
hwmon/drivers/mr75203: use HZ macros
iio/drivers/hid-sensor: use HZ macros
i2c/drivers/ov02q10: use HZ macros
mtd/drivers/nand: use HZ macros
phy/drivers/stm32: use HZ macros
Subsystem: core-kernel
Yang Yang <yang.yang29@zte.com.cn>:
kernel/acct.c: use dedicated helper to access rlimit values
Pavel Skripkin <paskripkin@gmail.com>:
profiling: fix shift-out-of-bounds bugs
Subsystem: MAINTAINERS
Nathan Chancellor <nathan@kernel.org>:
MAINTAINERS: update ClangBuiltLinux mailing list
Documentation/llvm: update mailing list
Documentation/llvm: update IRC location
Subsystem: lib
Geert Uytterhoeven <geert@linux-m68k.org>:
Patch series "math: RATIONAL and RATIONAL_KUNIT_TEST improvements":
math: make RATIONAL tristate
math: RATIONAL_KUNIT_TEST should depend on RATIONAL instead of selecting it
Matteo Croce <mcroce@microsoft.com>:
Patch series "lib/string: optimized mem* functions", v2:
lib/string: optimized memcpy
lib/string: optimized memmove
lib/string: optimized memset
Daniel Latypov <dlatypov@google.com>:
lib/test: convert test_sort.c to use KUnit
Randy Dunlap <rdunlap@infradead.org>:
lib/dump_stack: correct kernel-doc notation
lib/iov_iter.c: fix kernel-doc warnings
Subsystem: bitops
Yury Norov <yury.norov@gmail.com>:
Patch series "Resend bitmap patches":
bitops: protect find_first_{,zero}_bit properly
bitops: move find_bit_*_le functions from le.h to find.h
include: move find.h from asm_generic to linux
arch: remove GENERIC_FIND_FIRST_BIT entirely
lib: add find_first_and_bit()
cpumask: use find_first_and_bit()
all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate
tools: sync tools/bitmap with mother linux
cpumask: replace cpumask_next_* with cpumask_first_* where appropriate
include/linux: move for_each_bit() macros from bitops.h to find.h
find: micro-optimize for_each_{set,clear}_bit()
bitops: replace for_each_*_bit_from() with for_each_*_bit() where appropriate
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
tools: rename bitmap_alloc() to bitmap_zalloc()
Yury Norov <yury.norov@gmail.com>:
mm/percpu: micro-optimize pcpu_is_populated()
bitmap: unify find_bit operations
lib: bitmap: add performance test for bitmap_print_to_pagebuf
vsprintf: rework bitmap_list_string
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: support wide strings
Mimi Zohar <zohar@linux.ibm.com>:
checkpatch: make email address check case insensitive
Joe Perches <joe@perches.com>:
checkpatch: improve GIT_COMMIT_ID test
Subsystem: epoll
Nicholas Piggin <npiggin@gmail.com>:
fs/epoll: use a per-cpu counter for user's watches count
Subsystem: init
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
init: move usermodehelper_enable() to populate_rootfs()
Kefeng Wang <wangkefeng.wang@huawei.com>:
trap: cleanup trap_init()
Subsystem: nilfs2
Nanyong Sun <sunnanyong@huawei.com>:
Patch series "nilfs2: fix incorrect usage of kobject":
nilfs2: fix memory leak in nilfs_sysfs_create_device_group
nilfs2: fix NULL pointer in nilfs_##name##_attr_release
nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
Zhen Lei <thunder.leizhen@huawei.com>:
nilfs2: use refcount_dec_and_lock() to fix potential UAF
Subsystem: coredump
David Oberhollenzer <david.oberhollenzer@sigma-star.at>:
fs/coredump.c: log if a core dump is aborted due to changed file permissions
QiuXi <qiuxi1@huawei.com>:
coredump: fix memleak in dump_vma_snapshot()
Subsystem: fork
Christoph Hellwig <hch@lst.de>:
kernel/fork.c: unexport get_{mm,task}_exe_file
Subsystem: pids
Takahiro Itazuri <itazur@amazon.com>:
pid: cleanup the stale comment mentioning pidmap_init().
Subsystem: criu
Cyrill Gorcunov <gorcunov@gmail.com>:
prctl: allow to setup brk for et_dyn executables
Subsystem: kconfig
Zenghui Yu <yuzenghui@huawei.com>:
configs: remove the obsolete CONFIG_INPUT_POLLDEV
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
Subsystem: selftests
Greg Thelen <gthelen@google.com>:
selftests/memfd: remove unused variable
Subsystem: ipc
Rafael Aquini <aquini@redhat.com>:
ipc: replace costly bailout check in sysvipc_find_ipc()
Subsystem: mm/vmscan
Randy Dunlap <rdunlap@infradead.org>:
mm/workingset: correct kernel-doc notations
Subsystem: scripts
Randy Dunlap <rdunlap@infradead.org>:
scripts: check_extable: fix typo in user error message
a/Documentation/admin-guide/mm/damon/index.rst | 15
a/Documentation/admin-guide/mm/damon/start.rst | 114 +
a/Documentation/admin-guide/mm/damon/usage.rst | 112 +
a/Documentation/admin-guide/mm/index.rst | 1
a/Documentation/admin-guide/mm/memory-hotplug.rst | 842 ++++++-----
a/Documentation/dev-tools/kfence.rst | 98 -
a/Documentation/kbuild/llvm.rst | 5
a/Documentation/vm/damon/api.rst | 20
a/Documentation/vm/damon/design.rst | 166 ++
a/Documentation/vm/damon/faq.rst | 51
a/Documentation/vm/damon/index.rst | 30
a/Documentation/vm/index.rst | 1
a/MAINTAINERS | 17
a/arch/Kconfig | 2
a/arch/alpha/include/asm/agp.h | 4
a/arch/alpha/include/asm/bitops.h | 2
a/arch/alpha/kernel/pci-sysfs.c | 12
a/arch/arc/Kconfig | 1
a/arch/arc/include/asm/bitops.h | 1
a/arch/arc/kernel/traps.c | 5
a/arch/arm/configs/dove_defconfig | 1
a/arch/arm/configs/pxa_defconfig | 1
a/arch/arm/include/asm/bitops.h | 1
a/arch/arm/kernel/traps.c | 5
a/arch/arm64/Kconfig | 1
a/arch/arm64/include/asm/bitops.h | 1
a/arch/arm64/mm/mmu.c | 3
a/arch/csky/include/asm/bitops.h | 1
a/arch/h8300/include/asm/bitops.h | 1
a/arch/h8300/kernel/traps.c | 4
a/arch/hexagon/include/asm/bitops.h | 1
a/arch/hexagon/kernel/traps.c | 4
a/arch/ia64/include/asm/bitops.h | 2
a/arch/ia64/mm/init.c | 3
a/arch/m68k/include/asm/bitops.h | 2
a/arch/mips/Kconfig | 1
a/arch/mips/configs/lemote2f_defconfig | 1
a/arch/mips/configs/pic32mzda_defconfig | 1
a/arch/mips/configs/rt305x_defconfig | 1
a/arch/mips/configs/xway_defconfig | 1
a/arch/mips/include/asm/bitops.h | 1
a/arch/nds32/kernel/traps.c | 5
a/arch/nios2/kernel/traps.c | 5
a/arch/openrisc/include/asm/bitops.h | 1
a/arch/openrisc/kernel/traps.c | 5
a/arch/parisc/configs/generic-32bit_defconfig | 1
a/arch/parisc/include/asm/bitops.h | 2
a/arch/parisc/kernel/traps.c | 4
a/arch/powerpc/include/asm/bitops.h | 2
a/arch/powerpc/include/asm/cputhreads.h | 2
a/arch/powerpc/kernel/traps.c | 5
a/arch/powerpc/mm/mem.c | 3
a/arch/powerpc/platforms/pasemi/dma_lib.c | 4
a/arch/powerpc/platforms/pseries/hotplug-memory.c | 9
a/arch/riscv/Kconfig | 2
a/arch/riscv/include/asm/bitops.h | 1
a/arch/riscv/kernel/traps.c | 5
a/arch/s390/Kconfig | 1
a/arch/s390/include/asm/bitops.h | 1
a/arch/s390/kvm/kvm-s390.c | 2
a/arch/s390/mm/init.c | 3
a/arch/sh/include/asm/bitops.h | 1
a/arch/sh/mm/init.c | 3
a/arch/sparc/include/asm/bitops_32.h | 1
a/arch/sparc/include/asm/bitops_64.h | 2
a/arch/um/kernel/trap.c | 4
a/arch/x86/Kconfig | 1
a/arch/x86/configs/i386_defconfig | 1
a/arch/x86/configs/x86_64_defconfig | 1
a/arch/x86/include/asm/bitops.h | 2
a/arch/x86/kernel/apic/vector.c | 4
a/arch/x86/mm/init_32.c | 3
a/arch/x86/mm/init_64.c | 3
a/arch/x86/um/Kconfig | 1
a/arch/xtensa/include/asm/bitops.h | 1
a/block/blk-mq.c | 2
a/drivers/acpi/acpi_memhotplug.c | 46
a/drivers/base/memory.c | 231 ++-
a/drivers/base/node.c | 2
a/drivers/block/rnbd/rnbd-clt.c | 2
a/drivers/dax/kmem.c | 43
a/drivers/devfreq/devfreq.c | 2
a/drivers/dma/ti/edma.c | 2
a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4
a/drivers/hwmon/ltc2992.c | 3
a/drivers/hwmon/mr75203.c | 2
a/drivers/iio/adc/ad7124.c | 2
a/drivers/iio/common/hid-sensors/hid-sensor-attributes.c | 3
a/drivers/iio/light/as73211.c | 3
a/drivers/infiniband/hw/irdma/hw.c | 16
a/drivers/media/cec/core/cec-core.c | 2
a/drivers/media/i2c/ov02a10.c | 2
a/drivers/media/mc/mc-devnode.c | 2
a/drivers/mmc/host/renesas_sdhi_core.c | 2
a/drivers/mtd/nand/raw/intel-nand-controller.c | 2
a/drivers/net/virtio_net.c | 2
a/drivers/pci/controller/dwc/pci-dra7xx.c | 2
a/drivers/phy/st/phy-stm32-usbphyc.c | 2
a/drivers/scsi/lpfc/lpfc_sli.c | 10
a/drivers/soc/fsl/qbman/bman_portal.c | 2
a/drivers/soc/fsl/qbman/qman_portal.c | 2
a/drivers/soc/ti/k3-ringacc.c | 4
a/drivers/thermal/devfreq_cooling.c | 2
a/drivers/tty/n_tty.c | 2
a/drivers/virt/acrn/ioreq.c | 3
a/drivers/virtio/virtio_mem.c | 26
a/fs/coredump.c | 15
a/fs/eventpoll.c | 18
a/fs/f2fs/segment.c | 8
a/fs/nilfs2/sysfs.c | 26
a/fs/nilfs2/the_nilfs.c | 9
a/fs/ocfs2/cluster/heartbeat.c | 2
a/fs/ocfs2/dlm/dlmdomain.c | 4
a/fs/ocfs2/dlm/dlmmaster.c | 18
a/fs/ocfs2/dlm/dlmrecovery.c | 2
a/fs/ocfs2/dlm/dlmthread.c | 2
a/fs/proc/array.c | 18
a/fs/proc/base.c | 5
a/fs/proc/kcore.c | 73
a/include/asm-generic/bitops.h | 1
a/include/asm-generic/bitops/find.h | 198 --
a/include/asm-generic/bitops/le.h | 64
a/include/asm-generic/early_ioremap.h | 6
a/include/linux/bitmap.h | 34
a/include/linux/bitops.h | 34
a/include/linux/cpumask.h | 46
a/include/linux/damon.h | 290 +++
a/include/linux/find.h | 134 +
a/include/linux/highmem-internal.h | 27
a/include/linux/memory.h | 55
a/include/linux/memory_hotplug.h | 40
a/include/linux/mmzone.h | 19
a/include/linux/once.h | 2
a/include/linux/page-flags.h | 17
a/include/linux/page_ext.h | 2
a/include/linux/page_idle.h | 6
a/include/linux/pagemap.h | 7
a/include/linux/sched/user.h | 3
a/include/linux/slub_def.h | 6
a/include/linux/threads.h | 2
a/include/linux/units.h | 10
a/include/linux/vmalloc.h | 3
a/include/trace/events/damon.h | 43
a/include/trace/events/mmflags.h | 2
a/include/trace/events/page_ref.h | 4
a/init/initramfs.c | 2
a/init/main.c | 3
a/init/noinitramfs.c | 2
a/ipc/util.c | 16
a/kernel/acct.c | 2
a/kernel/fork.c | 2
a/kernel/profile.c | 21
a/kernel/sys.c | 7
a/kernel/time/clocksource.c | 4
a/kernel/user.c | 25
a/lib/Kconfig | 3
a/lib/Kconfig.debug | 9
a/lib/dump_stack.c | 3
a/lib/find_bit.c | 21
a/lib/find_bit_benchmark.c | 21
a/lib/genalloc.c | 2
a/lib/iov_iter.c | 8
a/lib/math/Kconfig | 2
a/lib/math/rational.c | 3
a/lib/string.c | 130 +
a/lib/test_bitmap.c | 37
a/lib/test_printf.c | 2
a/lib/test_sort.c | 40
a/lib/vsprintf.c | 26
a/mm/Kconfig | 15
a/mm/Makefile | 4
a/mm/compaction.c | 20
a/mm/damon/Kconfig | 68
a/mm/damon/Makefile | 5
a/mm/damon/core-test.h | 253 +++
a/mm/damon/core.c | 748 ++++++++++
a/mm/damon/dbgfs-test.h | 126 +
a/mm/damon/dbgfs.c | 631 ++++++++
a/mm/damon/vaddr-test.h | 329 ++++
a/mm/damon/vaddr.c | 672 +++++++++
a/mm/early_ioremap.c | 5
a/mm/highmem.c | 2
a/mm/ioremap.c | 25
a/mm/kfence/core.c | 3
a/mm/kfence/kfence.h | 2
a/mm/kfence/kfence_test.c | 3
a/mm/kfence/report.c | 19
a/mm/kmemleak.c | 2
a/mm/memory_hotplug.c | 396 ++++-
a/mm/memremap.c | 5
a/mm/page_alloc.c | 27
a/mm/page_ext.c | 12
a/mm/page_idle.c | 10
a/mm/page_isolation.c | 7
a/mm/page_owner.c | 14
a/mm/percpu.c | 36
a/mm/rmap.c | 6
a/mm/secretmem.c | 9
a/mm/slab_common.c | 2
a/mm/slub.c | 1023 +++++++++-----
a/mm/vmalloc.c | 24
a/mm/workingset.c | 2
a/net/ncsi/ncsi-manage.c | 4
a/scripts/check_extable.sh | 2
a/scripts/checkpatch.pl | 93 -
a/tools/include/linux/bitmap.h | 4
a/tools/perf/bench/find-bit-bench.c | 2
a/tools/perf/builtin-c2c.c | 6
a/tools/perf/builtin-record.c | 2
a/tools/perf/tests/bitmap.c | 2
a/tools/perf/tests/mem2node.c | 2
a/tools/perf/util/affinity.c | 4
a/tools/perf/util/header.c | 4
a/tools/perf/util/metricgroup.c | 2
a/tools/perf/util/mmap.c | 4
a/tools/testing/selftests/damon/Makefile | 7
a/tools/testing/selftests/damon/_chk_dependency.sh | 28
a/tools/testing/selftests/damon/debugfs_attrs.sh | 75 +
a/tools/testing/selftests/kvm/dirty_log_perf_test.c | 2
a/tools/testing/selftests/kvm/dirty_log_test.c | 4
a/tools/testing/selftests/kvm/x86_64/vmx_dirty_log_test.c | 2
a/tools/testing/selftests/memfd/memfd_test.c | 2
b/MAINTAINERS | 2
b/tools/include/asm-generic/bitops.h | 1
b/tools/include/linux/bitmap.h | 7
b/tools/include/linux/find.h | 81 +
b/tools/lib/find_bit.c | 20
227 files changed, 6695 insertions(+), 1875 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-09-08 2:52 incoming Andrew Morton
@ 2021-09-08 8:57 ` Vlastimil Babka
0 siblings, 0 replies; 325+ messages in thread
From: Vlastimil Babka @ 2021-09-08 8:57 UTC (permalink / raw)
To: Andrew Morton, Linus Torvalds
Cc: linux-mm, mm-commits, Mike Galbraith, Mel Gorman
On 9/8/21 04:52, Andrew Morton wrote:
> Subsystem: mm/slub
>
> Vlastimil Babka <vbabka@suse.cz>:
> Patch series "SLUB: reduce irq disabled scope and make it RT compatible", v6:
> mm, slub: don't call flush_all() from slab_debug_trace_open()
> mm, slub: allocate private object map for debugfs listings
> mm, slub: allocate private object map for validate_slab_cache()
> mm, slub: don't disable irq for debug_check_no_locks_freed()
> mm, slub: remove redundant unfreeze_partials() from put_cpu_partial()
> mm, slub: extract get_partial() from new_slab_objects()
> mm, slub: dissolve new_slab_objects() into ___slab_alloc()
> mm, slub: return slab page from get_partial() and set c->page afterwards
> mm, slub: restructure new page checks in ___slab_alloc()
> mm, slub: simplify kmem_cache_cpu and tid setup
> mm, slub: move disabling/enabling irqs to ___slab_alloc()
> mm, slub: do initial checks in ___slab_alloc() with irqs enabled
> mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc()
> mm, slub: restore irqs around calling new_slab()
> mm, slub: validate slab from partial list or page allocator before making it cpu slab
> mm, slub: check new pages with restored irqs
> mm, slub: stop disabling irqs around get_partial()
> mm, slub: move reset of c->page and freelist out of deactivate_slab()
> mm, slub: make locking in deactivate_slab() irq-safe
> mm, slub: call deactivate_slab() without disabling irqs
> mm, slub: move irq control into unfreeze_partials()
> mm, slub: discard slabs in unfreeze_partials() without irqs disabled
> mm, slub: detach whole partial list at once in unfreeze_partials()
> mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing
> mm, slub: only disable irq with spin_lock in __unfreeze_partials()
> mm, slub: don't disable irqs in slub_cpu_dead()
> mm, slab: split out the cpu offline variant of flush_slab()
>
> Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
> mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context
> mm: slub: make object_map_lock a raw_spinlock_t
>
> Vlastimil Babka <vbabka@suse.cz>:
> mm, slub: make slab_lock() disable irqs with PREEMPT_RT
> mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg
> mm, slub: use migrate_disable() on PREEMPT_RT
> mm, slub: convert kmem_cpu_slab protection to local_lock
For my own piece of mind, I've checked that this part (patches 1 to 33)
are identical to the v6 posting [1] and git version [2] that Mel and
Mike tested (replies to [1]).
[1] https://lore.kernel.org/all/20210904105003.11688-1-vbabka@suse.cz/
[2] git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git
tags/mm-slub-5.15-rc1
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-09-02 21:48 Andrew Morton
2021-09-02 21:49 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-09-02 21:48 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
212 patches, based on 4a3bb4200a5958d76cc26ebe4db4257efa56812b.
Subsystems affected by this patch series:
ia64
ocfs2
block
mm/slub
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/shmem
mm/memcg
mm/selftests
mm/pagemap
mm/mremap
mm/bootmem
mm/sparsemem
mm/vmalloc
mm/kasan
mm/pagealloc
mm/memory-failure
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/compaction
mm/mempolicy
mm/memblock
mm/oom-kill
mm/migration
mm/ksm
mm/percpu
mm/vmstat
mm/madvise
Subsystem: ia64
Jason Wang <wangborong@cdjrlc.com>:
ia64: fix typo in a comment
Geert Uytterhoeven <geert+renesas@glider.be>:
Patch series "ia64: Miscellaneous fixes and cleanups":
ia64: fix #endif comment for reserve_elfcorehdr()
ia64: make reserve_elfcorehdr() static
ia64: make num_rsvd_regions static
Subsystem: ocfs2
Dan Carpenter <dan.carpenter@oracle.com>:
ocfs2: remove an unnecessary condition
Tuo Li <islituo@gmail.com>:
ocfs2: quota_local: fix possible uninitialized-variable access in ocfs2_local_read_info()
Gang He <ghe@suse.com>:
ocfs2: ocfs2_downconvert_lock failure results in deadlock
Subsystem: block
kernel test robot <lkp@intel.com>:
arch/csky/kernel/probes/kprobes.c: fix bugon.cocci warnings
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
Patch series "SLUB: reduce irq disabled scope and make it RT compatible", v4:
mm, slub: don't call flush_all() from slab_debug_trace_open()
mm, slub: allocate private object map for debugfs listings
mm, slub: allocate private object map for validate_slab_cache()
mm, slub: don't disable irq for debug_check_no_locks_freed()
mm, slub: remove redundant unfreeze_partials() from put_cpu_partial()
mm, slub: unify cmpxchg_double_slab() and __cmpxchg_double_slab()
mm, slub: extract get_partial() from new_slab_objects()
mm, slub: dissolve new_slab_objects() into ___slab_alloc()
mm, slub: return slab page from get_partial() and set c->page afterwards
mm, slub: restructure new page checks in ___slab_alloc()
mm, slub: simplify kmem_cache_cpu and tid setup
mm, slub: move disabling/enabling irqs to ___slab_alloc()
mm, slub: do initial checks in ___slab_alloc() with irqs enabled
mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc()
mm, slub: restore irqs around calling new_slab()
mm, slub: validate slab from partial list or page allocator before making it cpu slab
mm, slub: check new pages with restored irqs
mm, slub: stop disabling irqs around get_partial()
mm, slub: move reset of c->page and freelist out of deactivate_slab()
mm, slub: make locking in deactivate_slab() irq-safe
mm, slub: call deactivate_slab() without disabling irqs
mm, slub: move irq control into unfreeze_partials()
mm, slub: discard slabs in unfreeze_partials() without irqs disabled
mm, slub: detach whole partial list at once in unfreeze_partials()
mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing
mm, slub: only disable irq with spin_lock in __unfreeze_partials()
mm, slub: don't disable irqs in slub_cpu_dead()
mm, slab: make flush_slab() possible to call with irqs enabled
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context
mm: slub: make object_map_lock a raw_spinlock_t
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: optionally save/restore irqs in slab_[un]lock()/
mm, slub: make slab_lock() disable irqs with PREEMPT_RT
mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg
mm, slub: use migrate_disable() on PREEMPT_RT
mm, slub: convert kmem_cpu_slab protection to local_lock
Subsystem: mm/debug
Gavin Shan <gshan@redhat.com>:
Patch series "mm/debug_vm_pgtable: Enhancements", v6:
mm/debug_vm_pgtable: introduce struct pgtable_debug_args
mm/debug_vm_pgtable: use struct pgtable_debug_args in basic tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in leaf and savewrite tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in protnone and devmap tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in soft_dirty and swap tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in migration and thp tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in PTE modifying tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in PMD modifying tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in PUD modifying tests
mm/debug_vm_pgtable: use struct pgtable_debug_args in PGD and P4D modifying tests
mm/debug_vm_pgtable: remove unused code
mm/debug_vm_pgtable: fix corrupted page flag
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: report a more useful address for reclaim acquisition
liuhailong <liuhailong@oppo.com>:
mm: add kernel_misc_reclaimable in show_free_areas
Subsystem: mm/pagecache
Jan Kara <jack@suse.cz>:
Patch series "writeback: Fix bandwidth estimates", v4:
writeback: track number of inodes under writeback
writeback: reliably update bandwidth estimation
writeback: fix bandwidth estimate for spiky workload
writeback: rename domain_update_bandwidth()
writeback: use READ_ONCE for unlocked reads of writeback stats
Johannes Weiner <hannes@cmpxchg.org>:
mm: remove irqsave/restore locking from contexts with irqs enabled
fs: drop_caches: fix skipping over shadow cache inodes
fs: inode: count invalidated shadow pages in pginodesteal
Shakeel Butt <shakeelb@google.com>:
writeback: memcg: simplify cgroup_writeback_by_id
Jing Yangyang <jing.yangyang@zte.com.cn>:
include/linux/buffer_head.h: fix boolreturn.cocci warnings
Subsystem: mm/gup
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups and fixup for gup":
mm: gup: remove set but unused local variable major
mm: gup: remove unneed local variable orig_refs
mm: gup: remove useless BUG_ON in __get_user_pages()
mm: gup: fix potential pgmap refcnt leak in __gup_device_huge()
mm: gup: use helper PAGE_ALIGNED in populate_vma_page_range()
John Hubbard <jhubbard@nvidia.com>:
Patch series "A few gup refactorings and documentation updates", v3:
mm/gup: documentation corrections for gup/pup
mm/gup: small refactoring: simplify try_grab_page()
mm/gup: remove try_get_page(), call try_get_compound_head() directly
Subsystem: mm/swap
Hugh Dickins <hughd@google.com>:
fs, mm: fix race in unlinking swapfile
John Hubbard <jhubbard@nvidia.com>:
mm: delete unused get_kernel_page()
Subsystem: mm/shmem
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
shmem: use raw_spinlock_t for ->stat_lock
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups for shmem":
shmem: remove unneeded variable ret
shmem: remove unneeded header file
shmem: remove unneeded function forward declaration
shmem: include header file to declare swap_info
Hugh Dickins <hughd@google.com>:
Patch series "huge tmpfs: shmem_is_huge() fixes and cleanups":
huge tmpfs: fix fallocate(vanilla) advance over huge pages
huge tmpfs: fix split_huge_page() after FALLOC_FL_KEEP_SIZE
huge tmpfs: remove shrinklist addition from shmem_setattr()
huge tmpfs: revert shmem's use of transhuge_vma_enabled()
huge tmpfs: move shmem_huge_enabled() upwards
huge tmpfs: SGP_NOALLOC to stop collapse_file() on race
huge tmpfs: shmem_is_huge(vma, inode, index)
huge tmpfs: decide stat.st_blksize by shmem_is_huge()
shmem: shmem_writepage() split unlikely i915 THP
Subsystem: mm/memcg
Suren Baghdasaryan <surenb@google.com>:
mm, memcg: add mem_cgroup_disabled checks in vmpressure and swap-related functions
mm, memcg: inline mem_cgroup_{charge/uncharge} to improve disabled memcg config
mm, memcg: inline swap-related functions to improve disabled memcg config
Vasily Averin <vvs@virtuozzo.com>:
memcg: enable accounting for pids in nested pid namespaces
Shakeel Butt <shakeelb@google.com>:
memcg: switch lruvec stats to rstat
memcg: infrastructure to flush memcg stats
Yutian Yang <nglaive@gmail.com>:
memcg: charge fs_context and legacy_fs_context
Vasily Averin <vvs@virtuozzo.com>:
Patch series "memcg accounting from OpenVZ", v7:
memcg: enable accounting for mnt_cache entries
memcg: enable accounting for pollfd and select bits arrays
memcg: enable accounting for file lock caches
memcg: enable accounting for fasync_cache
memcg: enable accounting for new namesapces and struct nsproxy
memcg: enable accounting of ipc resources
memcg: enable accounting for signals
memcg: enable accounting for posix_timers_cache slab
memcg: enable accounting for ldt_struct objects
Shakeel Butt <shakeelb@google.com>:
memcg: cleanup racy sum avoidance code
Vasily Averin <vvs@virtuozzo.com>:
memcg: replace in_interrupt() by !in_task() in active_memcg()
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: memcontrol: set the correct memcg swappiness restriction
Miaohe Lin <linmiaohe@huawei.com>:
mm, memcg: remove unused functions
mm, memcg: save some atomic ops when flush is already true
Michal Hocko <mhocko@suse.com>:
memcg: fix up drain_local_stock comment
Shakeel Butt <shakeelb@google.com>:
memcg: make memcg->event_list_lock irqsafe
Subsystem: mm/selftests
Po-Hsu Lin <po-hsu.lin@canonical.com>:
selftests/vm: use kselftest skip code for skipped tests
Colin Ian King <colin.king@canonical.com>:
selftests: Fix spelling mistake "cann't" -> "cannot"
Subsystem: mm/pagemap
Nicholas Piggin <npiggin@gmail.com>:
Patch series "shoot lazy tlbs", v4:
lazy tlb: introduce lazy mm refcount helper functions
lazy tlb: allow lazy tlb mm refcounting to be configurable
lazy tlb: shoot lazies, a non-refcounting lazy tlb option
powerpc/64s: enable MMU_LAZY_TLB_SHOOTDOWN
Christoph Hellwig <hch@lst.de>:
Patch series "_kernel_dcache_page fixes and removal":
mmc: JZ4740: remove the flush_kernel_dcache_page call in jz4740_mmc_read_data
mmc: mmc_spi: replace flush_kernel_dcache_page with flush_dcache_page
scatterlist: replace flush_kernel_dcache_page with flush_dcache_page
mm: remove flush_kernel_dcache_page
Huang Ying <ying.huang@intel.com>:
mm,do_huge_pmd_numa_page: remove unnecessary TLB flushing code
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
mm: change fault_in_pages_* to have an unsigned size parameter
Luigi Rizzo <lrizzo@google.com>:
mm/pagemap: add mmap_assert_locked() annotations to find_vma*()
"Liam R. Howlett" <Liam.Howlett@Oracle.com>:
remap_file_pages: Use vma_lookup() instead of find_vma()
Subsystem: mm/mremap
Chen Wandun <chenwandun@huawei.com>:
mm/mremap: fix memory account on do_munmap() failure
Subsystem: mm/bootmem
Muchun Song <songmuchun@bytedance.com>:
mm/bootmem_info.c: mark __init on register_page_bootmem_info_section
Subsystem: mm/sparsemem
Ohhoon Kwon <ohoono.kwon@samsung.com>:
Patch series "mm: sparse: remove __section_nr() function", v4:
mm: sparse: pass section_nr to section_mark_present
mm: sparse: pass section_nr to find_memory_block
mm: sparse: remove __section_nr() function
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/sparse: set SECTION_NID_SHIFT to 6
Matthew Wilcox <willy@infradead.org>:
include/linux/mmzone.h: avoid a warning in sparse memory support
Miles Chen <miles.chen@mediatek.com>:
mm/sparse: clarify pgdat_to_phys
Subsystem: mm/vmalloc
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: use batched page requests in bulk-allocator
mm/vmalloc: remove gfpflags_allow_blocking() check
lib/test_vmalloc.c: add a new 'nr_pages' parameter
Chen Wandun <chenwandun@huawei.com>:
mm/vmalloc: fix wrong behavior in vread
Subsystem: mm/kasan
Woody Lin <woodylin@google.com>:
mm/kasan: move kasan.fault to mm/kasan/report.c
Andrey Konovalov <andreyknvl@gmail.com>:
Patch series "kasan: test: avoid crashing the kernel with HW_TAGS", v2:
kasan: test: rework kmalloc_oob_right
kasan: test: avoid writing invalid memory
kasan: test: avoid corrupting memory via memset
kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS
kasan: test: only do kmalloc_uaf_memset for generic mode
kasan: test: clean up ksize_uaf
kasan: test: avoid corrupting memory in copy_user_test
kasan: test: avoid corrupting memory in kasan_rcu_uaf
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: ensure consistency of memory map poisoning":
mm/page_alloc: always initialize memory map for the holes
microblaze: simplify pte_alloc_one_kernel()
mm: introduce memmap_alloc() to unify memory map allocation
memblock: stop poisoning raw allocations
Nico Pache <npache@redhat.com>:
mm/page_alloc.c: fix 'zone_id' may be used uninitialized in this function warning
Mike Rapoport <rppt@linux.ibm.com>:
mm/page_alloc: make alloc_node_mem_map() __init rather than __ref
Vasily Averin <vvs@virtuozzo.com>:
mm/page_alloc.c: use in_task()
"George G. Davis" <davis.george@siemens.com>:
mm/page_isolation: tracing: trace all test_pages_isolated failures
Subsystem: mm/memory-failure
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups and fixup for hwpoison":
mm/hwpoison: remove unneeded variable unmap_success
mm/hwpoison: fix potential pte_unmap_unlock pte error
mm/hwpoison: change argument struct page **hpagep to *hpage
mm/hwpoison: fix some obsolete comments
Yang Shi <shy828301@gmail.com>:
mm: hwpoison: don't drop slab caches for offlining non-LRU page
doc: hwpoison: correct the support for hugepage
mm: hwpoison: dump page for unhandlable page
Michael Wang <yun.wang@linux.alibaba.com>:
mm: fix panic caused by __page_handle_poison()
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: simplify prep_compound_gigantic_page ref count racing code
hugetlb: drop ref count earlier after page allocation
hugetlb: before freeing hugetlb page set dtor to appropriate value
hugetlb: fix hugetlb cgroup refcounting during vma split
Subsystem: mm/userfaultfd
Nadav Amit <namit@vmware.com>:
Patch series "userfaultfd: minor bug fixes":
userfaultfd: change mmap_changing to atomic
userfaultfd: prevent concurrent API initialization
selftests/vm/userfaultfd: wake after copy failure
Subsystem: mm/vmscan
Dave Hansen <dave.hansen@linux.intel.com>:
Patch series "Migrate Pages in lieu of discard", v11:
mm/numa: automatically generate node migration order
mm/migrate: update node demotion order on hotplug events
Yang Shi <yang.shi@linux.alibaba.com>:
mm/migrate: enable returning precise migrate_pages() success count
Dave Hansen <dave.hansen@linux.intel.com>:
mm/migrate: demote pages during reclaim
Yang Shi <yang.shi@linux.alibaba.com>:
mm/vmscan: add page demotion counter
Dave Hansen <dave.hansen@linux.intel.com>:
mm/vmscan: add helper for querying ability to age anonymous pages
Keith Busch <kbusch@kernel.org>:
mm/vmscan: Consider anonymous pages without swap
Dave Hansen <dave.hansen@linux.intel.com>:
mm/vmscan: never demote for memcg reclaim
Huang Ying <ying.huang@intel.com>:
mm/migrate: add sysfs interface to enable reclaim migration
Hui Su <suhui@zeku.com>:
mm/vmpressure: replace vmpressure_to_css() with vmpressure_to_memcg()
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups for vmscan", v2:
mm/vmscan: remove the PageDirty check after MADV_FREE pages are page_ref_freezed
mm/vmscan: remove misleading setting to sc->priority
mm/vmscan: remove unneeded return value of kswapd_run()
mm/vmscan: add 'else' to remove check_pending label
Vlastimil Babka <vbabka@suse.cz>:
mm, vmscan: guarantee drop_slab_node() termination
Subsystem: mm/compaction
Charan Teja Reddy <charante@codeaurora.org>:
mm: compaction: optimize proactive compaction deferrals
mm: compaction: support triggering of proactive compaction by user
Subsystem: mm/mempolicy
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm/mempolicy: use readable NUMA_NO_NODE macro instead of magic number
Dave Hansen <dave.hansen@linux.intel.com>:
Patch series "Introduce multi-preference mempolicy", v7:
mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes
Feng Tang <feng.tang@intel.com>:
mm/memplicy: add page allocation function for MPOL_PREFERRED_MANY policy
Ben Widawsky <ben.widawsky@intel.com>:
mm/hugetlb: add support for mempolicy MPOL_PREFERRED_MANY
mm/mempolicy: advertise new MPOL_PREFERRED_MANY
Feng Tang <feng.tang@intel.com>:
mm/mempolicy: unify the create() func for bind/interleave/prefer-many policies
Vasily Averin <vvs@virtuozzo.com>:
mm/mempolicy.c: use in_task() in mempolicy_slab_node()
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
memblock: make memblock_find_in_range method private
Subsystem: mm/oom-kill
Suren Baghdasaryan <surenb@google.com>:
mm: introduce process_mrelease system call
mm: wire up syscall process_mrelease
Subsystem: mm/migration
Randy Dunlap <rdunlap@infradead.org>:
mm/migrate: correct kernel-doc notation
Subsystem: mm/ksm
Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>:
Patch series "add KSM selftests":
selftests: vm: add KSM merge test
selftests: vm: add KSM unmerge test
selftests: vm: add KSM zero page merging test
selftests: vm: add KSM merging across nodes test
mm: KSM: fix data type
Patch series "add KSM performance tests", v3:
selftests: vm: add KSM merging time test
selftests: vm: add COW time test for KSM pages
Subsystem: mm/percpu
Jing Xiangfeng <jingxiangfeng@huawei.com>:
mm/percpu,c: remove obsolete comments of pcpu_chunk_populated()
Subsystem: mm/vmstat
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup for vmstat":
mm/vmstat: correct some wrong comments
mm/vmstat: simplify the array size calculation
mm/vmstat: remove unneeded return value
Subsystem: mm/madvise
zhangkui <zhangkui@oppo.com>:
mm/madvise: add MADV_WILLNEED to process_madvise()
Documentation/ABI/testing/sysfs-kernel-mm-numa | 24
Documentation/admin-guide/mm/numa_memory_policy.rst | 15
Documentation/admin-guide/sysctl/vm.rst | 3
Documentation/core-api/cachetlb.rst | 86 -
Documentation/dev-tools/kasan.rst | 13
Documentation/translations/zh_CN/core-api/cachetlb.rst | 9
Documentation/vm/hwpoison.rst | 1
arch/Kconfig | 28
arch/alpha/kernel/syscalls/syscall.tbl | 2
arch/arm/include/asm/cacheflush.h | 4
arch/arm/kernel/setup.c | 20
arch/arm/mach-rpc/ecard.c | 2
arch/arm/mm/flush.c | 33
arch/arm/mm/nommu.c | 6
arch/arm/tools/syscall.tbl | 2
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 2
arch/arm64/kvm/hyp/reserved_mem.c | 9
arch/arm64/mm/init.c | 38
arch/csky/abiv1/cacheflush.c | 11
arch/csky/abiv1/inc/abi/cacheflush.h | 4
arch/csky/kernel/probes/kprobes.c | 3
arch/ia64/include/asm/meminit.h | 2
arch/ia64/kernel/acpi.c | 2
arch/ia64/kernel/setup.c | 55
arch/ia64/kernel/syscalls/syscall.tbl | 2
arch/m68k/kernel/syscalls/syscall.tbl | 2
arch/microblaze/include/asm/page.h | 3
arch/microblaze/include/asm/pgtable.h | 2
arch/microblaze/kernel/syscalls/syscall.tbl | 2
arch/microblaze/mm/init.c | 12
arch/microblaze/mm/pgtable.c | 17
arch/mips/include/asm/cacheflush.h | 8
arch/mips/kernel/setup.c | 14
arch/mips/kernel/syscalls/syscall_n32.tbl | 2
arch/mips/kernel/syscalls/syscall_n64.tbl | 2
arch/mips/kernel/syscalls/syscall_o32.tbl | 2
arch/nds32/include/asm/cacheflush.h | 3
arch/nds32/mm/cacheflush.c | 9
arch/parisc/include/asm/cacheflush.h | 8
arch/parisc/kernel/cache.c | 3
arch/parisc/kernel/syscalls/syscall.tbl | 2
arch/powerpc/Kconfig | 1
arch/powerpc/kernel/smp.c | 2
arch/powerpc/kernel/syscalls/syscall.tbl | 2
arch/powerpc/mm/book3s64/radix_tlb.c | 4
arch/powerpc/platforms/pseries/hotplug-memory.c | 4
arch/riscv/mm/init.c | 44
arch/s390/kernel/setup.c | 9
arch/s390/kernel/syscalls/syscall.tbl | 2
arch/s390/mm/fault.c | 2
arch/sh/include/asm/cacheflush.h | 8
arch/sh/kernel/syscalls/syscall.tbl | 2
arch/sparc/kernel/syscalls/syscall.tbl | 2
arch/x86/entry/syscalls/syscall_32.tbl | 1
arch/x86/entry/syscalls/syscall_64.tbl | 1
arch/x86/kernel/aperture_64.c | 5
arch/x86/kernel/ldt.c | 6
arch/x86/mm/init.c | 23
arch/x86/mm/numa.c | 5
arch/x86/mm/numa_emulation.c | 5
arch/x86/realmode/init.c | 2
arch/xtensa/kernel/syscalls/syscall.tbl | 2
block/blk-map.c | 2
drivers/acpi/tables.c | 5
drivers/base/arch_numa.c | 5
drivers/base/memory.c | 4
drivers/mmc/host/jz4740_mmc.c | 4
drivers/mmc/host/mmc_spi.c | 2
drivers/of/of_reserved_mem.c | 12
fs/drop_caches.c | 3
fs/exec.c | 12
fs/fcntl.c | 3
fs/fs-writeback.c | 28
fs/fs_context.c | 4
fs/inode.c | 2
fs/locks.c | 6
fs/namei.c | 8
fs/namespace.c | 7
fs/ocfs2/dlmglue.c | 14
fs/ocfs2/quota_global.c | 1
fs/ocfs2/quota_local.c | 2
fs/pipe.c | 2
fs/select.c | 4
fs/userfaultfd.c | 116 -
include/linux/backing-dev-defs.h | 2
include/linux/backing-dev.h | 19
include/linux/buffer_head.h | 2
include/linux/compaction.h | 2
include/linux/highmem.h | 5
include/linux/hugetlb_cgroup.h | 12
include/linux/memblock.h | 2
include/linux/memcontrol.h | 118 +
include/linux/memory.h | 2
include/linux/mempolicy.h | 16
include/linux/migrate.h | 14
include/linux/mm.h | 17
include/linux/mmzone.h | 4
include/linux/page-flags.h | 9
include/linux/pagemap.h | 4
include/linux/sched/mm.h | 35
include/linux/shmem_fs.h | 25
include/linux/slub_def.h | 6
include/linux/swap.h | 28
include/linux/syscalls.h | 1
include/linux/userfaultfd_k.h | 8
include/linux/vm_event_item.h | 2
include/linux/vmpressure.h | 2
include/linux/writeback.h | 4
include/trace/events/migrate.h | 3
include/uapi/asm-generic/unistd.h | 4
include/uapi/linux/mempolicy.h | 1
ipc/msg.c | 2
ipc/namespace.c | 2
ipc/sem.c | 9
ipc/shm.c | 2
kernel/cgroup/namespace.c | 2
kernel/cpu.c | 2
kernel/exit.c | 2
kernel/fork.c | 51
kernel/kthread.c | 21
kernel/nsproxy.c | 2
kernel/pid_namespace.c | 5
kernel/sched/core.c | 37
kernel/sched/sched.h | 4
kernel/signal.c | 2
kernel/sys_ni.c | 1
kernel/sysctl.c | 2
kernel/time/namespace.c | 4
kernel/time/posix-timers.c | 4
kernel/user_namespace.c | 2
lib/scatterlist.c | 5
lib/test_kasan.c | 80 -
lib/test_kasan_module.c | 20
lib/test_vmalloc.c | 5
mm/backing-dev.c | 11
mm/bootmem_info.c | 4
mm/compaction.c | 69 -
mm/debug_vm_pgtable.c | 982 +++++++++------
mm/filemap.c | 15
mm/gup.c | 109 -
mm/huge_memory.c | 32
mm/hugetlb.c | 173 ++
mm/hwpoison-inject.c | 2
mm/internal.h | 9
mm/kasan/hw_tags.c | 43
mm/kasan/kasan.h | 1
mm/kasan/report.c | 29
mm/khugepaged.c | 2
mm/ksm.c | 8
mm/madvise.c | 1
mm/memblock.c | 22
mm/memcontrol.c | 234 +--
mm/memory-failure.c | 53
mm/memory_hotplug.c | 2
mm/mempolicy.c | 207 ++-
mm/migrate.c | 319 ++++
mm/mmap.c | 7
mm/mremap.c | 2
mm/oom_kill.c | 70 +
mm/page-writeback.c | 133 +-
mm/page_alloc.c | 62
mm/page_isolation.c | 13
mm/percpu.c | 3
mm/shmem.c | 309 ++--
mm/slab_common.c | 2
mm/slub.c | 1085 ++++++++++-------
mm/sparse.c | 46
mm/swap.c | 22
mm/swapfile.c | 14
mm/truncate.c | 28
mm/userfaultfd.c | 15
mm/vmalloc.c | 79 -
mm/vmpressure.c | 10
mm/vmscan.c | 220 ++-
mm/vmstat.c | 25
security/tomoyo/domain.c | 13
tools/testing/scatterlist/linux/mm.h | 1
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 3
tools/testing/selftests/vm/charge_reserved_hugetlb.sh | 5
tools/testing/selftests/vm/hugetlb_reparenting_test.sh | 5
tools/testing/selftests/vm/ksm_tests.c | 696 ++++++++++
tools/testing/selftests/vm/mlock-random-test.c | 2
tools/testing/selftests/vm/run_vmtests.sh | 98 +
tools/testing/selftests/vm/userfaultfd.c | 13
186 files changed, 4488 insertions(+), 2281 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-08-25 19:17 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-08-25 19:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
2 patches, based on 6e764bcd1cf72a2846c0e53d3975a09b242c04c9.
Subsystems affected by this patch series:
mm/memory-hotplug
MAINTAINERS
Subsystem: mm/memory-hotplug
Miaohe Lin <linmiaohe@huawei.com>:
mm/memory_hotplug: fix potential permanent lru cache disable
Subsystem: MAINTAINERS
Namjae Jeon <namjae.jeon@samsung.com>:
MAINTAINERS: exfat: update my email address
MAINTAINERS | 2 +-
mm/memory_hotplug.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-08-20 2:03 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-08-20 2:03 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
10 patches, based on 614cb2751d3150850d459bee596c397f344a7936.
Subsystems affected by this patch series:
mm/shmem
mm/pagealloc
mm/tracing
MAINTAINERS
mm/memcg
mm/memory-failure
mm/vmscan
mm/kfence
mm/hugetlb
Subsystem: mm/shmem
Yang Shi <shy828301@gmail.com>:
Revert "mm/shmem: fix shmem_swapin() race with swapoff"
Revert "mm: swap: check if swap backing device is congested or not"
Subsystem: mm/pagealloc
Doug Berger <opendmb@gmail.com>:
mm/page_alloc: don't corrupt pcppage_migratetype
Subsystem: mm/tracing
Mike Rapoport <rppt@linux.ibm.com>:
mmflags.h: add missing __GFP_ZEROTAGS and __GFP_SKIP_KASAN_POISON names
Subsystem: MAINTAINERS
Nathan Chancellor <nathan@kernel.org>:
MAINTAINERS: update ClangBuiltLinux IRC chat
Subsystem: mm/memcg
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/hwpoison: retry with shake_page() for unhandlable pages
Subsystem: mm/vmscan
Johannes Weiner <hannes@cmpxchg.org>:
mm: vmscan: fix missing psi annotation for node_reclaim()
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: don't pass page cache pages to restore_reserve_on_error
MAINTAINERS | 2 +-
include/linux/kfence.h | 7 ++++---
include/linux/memcontrol.h | 29 +++++++++++++++--------------
include/trace/events/mmflags.h | 4 +++-
mm/hugetlb.c | 19 ++++++++++++++-----
mm/memory-failure.c | 12 +++++++++---
mm/page_alloc.c | 25 ++++++++++++-------------
mm/shmem.c | 14 +-------------
mm/swap_state.c | 7 -------
mm/vmscan.c | 30 ++++++++++++++++++++++--------
10 files changed, 81 insertions(+), 68 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-08-13 23:53 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-08-13 23:53 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
7 patches, based on f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008.
Subsystems affected by this patch series:
mm/kasan
mm/slub
mm/madvise
mm/memcg
lib
Subsystem: mm/kasan
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
Patch series "kasan, slub: reset tag when printing address", v3:
kasan, kmemleak: reset tags when scanning block
kasan, slub: reset tag when printing address
Subsystem: mm/slub
Shakeel Butt <shakeelb@google.com>:
slub: fix kmalloc_pagealloc_invalid_free unit test
Vlastimil Babka <vbabka@suse.cz>:
mm: slub: fix slub_debug disabling for list of slabs
Subsystem: mm/madvise
David Hildenbrand <david@redhat.com>:
mm/madvise: report SIGBUS as -EFAULT for MADV_POPULATE_(READ|WRITE)
Subsystem: mm/memcg
Waiman Long <longman@redhat.com>:
mm/memcg: fix incorrect flushing of lruvec data in obj_stock
Subsystem: lib
Liang Wang <wangliang101@huawei.com>:
lib: use PFN_PHYS() in devmem_is_allowed()
lib/devmem_is_allowed.c | 2 +-
mm/gup.c | 7 +++++--
mm/kmemleak.c | 6 +++---
mm/madvise.c | 4 +++-
mm/memcontrol.c | 6 ++++--
mm/slub.c | 25 ++++++++++++++-----------
6 files changed, 30 insertions(+), 20 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-07-29 21:52 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-07-29 21:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
7 patches, based on 7e96bf476270aecea66740a083e51b38c1371cd2.
Subsystems affected by this patch series:
lib
ocfs2
mm/memcg
mm/migration
mm/slub
mm/memcg
Subsystem: lib
Matteo Croce <mcroce@microsoft.com>:
lib/test_string.c: move string selftest in the Runtime Testing menu
Subsystem: ocfs2
Junxiao Bi <junxiao.bi@oracle.com>:
ocfs2: fix zero out valid data
ocfs2: issue zeroout to EOF blocks
Subsystem: mm/memcg
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: fix blocking rstat function called from atomic cgroup1 thresholding code
Subsystem: mm/migration
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/migrate: fix NR_ISOLATED corruption on 64-bit
Subsystem: mm/slub
Shakeel Butt <shakeelb@google.com>:
slub: fix unreclaimable slab stat for bulk free
Subsystem: mm/memcg
Wang Hai <wanghai38@huawei.com>:
mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook()
fs/ocfs2/file.c | 103 ++++++++++++++++++++++++++++++++----------------------
lib/Kconfig | 3 -
lib/Kconfig.debug | 3 +
mm/memcontrol.c | 3 +
mm/migrate.c | 2 -
mm/slab.h | 2 -
mm/slub.c | 22 ++++++-----
7 files changed, 81 insertions(+), 57 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-07-23 22:49 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-07-23 22:49 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
15 patches, based on 704f4cba43d4ed31ef4beb422313f1263d87bc55.
Subsystems affected by this patch series:
mm/userfaultfd
mm/kfence
mm/highmem
mm/pagealloc
mm/memblock
mm/pagecache
mm/secretmem
mm/pagemap
mm/hugetlbfs
Subsystem: mm/userfaultfd
Peter Collingbourne <pcc@google.com>:
Patch series "userfaultfd: do not untag user pointers", v5:
userfaultfd: do not untag user pointers
selftest: use mmap instead of posix_memalign to allocate memory
Subsystem: mm/kfence
Weizhao Ouyang <o451686892@gmail.com>:
kfence: defer kfence_test_init to ensure that kunit debugfs is created
Alexander Potapenko <glider@google.com>:
kfence: move the size check to the beginning of __kfence_alloc()
kfence: skip all GFP_ZONEMASK allocations
Subsystem: mm/highmem
Christoph Hellwig <hch@lst.de>:
mm: call flush_dcache_page() in memcpy_to_page() and memzero_page()
mm: use kmap_local_page in memzero_page
Subsystem: mm/pagealloc
Sergei Trofimovich <slyfox@gentoo.org>:
mm: page_alloc: fix page_poison=1 / INIT_ON_ALLOC_DEFAULT_ON interaction
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
memblock: make for_each_mem_range() traverse MEMBLOCK_HOTPLUG regions
Subsystem: mm/pagecache
Roman Gushchin <guro@fb.com>:
writeback, cgroup: remove wb from offline list before releasing refcnt
writeback, cgroup: do not reparent dax inodes
Subsystem: mm/secretmem
Mike Rapoport <rppt@linux.ibm.com>:
mm/secretmem: wire up ->set_page_dirty
Subsystem: mm/pagemap
Muchun Song <songmuchun@bytedance.com>:
mm: mmap_lock: fix disabling preemption directly
Qi Zheng <zhengqi.arch@bytedance.com>:
mm: fix the deadlock in finish_fault()
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlbfs: fix mount mode command line processing
Documentation/arm64/tagged-address-abi.rst | 26 ++++++++++++++++++--------
fs/fs-writeback.c | 3 +++
fs/hugetlbfs/inode.c | 2 +-
fs/userfaultfd.c | 26 ++++++++++++--------------
include/linux/highmem.h | 6 ++++--
include/linux/memblock.h | 4 ++--
mm/backing-dev.c | 2 +-
mm/kfence/core.c | 19 ++++++++++++++++---
mm/kfence/kfence_test.c | 2 +-
mm/memblock.c | 3 ++-
mm/memory.c | 11 ++++++++++-
mm/mmap_lock.c | 4 ++--
mm/page_alloc.c | 29 ++++++++++++++++-------------
mm/secretmem.c | 1 +
tools/testing/selftests/vm/userfaultfd.c | 6 ++++--
15 files changed, 93 insertions(+), 51 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-07-15 4:26 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-07-15 4:26 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
13 patches, based on 40226a3d96ef8ab8980f032681c8bfd46d63874e.
Subsystems affected by this patch series:
mm/kasan
mm/pagealloc
mm/rmap
mm/hmm
hfs
mm/hugetlb
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
mm: move helper to check slub_debug_enabled
Yee Lee <yee.lee@mediatek.com>:
kasan: add memzero init for unaligned size at DEBUG
Marco Elver <elver@google.com>:
kasan: fix build by including kernel.h
Subsystem: mm/pagealloc
Matteo Croce <mcroce@microsoft.com>:
Revert "mm/page_alloc: make should_fail_alloc_page() static"
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: avoid page allocator recursion with pagesets.lock held
Yanfei Xu <yanfei.xu@windriver.com>:
mm/page_alloc: correct return value when failing at preparing
Chuck Lever <chuck.lever@oracle.com>:
mm/page_alloc: further fix __alloc_pages_bulk() return value
Subsystem: mm/rmap
Christoph Hellwig <hch@lst.de>:
mm: fix the try_to_unmap prototype for !CONFIG_MMU
Subsystem: mm/hmm
Alistair Popple <apopple@nvidia.com>:
lib/test_hmm: remove set but unused page variable
Subsystem: hfs
Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>:
Patch series "hfs: fix various errors", v2:
hfs: add missing clean-up in hfs_fill_super
hfs: fix high memory mapping in hfs_bnode_read
hfs: add lock nesting notation to hfs_find_init
Subsystem: mm/hugetlb
Joao Martins <joao.m.martins@oracle.com>:
mm/hugetlb: fix refs calculation from unaligned @vaddr
fs/hfs/bfind.c | 14 +++++++++++++-
fs/hfs/bnode.c | 25 ++++++++++++++++++++-----
fs/hfs/btree.h | 7 +++++++
fs/hfs/super.c | 10 +++++-----
include/linux/kasan.h | 1 +
include/linux/rmap.h | 4 +++-
lib/test_hmm.c | 2 --
mm/hugetlb.c | 5 +++--
mm/kasan/kasan.h | 12 ++++++++++++
mm/page_alloc.c | 30 ++++++++++++++++++++++--------
mm/slab.h | 15 +++++++++++----
mm/slub.c | 14 --------------
12 files changed, 97 insertions(+), 42 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-07-08 0:59 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-07-08 0:59 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
54 patches, based on a931dd33d370896a683236bba67c0d6f3d01144d.
Subsystems affected by this patch series:
lib
mm/slub
mm/secretmem
mm/cleanups
mm/init
debug
mm/pagemap
mm/mremap
Subsystem: lib
Zhen Lei <thunder.leizhen@huawei.com>:
lib/test: fix spelling mistakes
lib: fix spelling mistakes
lib: fix spelling mistakes in header files
Subsystem: mm/slub
Nathan Chancellor <nathan@kernel.org>:
Patch series "hexagon: Fix build error with CONFIG_STACKDEPOT and select CONFIG_ARCH_WANT_LD_ORPHAN_WARN":
hexagon: handle {,SOFT}IRQENTRY_TEXT in linker script
hexagon: use common DISCARDS macro
hexagon: select ARCH_WANT_LD_ORPHAN_WARN
Oliver Glitta <glittao@gmail.com>:
mm/slub: use stackdepot to save stack trace in objects
Subsystem: mm/secretmem
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: introduce memfd_secret system call to create "secret" memory areas", v20:
mmap: make mlock_future_check() global
riscv/Kconfig: make direct map manipulation options depend on MMU
set_memory: allow querying whether set_direct_map_*() is actually enabled
mm: introduce memfd_secret system call to create "secret" memory areas
PM: hibernate: disable when there are active secretmem users
arch, mm: wire up memfd_secret system call where relevant
secretmem: test: add basic selftest for memfd_secret(2)
Subsystem: mm/cleanups
Zhen Lei <thunder.leizhen@huawei.com>:
mm: fix spelling mistakes in header files
Subsystem: mm/init
Kefeng Wang <wangkefeng.wang@huawei.com>:
Patch series "init_mm: cleanup ARCH's text/data/brk setup code", v3:
mm: add setup_initial_init_mm() helper
arc: convert to setup_initial_init_mm()
arm: convert to setup_initial_init_mm()
arm64: convert to setup_initial_init_mm()
csky: convert to setup_initial_init_mm()
h8300: convert to setup_initial_init_mm()
m68k: convert to setup_initial_init_mm()
nds32: convert to setup_initial_init_mm()
nios2: convert to setup_initial_init_mm()
openrisc: convert to setup_initial_init_mm()
powerpc: convert to setup_initial_init_mm()
riscv: convert to setup_initial_init_mm()
s390: convert to setup_initial_init_mm()
sh: convert to setup_initial_init_mm()
x86: convert to setup_initial_init_mm()
Subsystem: debug
Stephen Boyd <swboyd@chromium.org>:
Patch series "Add build ID to stacktraces", v6:
buildid: only consider GNU notes for build ID parsing
buildid: add API to parse build ID out of buffer
buildid: stash away kernels build ID on init
dump_stack: add vmlinux build ID to stack traces
module: add printk formats to add module build ID to stacktraces
arm64: stacktrace: use %pSb for backtrace printing
x86/dumpstack: use %pSb/%pBb for backtrace printing
scripts/decode_stacktrace.sh: support debuginfod
scripts/decode_stacktrace.sh: silence stderr messages from addr2line/nm
scripts/decode_stacktrace.sh: indicate 'auto' can be used for base path
buildid: mark some arguments const
buildid: fix kernel-doc notation
kdump: use vmlinux_build_id to simplify
Subsystem: mm/pagemap
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *
Subsystem: mm/mremap
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "mrermap fixes", v2:
selftest/mremap_test: update the test to handle pagesize other than 4K
selftest/mremap_test: avoid crash with static build
mm/mremap: convert huge PUD move to separate helper
mm/mremap: don't enable optimized PUD move if page table levels is 2
mm/mremap: use pmd/pud_poplulate to update page table entries
mm/mremap: hold the rmap lock in write mode when moving page table entries.
Patch series "Speedup mremap on ppc64", v8:
mm/mremap: allow arch runtime override
powerpc/book3s64/mm: update flush_tlb_range to flush page walk cache
powerpc/mm: enable HAVE_MOVE_PMD support
Documentation/core-api/printk-formats.rst | 11
arch/alpha/include/asm/pgtable.h | 8
arch/arc/mm/init.c | 5
arch/arm/include/asm/pgtable-3level.h | 2
arch/arm/kernel/setup.c | 5
arch/arm64/include/asm/Kbuild | 1
arch/arm64/include/asm/cacheflush.h | 6
arch/arm64/include/asm/kfence.h | 2
arch/arm64/include/asm/pgtable.h | 8
arch/arm64/include/asm/set_memory.h | 17 +
arch/arm64/include/uapi/asm/unistd.h | 1
arch/arm64/kernel/machine_kexec.c | 1
arch/arm64/kernel/setup.c | 5
arch/arm64/kernel/stacktrace.c | 2
arch/arm64/mm/mmu.c | 7
arch/arm64/mm/pageattr.c | 13
arch/csky/kernel/setup.c | 5
arch/h8300/kernel/setup.c | 5
arch/hexagon/Kconfig | 1
arch/hexagon/kernel/vmlinux.lds.S | 9
arch/ia64/include/asm/pgtable.h | 4
arch/m68k/include/asm/motorola_pgtable.h | 2
arch/m68k/kernel/setup_mm.c | 5
arch/m68k/kernel/setup_no.c | 5
arch/mips/include/asm/pgtable-64.h | 8
arch/nds32/kernel/setup.c | 5
arch/nios2/kernel/setup.c | 5
arch/openrisc/kernel/setup.c | 5
arch/parisc/include/asm/pgtable.h | 4
arch/powerpc/include/asm/book3s/64/pgtable.h | 11
arch/powerpc/include/asm/book3s/64/tlbflush-radix.h | 2
arch/powerpc/include/asm/nohash/64/pgtable-4k.h | 6
arch/powerpc/include/asm/nohash/64/pgtable.h | 6
arch/powerpc/include/asm/tlb.h | 6
arch/powerpc/kernel/setup-common.c | 5
arch/powerpc/mm/book3s64/radix_hugetlbpage.c | 8
arch/powerpc/mm/book3s64/radix_pgtable.c | 6
arch/powerpc/mm/book3s64/radix_tlb.c | 44 +-
arch/powerpc/mm/pgtable_64.c | 4
arch/powerpc/platforms/Kconfig.cputype | 2
arch/riscv/Kconfig | 4
arch/riscv/include/asm/pgtable-64.h | 4
arch/riscv/include/asm/unistd.h | 1
arch/riscv/kernel/setup.c | 5
arch/s390/kernel/setup.c | 5
arch/sh/include/asm/pgtable-3level.h | 4
arch/sh/kernel/setup.c | 5
arch/sparc/include/asm/pgtable_32.h | 6
arch/sparc/include/asm/pgtable_64.h | 10
arch/um/include/asm/pgtable-3level.h | 2
arch/x86/entry/syscalls/syscall_32.tbl | 1
arch/x86/entry/syscalls/syscall_64.tbl | 1
arch/x86/include/asm/pgtable.h | 8
arch/x86/kernel/dumpstack.c | 2
arch/x86/kernel/setup.c | 5
arch/x86/mm/init_64.c | 4
arch/x86/mm/pat/set_memory.c | 4
arch/x86/mm/pgtable.c | 2
include/asm-generic/pgtable-nop4d.h | 2
include/asm-generic/pgtable-nopmd.h | 2
include/asm-generic/pgtable-nopud.h | 4
include/linux/bootconfig.h | 4
include/linux/buildid.h | 10
include/linux/compaction.h | 4
include/linux/cpumask.h | 2
include/linux/crash_core.h | 12
include/linux/debugobjects.h | 2
include/linux/hmm.h | 2
include/linux/hugetlb.h | 6
include/linux/kallsyms.h | 21 +
include/linux/list_lru.h | 4
include/linux/lru_cache.h | 8
include/linux/mm.h | 3
include/linux/mmu_notifier.h | 8
include/linux/module.h | 9
include/linux/nodemask.h | 6
include/linux/percpu-defs.h | 2
include/linux/percpu-refcount.h | 2
include/linux/pgtable.h | 4
include/linux/scatterlist.h | 2
include/linux/secretmem.h | 54 +++
include/linux/set_memory.h | 12
include/linux/shrinker.h | 2
include/linux/syscalls.h | 1
include/linux/vmalloc.h | 4
include/uapi/asm-generic/unistd.h | 7
include/uapi/linux/magic.h | 1
init/Kconfig | 1
init/main.c | 2
kernel/crash_core.c | 50 ---
kernel/kallsyms.c | 104 +++++--
kernel/module.c | 42 ++
kernel/power/hibernate.c | 5
kernel/sys_ni.c | 2
lib/Kconfig.debug | 17 -
lib/asn1_encoder.c | 2
lib/buildid.c | 80 ++++-
lib/devres.c | 2
lib/dump_stack.c | 13
lib/dynamic_debug.c | 2
lib/fonts/font_pearl_8x8.c | 2
lib/kfifo.c | 2
lib/list_sort.c | 2
lib/nlattr.c | 4
lib/oid_registry.c | 2
lib/pldmfw/pldmfw.c | 2
lib/reed_solomon/test_rslib.c | 2
lib/refcount.c | 2
lib/rhashtable.c | 2
lib/sbitmap.c | 2
lib/scatterlist.c | 4
lib/seq_buf.c | 2
lib/sort.c | 2
lib/stackdepot.c | 2
lib/test_bitops.c | 2
lib/test_bpf.c | 2
lib/test_kasan.c | 2
lib/test_kmod.c | 6
lib/test_scanf.c | 2
lib/vsprintf.c | 10
mm/Kconfig | 4
mm/Makefile | 1
mm/gup.c | 12
mm/init-mm.c | 9
mm/internal.h | 3
mm/mlock.c | 3
mm/mmap.c | 5
mm/mremap.c | 108 ++++++-
mm/secretmem.c | 254 +++++++++++++++++
mm/slub.c | 79 +++--
scripts/checksyscalls.sh | 4
scripts/decode_stacktrace.sh | 89 +++++-
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 3
tools/testing/selftests/vm/memfd_secret.c | 296 ++++++++++++++++++++
tools/testing/selftests/vm/mremap_test.c | 116 ++++---
tools/testing/selftests/vm/run_vmtests.sh | 17 +
137 files changed, 1470 insertions(+), 442 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-07-01 1:46 Andrew Morton
2021-07-03 0:28 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-07-01 1:46 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
This is the rest of the -mm tree, less 66 patches which are dependent on
things which are (or were recently) in linux-next. I'll trickle that
material over next week.
192 patches, based on 7cf3dead1ad70c72edb03e2d98e1f3dcd332cdb2 plus the
June 28 sendings.
Subsystems affected by this patch series:
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/kconfig
mm/proc
mm/z3fold
mm/zbud
mm/ras
mm/mempolicy
mm/memblock
mm/migration
mm/thp
mm/nommu
mm/kconfig
mm/madvise
mm/memory-hotplug
mm/zswap
mm/zsmalloc
mm/zram
mm/cleanups
mm/kfence
mm/hmm
procfs
sysctl
misc
core-kernel
lib
lz4
checkpatch
init
kprobes
nilfs2
hfs
signals
exec
kcov
selftests
compress/decompress
ipc
Subsystem: mm/hugetlb
Muchun Song <songmuchun@bytedance.com>:
Patch series "Free some vmemmap pages of HugeTLB page", v23:
mm: memory_hotplug: factor out bootmem core functions to bootmem_info.c
mm: hugetlb: introduce a new config HUGETLB_PAGE_FREE_VMEMMAP
mm: hugetlb: gather discrete indexes of tail page
mm: hugetlb: free the vmemmap pages associated with each HugeTLB page
mm: hugetlb: defer freeing of HugeTLB pages
mm: hugetlb: alloc the vmemmap pages associated with each HugeTLB page
mm: hugetlb: add a kernel parameter hugetlb_free_vmemmap
mm: memory_hotplug: disable memmap_on_memory when hugetlb_free_vmemmap enabled
mm: hugetlb: introduce nr_free_vmemmap_pages in the struct hstate
Shixin Liu <liushixin2@huawei.com>:
mm/debug_vm_pgtable: move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE
mm/debug_vm_pgtable: remove redundant pfn_{pmd/pte}() and fix one comment mistake
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for huge_memory:, v3:
mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK
mm/huge_memory.c: use page->deferred_list
mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled()
mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd
mm/huge_memory.c: don't discard hugepage if other processes are mapping it
Christophe Leroy <christophe.leroy@csgroup.eu>:
Patch series "Subject: [PATCH v2 0/5] Implement huge VMAP and VMALLOC on powerpc 8xx", v2:
mm/hugetlb: change parameters of arch_make_huge_pte()
mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge
mm/vmalloc: enable mapping of huge pages at pte level in vmap
mm/vmalloc: enable mapping of huge pages at pte level in vmalloc
powerpc/8xx: add support for huge pages on VMAP and VMALLOC
Nanyong Sun <sunnanyong@huawei.com>:
khugepaged: selftests: remove debug_cow
Mina Almasry <almasrymina@google.com>:
mm, hugetlb: fix racy resv_huge_pages underflow on UFFDIO_COPY
Muchun Song <songmuchun@bytedance.com>:
Patch series "Split huge PMD mapping of vmemmap pages", v4:
mm: sparsemem: split the huge PMD mapping of vmemmap pages
mm: sparsemem: use huge PMD mapping for vmemmap pages
mm: hugetlb: introduce CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "Fix prep_compound_gigantic_page ref count adjustment":
hugetlb: remove prep_compound_huge_page cleanup
hugetlb: address ref count racing in prep_compound_gigantic_page
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/hwpoison: disable pcp for page_handle_poison()
Subsystem: mm/userfaultfd
Peter Xu <peterx@redhat.com>:
Patch series "userfaultfd/selftests: A few cleanups", v2:
userfaultfd/selftests: use user mode only
userfaultfd/selftests: remove the time() check on delayed uffd
userfaultfd/selftests: dropping VERIFY check in locking_thread
userfaultfd/selftests: only dump counts if mode enabled
userfaultfd/selftests: unify error handling
Patch series "mm/uffd: Misc fix for uffd-wp and one more test":
mm/thp: simplify copying of huge zero page pmd when fork
mm/userfaultfd: fix uffd-wp special cases for fork()
mm/userfaultfd: fail uffd-wp registration if not supported
mm/pagemap: export uffd-wp protection information
userfaultfd/selftests: add pagemap uffd-wp test
Axel Rasmussen <axelrasmussen@google.com>:
Patch series "userfaultfd: add minor fault handling for shmem", v6:
userfaultfd/shmem: combine shmem_{mcopy_atomic,mfill_zeropage}_pte
userfaultfd/shmem: support minor fault registration for shmem
userfaultfd/shmem: support UFFDIO_CONTINUE for shmem
userfaultfd/shmem: advertise shmem minor fault support
userfaultfd/shmem: modify shmem_mfill_atomic_pte to use install_pte()
userfaultfd/selftests: use memfd_create for shmem test type
userfaultfd/selftests: create alias mappings in the shmem test
userfaultfd/selftests: reinitialize test context in each test
userfaultfd/selftests: exercise minor fault handling shmem support
Subsystem: mm/vmscan
Yu Zhao <yuzhao@google.com>:
mm/vmscan.c: fix potential deadlock in reclaim_pages()
include/trace/events/vmscan.h: remove mm_vmscan_inactive_list_is_low
Miaohe Lin <linmiaohe@huawei.com>:
mm: workingset: define macro WORKINGSET_SHIFT
Subsystem: mm/kconfig
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm/kconfig: move HOLES_IN_ZONE into mm
Subsystem: mm/proc
Mike Rapoport <rppt@linux.ibm.com>:
docs: proc.rst: meminfo: briefly describe gaps in memory accounting
David Hildenbrand <david@redhat.com>:
Patch series "fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages", v3:
fs/proc/kcore: drop KCORE_REMAP and KCORE_OTHER
fs/proc/kcore: pfn_is_ram check only applies to KCORE_RAM
fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages
mm: introduce page_offline_(begin|end|freeze|thaw) to synchronize setting PageOffline()
virtio-mem: use page_offline_(start|end) when setting PageOffline()
fs/proc/kcore: use page_offline_(freeze|thaw)
Subsystem: mm/z3fold
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for z3fold":
mm/z3fold: define macro NCHUNKS as TOTAL_CHUNKS - ZHDR_CHUNKS
mm/z3fold: avoid possible underflow in z3fold_alloc()
mm/z3fold: remove magic number in z3fold_create_pool()
mm/z3fold: remove unused function handle_to_z3fold_header()
mm/z3fold: fix potential memory leak in z3fold_destroy_pool()
mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page
Subsystem: mm/zbud
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanups for zbud", v2:
mm/zbud: reuse unbuddied[0] as buddied in zbud_pool
mm/zbud: don't export any zbud API
Subsystem: mm/ras
YueHaibing <yuehaibing@huawei.com>:
mm/compaction: use DEVICE_ATTR_WO macro
Liu Xiang <liu.xiang@zlingsmart.com>:
mm: compaction: remove duplicate !list_empty(&sublist) check
Wonhyuk Yang <vvghjk1234@gmail.com>:
mm/compaction: fix 'limit' in fast_isolate_freepages
Subsystem: mm/mempolicy
Feng Tang <feng.tang@intel.com>:
Patch series "mm/mempolicy: some fix and semantics cleanup", v4:
mm/mempolicy: cleanup nodemask intersection check for oom
mm/mempolicy: don't handle MPOL_LOCAL like a fake MPOL_PREFERRED policy
mm/mempolicy: unify the parameter sanity check for mbind and set_mempolicy
Yang Shi <shy828301@gmail.com>:
mm: mempolicy: don't have to split pmd for huge zero page
Ben Widawsky <ben.widawsky@intel.com>:
mm/mempolicy: use unified 'nodes' for bind/interleave/prefer policies
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "arm64: drop pfn_valid_within() and simplify pfn_valid()", v4:
include/linux/mmzone.h: add documentation for pfn_valid()
memblock: update initialization of reserved pages
arm64: decouple check whether pfn is in linear map from pfn_valid()
arm64: drop pfn_valid_within() and simplify pfn_valid()
Anshuman Khandual <anshuman.khandual@arm.com>:
arm64/mm: drop HAVE_ARCH_PFN_VALID
Subsystem: mm/migration
Muchun Song <songmuchun@bytedance.com>:
mm: migrate: fix missing update page_private to hugetlb_page_subpool
Subsystem: mm/thp
Collin Fijalkovich <cfijalkovich@google.com>:
mm, thp: relax the VM_DENYWRITE constraint on file-backed THPs
Yang Shi <shy828301@gmail.com>:
mm: memory: add orig_pmd to struct vm_fault
mm: memory: make numa_migrate_prep() non-static
mm: thp: refactor NUMA fault handling
mm: migrate: account THP NUMA migration counters correctly
mm: migrate: don't split THP for misplaced NUMA page
mm: migrate: check mapcount for THP instead of refcount
mm: thp: skip make PMD PROT_NONE if THP migration is not supported
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/thp: make ARCH_ENABLE_SPLIT_PMD_PTLOCK dependent on PGTABLE_LEVELS > 2
Yang Shi <shy828301@gmail.com>:
mm: rmap: make try_to_unmap() void function
Hugh Dickins <hughd@google.com>:
mm/thp: remap_page() is only needed on anonymous THP
mm: hwpoison_user_mappings() try_to_unmap() with TTU_SYNC
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/thp: fix strncpy warning
Subsystem: mm/nommu
Chen Li <chenli@uniontech.com>:
nommu: remove __GFP_HIGHMEM in vmalloc/vzalloc
Liam Howlett <liam.howlett@oracle.com>:
mm/nommu: unexport do_munmap()
Subsystem: mm/kconfig
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: generalize ZONE_[DMA|DMA32]
Subsystem: mm/madvise
David Hildenbrand <david@redhat.com>:
Patch series "mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables", v2:
mm: make variable names for populate_vma_page_range() consistent
mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables
MAINTAINERS: add tools/testing/selftests/vm/ to MEMORY MANAGEMENT
selftests/vm: add protection_keys_32 / protection_keys_64 to gitignore
selftests/vm: add test for MADV_POPULATE_(READ|WRITE)
Subsystem: mm/memory-hotplug
Liam Mark <lmark@codeaurora.org>:
mm/memory_hotplug: rate limit page migration warnings
Oscar Salvador <osalvador@suse.de>:
mm,memory_hotplug: drop unneeded locking
Subsystem: mm/zswap
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for zswap":
mm/zswap.c: remove unused function zswap_debugfs_exit()
mm/zswap.c: avoid unnecessary copy-in at map time
mm/zswap.c: fix two bugs in zswap_writeback_entry()
Subsystem: mm/zsmalloc
Zhaoyang Huang <zhaoyang.huang@unisoc.com>:
mm: zram: amend SLAB_RECLAIM_ACCOUNT on zspage_cachep
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup for zsmalloc":
mm/zsmalloc.c: remove confusing code in obj_free()
mm/zsmalloc.c: improve readability for async_free_zspage()
Subsystem: mm/zram
Yue Hu <huyue2@yulong.com>:
zram: move backing_dev under macro CONFIG_ZRAM_WRITEBACK
Subsystem: mm/cleanups
Hyeonggon Yoo <42.hyeyoo@gmail.com>:
mm: fix typos and grammar error in comments
Anshuman Khandual <anshuman.khandual@arm.com>:
mm: define default value for FIRST_USER_ADDRESS
Zhen Lei <thunder.leizhen@huawei.com>:
mm: fix spelling mistakes
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Clean W=1 build warnings for mm/":
mm/vmscan: remove kerneldoc-like comment from isolate_lru_pages
mm/vmalloc: include header for prototype of set_iounmap_nonlazy
mm/page_alloc: make should_fail_alloc_page() static
mm/mapping_dirty_helpers: remove double Note in kerneldoc
mm/memcontrol.c: fix kerneldoc comment for mem_cgroup_calculate_protection
mm/memory_hotplug: fix kerneldoc comment for __try_online_node
mm/memory_hotplug: fix kerneldoc comment for __remove_memory
mm/zbud: add kerneldoc fields for zbud_pool
mm/z3fold: add kerneldoc fields for z3fold_pool
mm/swap: make swap_address_space an inline function
mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations
mm/page_alloc: move prototype for find_suitable_fallback
mm/swap: make NODE_DATA an inline function on CONFIG_FLATMEM
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/thp: define default pmd_pgtable()
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: unconditionally use unbound work queue
Subsystem: mm/hmm
Alistair Popple <apopple@nvidia.com>:
Patch series "Add support for SVM atomics in Nouveau", v11:
mm: remove special swap entry functions
mm/swapops: rework swap entry manipulation code
mm/rmap: split try_to_munlock from try_to_unmap
mm/rmap: split migration into its own function
mm: rename migrate_pgmap_owner
mm/memory.c: allow different return codes for copy_nonpresent_pte()
mm: device exclusive memory access
mm: selftests for exclusive device memory
nouveau/svm: refactor nouveau_range_fault
nouveau/svm: implement atomic SVM access
Subsystem: procfs
Marcelo Henrique Cerri <marcelo.cerri@canonical.com>:
proc: Avoid mixing integer types in mem_rw()
ZHOUFENG <zhoufeng.zf@bytedance.com>:
fs/proc/kcore.c: add mmap interface
Kalesh Singh <kaleshsingh@google.com>:
procfs: allow reading fdinfo with PTRACE_MODE_READ
procfs/dmabuf: add inode number to /proc/*/fdinfo
Subsystem: sysctl
Jiapeng Chong <jiapeng.chong@linux.alibaba.com>:
sysctl: remove redundant assignment to first
Subsystem: misc
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
drm: include only needed headers in ascii85.h
Subsystem: core-kernel
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: split out panic and oops helpers
Subsystem: lib
Zhen Lei <thunder.leizhen@huawei.com>:
lib: decompress_bunzip2: remove an unneeded semicolon
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
Patch series "lib/string_helpers: get rid of ugly *_escape_mem_ascii()", v3:
lib/string_helpers: switch to use BIT() macro
lib/string_helpers: move ESCAPE_NP check inside 'else' branch in a loop
lib/string_helpers: drop indentation level in string_escape_mem()
lib/string_helpers: introduce ESCAPE_NA for escaping non-ASCII
lib/string_helpers: introduce ESCAPE_NAP to escape non-ASCII and non-printable
lib/string_helpers: allow to append additional characters to be escaped
lib/test-string_helpers: print flags in hexadecimal format
lib/test-string_helpers: get rid of trailing comma in terminators
lib/test-string_helpers: add test cases for new features
MAINTAINERS: add myself as designated reviewer for generic string library
seq_file: introduce seq_escape_mem()
seq_file: add seq_escape_str() as replica of string_escape_str()
seq_file: convert seq_escape() to use seq_escape_str()
nfsd: avoid non-flexible API in seq_quote_mem()
seq_file: drop unused *_escape_mem_ascii()
Trent Piepho <tpiepho@gmail.com>:
lib/math/rational.c: fix divide by zero
lib/math/rational: add Kunit test cases
Zhen Lei <thunder.leizhen@huawei.com>:
lib/decompressors: fix spelling mistakes
lib/mpi: fix spelling mistakes
Alexey Dobriyan <adobriyan@gmail.com>:
lib: memscan() fixlet
lib: uninline simple_strtoull()
Matteo Croce <mcroce@microsoft.com>:
lib/test_string.c: allow module removal
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: split out kstrtox() and simple_strtox() to a separate header
Subsystem: lz4
Rajat Asthana <thisisrast7@gmail.com>:
lz4_decompress: declare LZ4_decompress_safe_withPrefix64k static
Dimitri John Ledkov <dimitri.ledkov@canonical.com>:
lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
Subsystem: checkpatch
Guenter Roeck <linux@roeck-us.net>:
checkpatch: scripts/spdxcheck.py now requires python3
Joe Perches <joe@perches.com>:
checkpatch: improve the indented label test
Guenter Roeck <linux@roeck-us.net>:
checkpatch: do not complain about positive return values starting with EPOLL
Subsystem: init
Andrew Halaney <ahalaney@redhat.com>:
init: print out unknown kernel parameters
Subsystem: kprobes
Barry Song <song.bao.hua@hisilicon.com>:
kprobes: remove duplicated strong free_insn_page in x86 and s390
Subsystem: nilfs2
Colin Ian King <colin.king@canonical.com>:
nilfs2: remove redundant continue statement in a while-loop
Subsystem: hfs
Zhen Lei <thunder.leizhen@huawei.com>:
hfsplus: remove unnecessary oom message
Chung-Chiang Cheng <shepjeng@gmail.com>:
hfsplus: report create_date to kstat.btime
Subsystem: signals
Al Viro <viro@zeniv.linux.org.uk>:
x86: signal: don't do sas_ss_reset() until we are certain that sigframe won't be abandoned
Subsystem: exec
Alexey Dobriyan <adobriyan@gmail.com>:
exec: remove checks in __register_bimfmt()
Subsystem: kcov
Marco Elver <elver@google.com>:
kcov: add __no_sanitize_coverage to fix noinstr for all architectures
Subsystem: selftests
Dave Hansen <dave.hansen@linux.intel.com>:
Patch series "selftests/vm/pkeys: Bug fixes and a new test":
selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
selftests/vm/pkeys: handle negative sys_pkey_alloc() return code
selftests/vm/pkeys: refill shadow register after implicit kernel write
selftests/vm/pkeys: exercise x86 XSAVE init state
Subsystem: compress/decompress
Yu Kuai <yukuai3@huawei.com>:
lib/decompressors: remove set but not used variabled 'level'
Subsystem: ipc
Vasily Averin <vvs@virtuozzo.com>:
Patch series "ipc: allocations cleanup", v2:
ipc sem: use kvmalloc for sem_undo allocation
ipc: use kmalloc for msg_queue and shmid_kernel
Manfred Spraul <manfred@colorfullife.com>:
ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lock
ipc/util.c: use binary search for max_idx
Documentation/admin-guide/kernel-parameters.txt | 35
Documentation/admin-guide/mm/hugetlbpage.rst | 11
Documentation/admin-guide/mm/memory-hotplug.rst | 13
Documentation/admin-guide/mm/pagemap.rst | 2
Documentation/admin-guide/mm/userfaultfd.rst | 3
Documentation/core-api/kernel-api.rst | 7
Documentation/filesystems/proc.rst | 48
Documentation/vm/hmm.rst | 19
Documentation/vm/unevictable-lru.rst | 33
MAINTAINERS | 10
arch/alpha/Kconfig | 5
arch/alpha/include/asm/pgalloc.h | 1
arch/alpha/include/asm/pgtable.h | 1
arch/alpha/include/uapi/asm/mman.h | 3
arch/alpha/kernel/setup.c | 2
arch/arc/include/asm/pgalloc.h | 2
arch/arc/include/asm/pgtable.h | 8
arch/arm/Kconfig | 3
arch/arm/include/asm/pgalloc.h | 1
arch/arm64/Kconfig | 15
arch/arm64/include/asm/hugetlb.h | 3
arch/arm64/include/asm/memory.h | 2
arch/arm64/include/asm/page.h | 4
arch/arm64/include/asm/pgalloc.h | 1
arch/arm64/include/asm/pgtable.h | 2
arch/arm64/kernel/setup.c | 1
arch/arm64/kvm/mmu.c | 2
arch/arm64/mm/hugetlbpage.c | 5
arch/arm64/mm/init.c | 51
arch/arm64/mm/ioremap.c | 4
arch/arm64/mm/mmu.c | 22
arch/csky/include/asm/pgalloc.h | 2
arch/csky/include/asm/pgtable.h | 1
arch/hexagon/include/asm/pgtable.h | 4
arch/ia64/Kconfig | 7
arch/ia64/include/asm/pal.h | 1
arch/ia64/include/asm/pgalloc.h | 1
arch/ia64/include/asm/pgtable.h | 1
arch/m68k/Kconfig | 5
arch/m68k/include/asm/mcf_pgalloc.h | 2
arch/m68k/include/asm/mcf_pgtable.h | 2
arch/m68k/include/asm/motorola_pgalloc.h | 1
arch/m68k/include/asm/motorola_pgtable.h | 2
arch/m68k/include/asm/pgtable_mm.h | 1
arch/m68k/include/asm/sun3_pgalloc.h | 1
arch/microblaze/Kconfig | 4
arch/microblaze/include/asm/pgalloc.h | 2
arch/microblaze/include/asm/pgtable.h | 2
arch/mips/Kconfig | 10
arch/mips/include/asm/pgalloc.h | 1
arch/mips/include/asm/pgtable-32.h | 1
arch/mips/include/asm/pgtable-64.h | 1
arch/mips/include/uapi/asm/mman.h | 3
arch/mips/kernel/relocate.c | 1
arch/mips/sgi-ip22/ip22-reset.c | 1
arch/mips/sgi-ip32/ip32-reset.c | 1
arch/nds32/include/asm/pgalloc.h | 5
arch/nios2/include/asm/pgalloc.h | 1
arch/nios2/include/asm/pgtable.h | 2
arch/openrisc/include/asm/pgalloc.h | 2
arch/openrisc/include/asm/pgtable.h | 1
arch/parisc/include/asm/pgalloc.h | 1
arch/parisc/include/asm/pgtable.h | 2
arch/parisc/include/uapi/asm/mman.h | 3
arch/parisc/kernel/pdc_chassis.c | 1
arch/powerpc/Kconfig | 6
arch/powerpc/include/asm/book3s/pgtable.h | 1
arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h | 5
arch/powerpc/include/asm/nohash/32/mmu-8xx.h | 43
arch/powerpc/include/asm/nohash/32/pgtable.h | 1
arch/powerpc/include/asm/nohash/64/pgtable.h | 2
arch/powerpc/include/asm/pgalloc.h | 5
arch/powerpc/include/asm/pgtable.h | 6
arch/powerpc/kernel/setup-common.c | 1
arch/powerpc/platforms/Kconfig.cputype | 1
arch/riscv/Kconfig | 5
arch/riscv/include/asm/pgalloc.h | 2
arch/riscv/include/asm/pgtable.h | 2
arch/s390/Kconfig | 6
arch/s390/include/asm/pgalloc.h | 3
arch/s390/include/asm/pgtable.h | 5
arch/s390/kernel/ipl.c | 1
arch/s390/kernel/kprobes.c | 5
arch/s390/mm/pgtable.c | 2
arch/sh/include/asm/pgalloc.h | 1
arch/sh/include/asm/pgtable.h | 2
arch/sparc/Kconfig | 5
arch/sparc/include/asm/pgalloc_32.h | 1
arch/sparc/include/asm/pgalloc_64.h | 1
arch/sparc/include/asm/pgtable_32.h | 3
arch/sparc/include/asm/pgtable_64.h | 8
arch/sparc/kernel/sstate.c | 1
arch/sparc/mm/hugetlbpage.c | 6
arch/sparc/mm/init_64.c | 1
arch/um/drivers/mconsole_kern.c | 1
arch/um/include/asm/pgalloc.h | 1
arch/um/include/asm/pgtable-2level.h | 1
arch/um/include/asm/pgtable-3level.h | 1
arch/um/kernel/um_arch.c | 1
arch/x86/Kconfig | 17
arch/x86/include/asm/desc.h | 1
arch/x86/include/asm/pgalloc.h | 2
arch/x86/include/asm/pgtable_types.h | 2
arch/x86/kernel/cpu/mshyperv.c | 1
arch/x86/kernel/kprobes/core.c | 6
arch/x86/kernel/setup.c | 1
arch/x86/mm/init_64.c | 21
arch/x86/mm/pgtable.c | 34
arch/x86/purgatory/purgatory.c | 2
arch/x86/xen/enlighten.c | 1
arch/xtensa/include/asm/pgalloc.h | 2
arch/xtensa/include/asm/pgtable.h | 1
arch/xtensa/include/uapi/asm/mman.h | 3
arch/xtensa/platforms/iss/setup.c | 1
drivers/block/zram/zram_drv.h | 2
drivers/bus/brcmstb_gisb.c | 1
drivers/char/ipmi/ipmi_msghandler.c | 1
drivers/clk/analogbits/wrpll-cln28hpc.c | 4
drivers/edac/altera_edac.c | 1
drivers/firmware/google/gsmi.c | 1
drivers/gpu/drm/nouveau/include/nvif/if000c.h | 1
drivers/gpu/drm/nouveau/nouveau_svm.c | 162 ++-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 1
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 6
drivers/hv/vmbus_drv.c | 1
drivers/hwtracing/coresight/coresight-cpu-debug.c | 1
drivers/leds/trigger/ledtrig-activity.c | 1
drivers/leds/trigger/ledtrig-heartbeat.c | 1
drivers/leds/trigger/ledtrig-panic.c | 1
drivers/misc/bcm-vk/bcm_vk_dev.c | 1
drivers/misc/ibmasm/heartbeat.c | 1
drivers/misc/pvpanic/pvpanic.c | 1
drivers/net/ipa/ipa_smp2p.c | 1
drivers/parisc/power.c | 1
drivers/power/reset/ltc2952-poweroff.c | 1
drivers/remoteproc/remoteproc_core.c | 1
drivers/s390/char/con3215.c | 1
drivers/s390/char/con3270.c | 1
drivers/s390/char/sclp.c | 1
drivers/s390/char/sclp_con.c | 1
drivers/s390/char/sclp_vt220.c | 1
drivers/s390/char/zcore.c | 1
drivers/soc/bcm/brcmstb/pm/pm-arm.c | 1
drivers/staging/olpc_dcon/olpc_dcon.c | 1
drivers/video/fbdev/hyperv_fb.c | 1
drivers/virtio/virtio_mem.c | 2
fs/Kconfig | 15
fs/exec.c | 3
fs/hfsplus/inode.c | 5
fs/hfsplus/xattr.c | 1
fs/nfsd/nfs4state.c | 2
fs/nilfs2/btree.c | 1
fs/open.c | 13
fs/proc/base.c | 6
fs/proc/fd.c | 20
fs/proc/kcore.c | 136 ++
fs/proc/task_mmu.c | 34
fs/seq_file.c | 43
fs/userfaultfd.c | 15
include/asm-generic/bug.h | 3
include/linux/ascii85.h | 3
include/linux/bootmem_info.h | 68 +
include/linux/compat.h | 2
include/linux/compiler-clang.h | 17
include/linux/compiler-gcc.h | 6
include/linux/compiler_types.h | 2
include/linux/huge_mm.h | 74 -
include/linux/hugetlb.h | 80 +
include/linux/hugetlb_cgroup.h | 19
include/linux/kcore.h | 3
include/linux/kernel.h | 227 ----
include/linux/kprobes.h | 1
include/linux/kstrtox.h | 155 ++
include/linux/memblock.h | 4
include/linux/memory_hotplug.h | 27
include/linux/mempolicy.h | 9
include/linux/memremap.h | 2
include/linux/migrate.h | 27
include/linux/mm.h | 18
include/linux/mm_types.h | 2
include/linux/mmu_notifier.h | 26
include/linux/mmzone.h | 27
include/linux/mpi.h | 4
include/linux/page-flags.h | 22
include/linux/panic.h | 98 +
include/linux/panic_notifier.h | 12
include/linux/pgtable.h | 44
include/linux/rmap.h | 13
include/linux/seq_file.h | 10
include/linux/shmem_fs.h | 19
include/linux/signal.h | 2
include/linux/string.h | 7
include/linux/string_helpers.h | 31
include/linux/sunrpc/cache.h | 1
include/linux/swap.h | 19
include/linux/swapops.h | 171 +--
include/linux/thread_info.h | 1
include/linux/userfaultfd_k.h | 5
include/linux/vmalloc.h | 15
include/linux/zbud.h | 23
include/trace/events/vmscan.h | 41
include/uapi/asm-generic/mman-common.h | 3
include/uapi/linux/mempolicy.h | 1
include/uapi/linux/userfaultfd.h | 7
init/main.c | 42
ipc/msg.c | 6
ipc/sem.c | 25
ipc/shm.c | 6
ipc/util.c | 44
ipc/util.h | 3
kernel/hung_task.c | 1
kernel/kexec_core.c | 1
kernel/kprobes.c | 2
kernel/panic.c | 1
kernel/rcu/tree.c | 2
kernel/signal.c | 14
kernel/sysctl.c | 4
kernel/trace/trace.c | 1
lib/Kconfig.debug | 12
lib/decompress_bunzip2.c | 6
lib/decompress_unlz4.c | 8
lib/decompress_unlzo.c | 3
lib/decompress_unxz.c | 2
lib/decompress_unzstd.c | 4
lib/kstrtox.c | 5
lib/lz4/lz4_decompress.c | 2
lib/math/Makefile | 1
lib/math/rational-test.c | 56 +
lib/math/rational.c | 16
lib/mpi/longlong.h | 4
lib/mpi/mpicoder.c | 6
lib/mpi/mpiutil.c | 2
lib/parser.c | 1
lib/string.c | 2
lib/string_helpers.c | 142 +-
lib/test-string_helpers.c | 157 ++-
lib/test_hmm.c | 127 ++
lib/test_hmm_uapi.h | 2
lib/test_string.c | 5
lib/vsprintf.c | 1
lib/xz/xz_dec_bcj.c | 2
lib/xz/xz_dec_lzma2.c | 8
lib/zlib_inflate/inffast.c | 2
lib/zstd/huf.h | 2
mm/Kconfig | 16
mm/Makefile | 2
mm/bootmem_info.c | 127 ++
mm/compaction.c | 20
mm/debug_vm_pgtable.c | 109 --
mm/gup.c | 58 +
mm/hmm.c | 12
mm/huge_memory.c | 269 ++---
mm/hugetlb.c | 369 +++++--
mm/hugetlb_vmemmap.c | 332 ++++++
mm/hugetlb_vmemmap.h | 53 -
mm/internal.h | 29
mm/kfence/core.c | 4
mm/khugepaged.c | 20
mm/madvise.c | 66 +
mm/mapping_dirty_helpers.c | 2
mm/memblock.c | 28
mm/memcontrol.c | 4
mm/memory-failure.c | 38
mm/memory.c | 239 +++-
mm/memory_hotplug.c | 161 ---
mm/mempolicy.c | 323 ++----
mm/migrate.c | 268 +----
mm/mlock.c | 12
mm/mmap_lock.c | 59 -
mm/mprotect.c | 18
mm/nommu.c | 5
mm/oom_kill.c | 2
mm/page_alloc.c | 5
mm/page_vma_mapped.c | 15
mm/rmap.c | 644 +++++++++---
mm/shmem.c | 125 --
mm/sparse-vmemmap.c | 432 +++++++-
mm/sparse.c | 1
mm/swap.c | 2
mm/swapfile.c | 2
mm/userfaultfd.c | 249 ++--
mm/util.c | 40
mm/vmalloc.c | 37
mm/vmscan.c | 20
mm/workingset.c | 10
mm/z3fold.c | 39
mm/zbud.c | 235 ++--
mm/zsmalloc.c | 5
mm/zswap.c | 26
scripts/checkpatch.pl | 16
tools/testing/selftests/vm/.gitignore | 3
tools/testing/selftests/vm/Makefile | 5
tools/testing/selftests/vm/hmm-tests.c | 158 +++
tools/testing/selftests/vm/khugepaged.c | 4
tools/testing/selftests/vm/madv_populate.c | 342 ++++++
tools/testing/selftests/vm/pkey-x86.h | 1
tools/testing/selftests/vm/protection_keys.c | 85 +
tools/testing/selftests/vm/run_vmtests.sh | 16
tools/testing/selftests/vm/userfaultfd.c | 1094 ++++++++++-----------
299 files changed, 6277 insertions(+), 3183 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-07-01 1:46 incoming Andrew Morton
@ 2021-07-03 0:28 ` Linus Torvalds
2021-07-03 1:06 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-07-03 0:28 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Wed, Jun 30, 2021 at 6:46 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> This is the rest of the -mm tree, less 66 patches which are dependent on
> things which are (or were recently) in linux-next. I'll trickle that
> material over next week.
I haven't bisected this yet, but with the current -git I'm getting
watchdog: BUG: soft lockup - CPU#41 stuck for 49s!
and the common call chain seems to be in flush_tlb_mm_range ->
on_each_cpu_cond_mask.
Commit e058a84bfddc42ba356a2316f2cf1141974625c9 is good, and looking
at the pulls and merges I've done since, this -mm series looks like
the obvious culprit.
I'll go start bisection, but I thought I'd give a heads-up in case
somebody else has seen TLB-flush-related lockups and already figured
out the guilty party..
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-07-03 0:28 ` incoming Linus Torvalds
@ 2021-07-03 1:06 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2021-07-03 1:06 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Fri, Jul 2, 2021 at 5:28 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Commit e058a84bfddc42ba356a2316f2cf1141974625c9 is good, and looking
> at the pulls and merges I've done since, this -mm series looks like
> the obvious culprit.
No, unless my bisection is wrong, the -mm branch is innocent, and was
discarded from the suspects on the very first bisection trial.
So never mind.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-06-29 2:32 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-06-29 2:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
192 patches, based on 7cf3dead1ad70c72edb03e2d98e1f3dcd332cdb2.
Subsystems affected by this patch series:
mm/gup
mm/pagealloc
kthread
ia64
scripts
ntfs
squashfs
ocfs2
z
kernel/watchdog
mm/slab
mm/slub
mm/kmemleak
mm/dax
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/mprotect
mm/bootmem
mm/dma
mm/tracing
mm/vmalloc
mm/kasan
mm/initialization
mm/pagealloc
mm/memory-failure
Subsystem: mm/gup
Jann Horn <jannh@google.com>:
mm/gup: fix try_grab_compound_head() race with split_huge_page()
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
mm/page_alloc: fix memory map initialization for descending nodes
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: correct return value of populated elements if bulk array is populated
Subsystem: kthread
Jonathan Neuschäfer <j.neuschaefer@gmx.net>:
kthread: switch to new kerneldoc syntax for named variable macro argument
Petr Mladek <pmladek@suse.com>:
kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()
Subsystem: ia64
Randy Dunlap <rdunlap@infradead.org>:
ia64: headers: drop duplicated words
Arnd Bergmann <arnd@arndb.de>:
ia64: mca_drv: fix incorrect array size calculation
Subsystem: scripts
"Steven Rostedt (VMware)" <rostedt@goodmis.org>:
Patch series "streamline_config.pl: Fix Perl spacing":
streamline_config.pl: make spacing consistent
streamline_config.pl: add softtabstop=4 for vim users
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ntfs
Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>:
ntfs: fix validity check for file name attribute
Subsystem: squashfs
Vincent Whitchurch <vincent.whitchurch@axis.com>:
squashfs: add option to panic on errors
Subsystem: ocfs2
Yang Yingliang <yangyingliang@huawei.com>:
ocfs2: remove unnecessary INIT_LIST_HEAD()
Subsystem: z
Dan Carpenter <dan.carpenter@oracle.com>:
ocfs2: fix snprintf() checking
Colin Ian King <colin.king@canonical.com>:
ocfs2: remove redundant assignment to pointer queue
Wan Jiabing <wanjiabing@vivo.com>:
ocfs2: remove repeated uptodate check for buffer
Chen Huang <chenhuang5@huawei.com>:
ocfs2: replace simple_strtoull() with kstrtoull()
Colin Ian King <colin.king@canonical.com>:
ocfs2: remove redundant initialization of variable ret
Subsystem: kernel/watchdog
Wang Qing <wangqing@vivo.com>:
kernel: watchdog: modify the explanation related to watchdog thread
doc: watchdog: modify the explanation related to watchdog thread
doc: watchdog: modify the doc related to "watchdog/%u"
Subsystem: mm/slab
gumingtao <gumingtao1225@gmail.com>:
slab: use __func__ to trace function name
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
kunit: make test->lock irq safe
Oliver Glitta <glittao@gmail.com>:
mm/slub, kunit: add a KUnit test for SLUB debugging functionality
slub: remove resiliency_test() function
Hyeonggon Yoo <42.hyeyoo@gmail.com>:
mm, slub: change run-time assertion in kmalloc_index() to compile-time
Stephen Boyd <swboyd@chromium.org>:
slub: restore slub_debug=- behavior
slub: actually use 'message' in restore_bytes()
Joe Perches <joe@perches.com>:
slub: indicate slab_fix() uses printf formats
Stephen Boyd <swboyd@chromium.org>:
slub: force on no_hash_pointers when slub_debug is enabled
Faiyaz Mohammed <faiyazm@codeaurora.org>:
mm: slub: move sysfs slab alloc/free interfaces to debugfs
Georgi Djakov <quic_c_gdjako@quicinc.com>:
mm/slub: add taint after the errors are printed
Subsystem: mm/kmemleak
Yanfei Xu <yanfei.xu@windriver.com>:
mm/kmemleak: fix possible wrong memory scanning period
Subsystem: mm/dax
Jan Kara <jack@suse.cz>:
dax: fix ENOMEM handling in grab_mapping_entry()
Subsystem: mm/debug
Tang Bin <tangbin@cmss.chinamobile.com>:
tools/vm/page_owner_sort.c: check malloc() return
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/debug_vm_pgtable: ensure THP availability via has_transparent_hugepage()
Nicolas Saenz Julienne <nsaenzju@redhat.com>:
mm: mmap_lock: use local locks instead of disabling preemption
Gavin Shan <gshan@redhat.com>:
Patch series "mm/page_reporting: Make page reporting work on arm64 with 64KB page size", v4:
mm/page_reporting: fix code style in __page_reporting_request()
mm/page_reporting: export reporting order as module parameter
mm/page_reporting: allow driver to specify reporting order
virtio_balloon: specify page reporting order if needed
Subsystem: mm/pagecache
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: page-writeback: kill get_writeback_state() comments
Chi Wu <wuchi.zero@gmail.com>:
mm/page-writeback: Fix performance when BDI's share of ratio is 0.
mm/page-writeback: update the comment of Dirty position control
mm/page-writeback: use __this_cpu_inc() in account_page_dirtied()
Roman Gushchin <guro@fb.com>:
Patch series "cgroup, blkcg: prevent dirty inodes to pin dying memory cgroups", v9:
writeback, cgroup: do not switch inodes with I_WILL_FREE flag
writeback, cgroup: add smp_mb() to cgroup_writeback_umount()
writeback, cgroup: increment isw_nr_in_flight before grabbing an inode
writeback, cgroup: switch to rcu_work API in inode_switch_wbs()
writeback, cgroup: keep list of inodes attached to bdi_writeback
writeback, cgroup: split out the functional part of inode_switch_wbs_work_fn()
writeback, cgroup: support switching multiple inodes at once
writeback, cgroup: release dying cgwbs by switching attached inodes
Christoph Hellwig <hch@lst.de>:
Patch series "remove the implicit .set_page_dirty default":
fs: unexport __set_page_dirty
fs: move ramfs_aops to libfs
mm: require ->set_page_dirty to be explicitly wired up
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Further set_page_dirty cleanups":
mm/writeback: move __set_page_dirty() to core mm
mm/writeback: use __set_page_dirty in __set_page_dirty_nobuffers
iomap: use __set_page_dirty_nobuffers
fs: remove anon_set_page_dirty()
fs: remove noop_set_page_dirty()
mm: move page dirtying prototypes from mm.h
Subsystem: mm/gup
Peter Xu <peterx@redhat.com>:
Patch series "mm/gup: Fix pin page write cache bouncing on has_pinned", v2:
mm/gup_benchmark: support threading
Andrea Arcangeli <aarcange@redhat.com>:
mm: gup: allow FOLL_PIN to scale in SMP
mm: gup: pack has_pinned in MMF_HAS_PINNED
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm: pagewalk: fix walk for hugepage tables
Subsystem: mm/swap
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "close various race windows for swap", v6:
mm/swapfile: use percpu_ref to serialize against concurrent swapoff
swap: fix do_swap_page() race with swapoff
mm/swap: remove confusing checking for non_swap_entry() in swap_ra_info()
mm/shmem: fix shmem_swapin() race with swapoff
Patch series "Cleanups for swap", v2:
mm/swapfile: move get_swap_page_of_type() under CONFIG_HIBERNATION
mm/swap: remove unused local variable nr_shadows
mm/swap_slots.c: delete meaningless forward declarations
Huang Ying <ying.huang@intel.com>:
mm, swap: remove unnecessary smp_rmb() in swap_type_to_swap_info()
mm: free idle swap cache page after COW
swap: check mapping_empty() for swap cache before being freed
Subsystem: mm/memcg
Waiman Long <longman@redhat.com>:
Patch series "mm/memcg: Reduce kmemcache memory accounting overhead", v6:
mm/memcg: move mod_objcg_state() to memcontrol.c
mm/memcg: cache vmstat data in percpu memcg_stock_pcp
mm/memcg: improve refill_obj_stock() performance
mm/memcg: optimize user context object stock access
Patch series "mm: memcg/slab: Fix objcg pointer array handling problem", v4:
mm: memcg/slab: properly set up gfp flags for objcg pointer array
mm: memcg/slab: create a new set of kmalloc-cg-<n> caches
mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: fix root_mem_cgroup charging
Patch series "memcontrol code cleanup and simplification", v3:
mm: memcontrol: fix page charging in page replacement
mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm
mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec
mm: memcontrol: simplify lruvec_holds_page_lru_lock
mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec
mm: memcontrol: simplify the logic of objcg pinning memcg
mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock
mm: vmscan: remove noinline_for_stack
wenhuizhang <wenhui@gwmail.gwu.edu>:
memcontrol: use flexible-array member
Dan Schatzberg <schatzberg.dan@gmail.com>:
Patch series "Charge loop device i/o to issuing cgroup", v14:
loop: use worker per cgroup instead of kworker
mm: charge active memcg when no mm is set
loop: charge i/o to mem and blk cg
Huilong Deng <denghuilong@cdjrlc.com>:
mm: memcontrol: remove trailing semicolon in macros
Subsystem: mm/pagemap
David Hildenbrand <david@redhat.com>:
Patch series "perf/binfmt/mm: remove in-tree usage of MAP_EXECUTABLE":
perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC
binfmt: remove in-tree usage of MAP_EXECUTABLE
mm: ignore MAP_EXECUTABLE in ksys_mmap_pgoff()
Gonzalo Matias Juarez Tello <gmjuareztello@gmail.com>:
mm/mmap.c: logic of find_vma_intersection repeated in __do_munmap
Liam Howlett <liam.howlett@oracle.com>:
mm/mmap: introduce unlock_range() for code cleanup
mm/mmap: use find_vma_intersection() in do_mmap() for overlap
Liu Xiang <liu.xiang@zlingsmart.com>:
mm/memory.c: fix comment of finish_mkwrite_fault()
Liam Howlett <liam.howlett@oracle.com>:
Patch series "mm: Add vma_lookup()", v2:
mm: add vma_lookup(), update find_vma_intersection() comments
drm/i915/selftests: use vma_lookup() in __igt_mmap()
arch/arc/kernel/troubleshoot: use vma_lookup() instead of find_vma()
arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection()
arch/powerpc/kvm/book3s_hv_uvmem: use vma_lookup() instead of find_vma_intersection()
arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma()
arch/mips/kernel/traps: use vma_lookup() instead of find_vma()
arch/m68k/kernel/sys_m68k: use vma_lookup() in sys_cacheflush()
x86/sgx: use vma_lookup() in sgx_encl_find()
virt/kvm: use vma_lookup() instead of find_vma_intersection()
vfio: use vma_lookup() instead of find_vma_intersection()
net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive()
drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages()
media: videobuf2: use vma_lookup() in get_vaddr_frames()
misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma()
kernel/events/uprobes: use vma_lookup() in find_active_uprobe()
lib/test_hmm: use vma_lookup() in dmirror_migrate()
mm/ksm: use vma_lookup() in find_mergeable_vma()
mm/migrate: use vma_lookup() in do_pages_stat_array()
mm/mremap: use vma_lookup() in vma_to_resize()
mm/memory.c: use vma_lookup() in __access_remote_vm()
mm/mempolicy: use vma_lookup() in __access_remote_vm()
Chen Li <chenli@uniontech.com>:
mm: update legacy flush_tlb_* to use vma
Subsystem: mm/mprotect
Peter Collingbourne <pcc@google.com>:
mm: improve mprotect(R|W) efficiency on pages referenced once
Subsystem: mm/bootmem
Souptick Joarder <jrdr.linux@gmail.com>:
h8300: remove unused variable
Subsystem: mm/dma
YueHaibing <yuehaibing@huawei.com>:
mm/dmapool: use DEVICE_ATTR_RO macro
Subsystem: mm/tracing
Vincent Whitchurch <vincent.whitchurch@axis.com>:
mm, tracing: unify PFN format strings
Subsystem: mm/vmalloc
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
Patch series "vmalloc() vs bulk allocator", v2:
mm/page_alloc: add an alloc_pages_bulk_array_node() helper
mm/vmalloc: switch to bulk allocator in __vmalloc_area_node()
mm/vmalloc: print a warning message first on failure
mm/vmalloc: remove quoted strings split across lines
Uladzislau Rezki <urezki@gmail.com>:
mm/vmalloc: fallback to a single page allocator
Rafael Aquini <aquini@redhat.com>:
mm: vmalloc: add cond_resched() in __vunmap()
Subsystem: mm/kasan
Alexander Potapenko <glider@google.com>:
printk: introduce dump_stack_lvl()
kasan: use dump_stack_lvl(KERN_ERR) to print stacks
David Gow <davidgow@google.com>:
kasan: test: improve failure message in KUNIT_EXPECT_KASAN_FAIL()
Daniel Axtens <dja@axtens.net>:
Patch series "KASAN core changes for ppc64 radix KASAN", v16:
kasan: allow an architecture to disable inline instrumentation
kasan: allow architectures to provide an outline readiness check
mm: define default MAX_PTRS_PER_* in include/pgtable.h
kasan: use MAX_PTRS_PER_* for early shadow tables
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
Patch series "kasan: add memory corruption identification support for hw tag-based kasan", v4:
kasan: rename CONFIG_KASAN_SW_TAGS_IDENTIFY to CONFIG_KASAN_TAGS_IDENTIFY
kasan: integrate the common part of two KASAN tag-based modes
kasan: add memory corruption identification support for hardware tag-based mode
Subsystem: mm/initialization
Jungseung Lee <js07.lee@samsung.com>:
mm: report which part of mem is being freed on initmem case
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
mm/mmzone.h: simplify is_highmem_idx()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Constify struct page arguments":
mm: make __dump_page static
Aaron Tomlin <atomlin@redhat.com>:
mm/page_alloc: bail out on fatal signal during reclaim/compaction retry attempt
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/debug: factor PagePoisoned out of __dump_page
mm/page_owner: constify dump_page_owner
mm: make compound_head const-preserving
mm: constify get_pfnblock_flags_mask and get_pfnblock_migratetype
mm: constify page_count and page_ref_count
mm: optimise nth_page for contiguous memmap
Heiner Kallweit <hkallweit1@gmail.com>:
mm/page_alloc: switch to pr_debug
Andrii Nakryiko <andrii@kernel.org>:
kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: split per cpu page lists and zone stats
mm/page_alloc: convert per-cpu list protection to local_lock
mm/vmstat: convert NUMA statistics to basic NUMA counters
mm/vmstat: inline NUMA event counter updates
mm/page_alloc: batch the accounting updates in the bulk allocator
mm/page_alloc: reduce duration that IRQs are disabled for VM counters
mm/page_alloc: explicitly acquire the zone lock in __free_pages_ok
mm/page_alloc: avoid conflating IRQs disabled with zone->lock
mm/page_alloc: update PGFREE outside the zone lock in __free_pages_ok
Minchan Kim <minchan@kernel.org>:
mm: page_alloc: dump migrate-failed pages only at -EBUSY
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Calculate pcp->high based on zone sizes and active CPUs", v2:
mm/page_alloc: delete vm.percpu_pagelist_fraction
mm/page_alloc: disassociate the pcp->high from pcp->batch
mm/page_alloc: adjust pcp->high after CPU hotplug events
mm/page_alloc: scale the number of pages that are batch freed
mm/page_alloc: limit the number of pages on PCP lists when reclaim is active
mm/page_alloc: introduce vm.percpu_pagelist_high_fraction
Dong Aisheng <aisheng.dong@nxp.com>:
mm: drop SECTION_SHIFT in code comments
mm/page_alloc: improve memmap_pages dbg msg
Liu Shixin <liushixin2@huawei.com>:
mm/page_alloc: fix counting of managed_pages
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Allow high order pages to be stored on PCP", v2:
mm/page_alloc: move free_the_page
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "Remove DISCONTIGMEM memory model", v3:
alpha: remove DISCONTIGMEM and NUMA
arc: update comment about HIGHMEM implementation
arc: remove support for DISCONTIGMEM
m68k: remove support for DISCONTIGMEM
mm: remove CONFIG_DISCONTIGMEM
arch, mm: remove stale mentions of DISCONIGMEM
docs: remove description of DISCONTIGMEM
mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA
mm: replace CONFIG_FLAT_NODE_MEM_MAP with CONFIG_FLATMEM
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: allow high-order pages to be stored on the per-cpu lists
mm/page_alloc: split pcp->high across all online CPUs for cpuless nodes
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm,hwpoison: send SIGBUS with error virutal address
mm,hwpoison: make get_hwpoison_page() call get_any_page()
Documentation/admin-guide/kernel-parameters.txt | 6
Documentation/admin-guide/lockup-watchdogs.rst | 4
Documentation/admin-guide/sysctl/kernel.rst | 10
Documentation/admin-guide/sysctl/vm.rst | 52 -
Documentation/dev-tools/kasan.rst | 9
Documentation/vm/memory-model.rst | 45
arch/alpha/Kconfig | 22
arch/alpha/include/asm/machvec.h | 6
arch/alpha/include/asm/mmzone.h | 100 --
arch/alpha/include/asm/pgtable.h | 4
arch/alpha/include/asm/topology.h | 39
arch/alpha/kernel/core_marvel.c | 53 -
arch/alpha/kernel/core_wildfire.c | 29
arch/alpha/kernel/pci_iommu.c | 29
arch/alpha/kernel/proto.h | 8
arch/alpha/kernel/setup.c | 16
arch/alpha/kernel/sys_marvel.c | 5
arch/alpha/kernel/sys_wildfire.c | 5
arch/alpha/mm/Makefile | 2
arch/alpha/mm/init.c | 3
arch/alpha/mm/numa.c | 223 ----
arch/arc/Kconfig | 13
arch/arc/include/asm/mmzone.h | 40
arch/arc/kernel/troubleshoot.c | 8
arch/arc/mm/init.c | 21
arch/arm/include/asm/tlbflush.h | 13
arch/arm/mm/tlb-v6.S | 2
arch/arm/mm/tlb-v7.S | 2
arch/arm64/Kconfig | 2
arch/arm64/kvm/mmu.c | 2
arch/h8300/kernel/setup.c | 2
arch/ia64/Kconfig | 2
arch/ia64/include/asm/pal.h | 2
arch/ia64/include/asm/spinlock.h | 2
arch/ia64/include/asm/uv/uv_hub.h | 2
arch/ia64/kernel/efi_stub.S | 2
arch/ia64/kernel/mca_drv.c | 2
arch/ia64/kernel/topology.c | 5
arch/ia64/mm/numa.c | 5
arch/m68k/Kconfig.cpu | 10
arch/m68k/include/asm/mmzone.h | 10
arch/m68k/include/asm/page.h | 2
arch/m68k/include/asm/page_mm.h | 35
arch/m68k/include/asm/tlbflush.h | 2
arch/m68k/kernel/sys_m68k.c | 4
arch/m68k/mm/init.c | 20
arch/mips/Kconfig | 2
arch/mips/include/asm/mmzone.h | 8
arch/mips/include/asm/page.h | 2
arch/mips/kernel/traps.c | 4
arch/mips/mm/init.c | 7
arch/nds32/include/asm/memory.h | 6
arch/openrisc/include/asm/tlbflush.h | 2
arch/powerpc/Kconfig | 2
arch/powerpc/include/asm/mmzone.h | 4
arch/powerpc/kernel/setup_64.c | 2
arch/powerpc/kernel/smp.c | 2
arch/powerpc/kexec/core.c | 4
arch/powerpc/kvm/book3s_hv.c | 4
arch/powerpc/kvm/book3s_hv_uvmem.c | 2
arch/powerpc/mm/Makefile | 2
arch/powerpc/mm/mem.c | 4
arch/riscv/Kconfig | 2
arch/s390/Kconfig | 2
arch/s390/include/asm/pgtable.h | 2
arch/sh/include/asm/mmzone.h | 4
arch/sh/kernel/topology.c | 2
arch/sh/mm/Kconfig | 2
arch/sh/mm/init.c | 2
arch/sparc/Kconfig | 2
arch/sparc/include/asm/mmzone.h | 4
arch/sparc/kernel/smp_64.c | 2
arch/sparc/mm/init_64.c | 12
arch/x86/Kconfig | 2
arch/x86/ia32/ia32_aout.c | 4
arch/x86/kernel/cpu/mce/core.c | 13
arch/x86/kernel/cpu/sgx/encl.h | 4
arch/x86/kernel/setup_percpu.c | 6
arch/x86/mm/init_32.c | 4
arch/xtensa/include/asm/page.h | 4
arch/xtensa/include/asm/tlbflush.h | 4
drivers/base/node.c | 18
drivers/block/loop.c | 270 ++++-
drivers/block/loop.h | 15
drivers/dax/device.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 2
drivers/media/common/videobuf2/frame_vector.c | 2
drivers/misc/sgi-gru/grufault.c | 4
drivers/vfio/vfio_iommu_type1.c | 2
drivers/virtio/virtio_balloon.c | 17
fs/adfs/inode.c | 1
fs/affs/file.c | 2
fs/bfs/file.c | 1
fs/binfmt_aout.c | 4
fs/binfmt_elf.c | 2
fs/binfmt_elf_fdpic.c | 11
fs/binfmt_flat.c | 2
fs/block_dev.c | 1
fs/buffer.c | 25
fs/configfs/inode.c | 8
fs/dax.c | 3
fs/ecryptfs/mmap.c | 13
fs/exfat/inode.c | 1
fs/ext2/inode.c | 4
fs/ext4/inode.c | 2
fs/fat/inode.c | 1
fs/fs-writeback.c | 366 +++++---
fs/fuse/dax.c | 3
fs/gfs2/aops.c | 2
fs/gfs2/meta_io.c | 2
fs/hfs/inode.c | 2
fs/hfsplus/inode.c | 2
fs/hpfs/file.c | 1
fs/iomap/buffered-io.c | 27
fs/jfs/inode.c | 1
fs/kernfs/inode.c | 8
fs/libfs.c | 44
fs/minix/inode.c | 1
fs/nilfs2/mdt.c | 1
fs/ntfs/inode.c | 2
fs/ocfs2/aops.c | 4
fs/ocfs2/cluster/heartbeat.c | 7
fs/ocfs2/cluster/nodemanager.c | 2
fs/ocfs2/dlm/dlmmaster.c | 2
fs/ocfs2/filecheck.c | 6
fs/ocfs2/stackglue.c | 8
fs/omfs/file.c | 1
fs/proc/task_mmu.c | 2
fs/ramfs/inode.c | 9
fs/squashfs/block.c | 5
fs/squashfs/squashfs_fs_sb.h | 1
fs/squashfs/super.c | 86 +
fs/sysv/itree.c | 1
fs/udf/file.c | 1
fs/udf/inode.c | 1
fs/ufs/inode.c | 1
fs/xfs/xfs_aops.c | 4
fs/zonefs/super.c | 4
include/asm-generic/memory_model.h | 37
include/asm-generic/pgtable-nop4d.h | 1
include/asm-generic/topology.h | 2
include/kunit/test.h | 5
include/linux/backing-dev-defs.h | 20
include/linux/cpuhotplug.h | 2
include/linux/fs.h | 6
include/linux/gfp.h | 13
include/linux/iomap.h | 1
include/linux/kasan.h | 7
include/linux/kernel.h | 2
include/linux/kthread.h | 2
include/linux/memblock.h | 6
include/linux/memcontrol.h | 60 -
include/linux/mm.h | 53 -
include/linux/mm_types.h | 10
include/linux/mman.h | 2
include/linux/mmdebug.h | 3
include/linux/mmzone.h | 96 +-
include/linux/page-flags.h | 10
include/linux/page_owner.h | 6
include/linux/page_ref.h | 4
include/linux/page_reporting.h | 3
include/linux/pageblock-flags.h | 2
include/linux/pagemap.h | 4
include/linux/pgtable.h | 22
include/linux/printk.h | 5
include/linux/sched/coredump.h | 8
include/linux/slab.h | 59 +
include/linux/swap.h | 19
include/linux/swapops.h | 5
include/linux/vmstat.h | 69 -
include/linux/writeback.h | 1
include/trace/events/cma.h | 4
include/trace/events/filemap.h | 2
include/trace/events/kmem.h | 12
include/trace/events/page_pool.h | 4
include/trace/events/pagemap.h | 4
include/trace/events/vmscan.h | 2
kernel/cgroup/cgroup.c | 1
kernel/crash_core.c | 4
kernel/events/core.c | 2
kernel/events/uprobes.c | 4
kernel/fork.c | 1
kernel/kthread.c | 19
kernel/sysctl.c | 16
kernel/watchdog.c | 12
lib/Kconfig.debug | 15
lib/Kconfig.kasan | 16
lib/Makefile | 1
lib/dump_stack.c | 20
lib/kunit/test.c | 18
lib/slub_kunit.c | 152 +++
lib/test_hmm.c | 5
lib/test_kasan.c | 11
lib/vsprintf.c | 2
mm/Kconfig | 38
mm/backing-dev.c | 66 +
mm/compaction.c | 2
mm/debug.c | 27
mm/debug_vm_pgtable.c | 63 +
mm/dmapool.c | 5
mm/filemap.c | 2
mm/gup.c | 81 +
mm/hugetlb.c | 2
mm/internal.h | 9
mm/kasan/Makefile | 4
mm/kasan/common.c | 6
mm/kasan/generic.c | 3
mm/kasan/hw_tags.c | 22
mm/kasan/init.c | 6
mm/kasan/kasan.h | 12
mm/kasan/report.c | 6
mm/kasan/report_hw_tags.c | 5
mm/kasan/report_sw_tags.c | 45
mm/kasan/report_tags.c | 51 +
mm/kasan/shadow.c | 6
mm/kasan/sw_tags.c | 45
mm/kasan/tags.c | 59 +
mm/kfence/kfence_test.c | 5
mm/kmemleak.c | 18
mm/ksm.c | 6
mm/memblock.c | 8
mm/memcontrol.c | 385 ++++++--
mm/memory-failure.c | 344 +++++--
mm/memory.c | 22
mm/memory_hotplug.c | 6
mm/mempolicy.c | 4
mm/migrate.c | 4
mm/mmap.c | 54 -
mm/mmap_lock.c | 33
mm/mprotect.c | 52 +
mm/mremap.c | 5
mm/nommu.c | 2
mm/page-writeback.c | 89 +
mm/page_alloc.c | 950 +++++++++++++--------
mm/page_ext.c | 2
mm/page_owner.c | 2
mm/page_reporting.c | 19
mm/page_reporting.h | 5
mm/pagewalk.c | 58 +
mm/shmem.c | 18
mm/slab.h | 24
mm/slab_common.c | 60 -
mm/slub.c | 420 +++++----
mm/sparse.c | 2
mm/swap.c | 4
mm/swap_slots.c | 2
mm/swap_state.c | 20
mm/swapfile.c | 177 +--
mm/vmalloc.c | 181 ++--
mm/vmscan.c | 43
mm/vmstat.c | 282 ++----
mm/workingset.c | 2
net/ipv4/tcp.c | 4
scripts/kconfig/streamline_config.pl | 76 -
scripts/link-vmlinux.sh | 4
scripts/spelling.txt | 16
tools/testing/selftests/vm/gup_test.c | 96 +-
tools/vm/page_owner_sort.c | 4
virt/kvm/kvm_main.c | 2
260 files changed, 3989 insertions(+), 2996 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-06-25 1:38 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-06-25 1:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
24 patches, based on 4a09d388f2ab382f217a764e6a152b3f614246f6.
Subsystems affected by this patch series:
mm/thp
nilfs2
mm/vmalloc
kthread
mm/hugetlb
mm/memory-failure
mm/pagealloc
MAINTAINERS
mailmap
Subsystem: mm/thp
Hugh Dickins <hughd@google.com>:
Patch series "mm: page_vma_mapped_walk() cleanup and THP fixes":
mm: page_vma_mapped_walk(): use page for pvmw->page
mm: page_vma_mapped_walk(): settle PageHuge on entry
mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd
mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block
mm: page_vma_mapped_walk(): crossing page table boundary
mm: page_vma_mapped_walk(): add a level of indentation
mm: page_vma_mapped_walk(): use goto instead of while (1)
mm: page_vma_mapped_walk(): get vma_address_end() earlier
mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes
mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk()
Subsystem: nilfs2
Pavel Skripkin <paskripkin@gmail.com>:
nilfs2: fix memory leak in nilfs_sysfs_delete_device_group
Subsystem: mm/vmalloc
Claudio Imbrenda <imbrenda@linux.ibm.com>:
Patch series "mm: add vmalloc_no_huge and use it", v4:
mm/vmalloc: add vmalloc_no_huge
KVM: s390: prepare for hugepage vmalloc
Daniel Axtens <dja@axtens.net>:
mm/vmalloc: unbreak kasan vmalloc support
Subsystem: kthread
Petr Mladek <pmladek@suse.com>:
Patch series "kthread_worker: Fix race between kthread_mod_delayed_work():
kthread_worker: split code for canceling the delayed work timer
kthread: prevent deadlock when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()
Subsystem: mm/hugetlb
Hugh Dickins <hughd@google.com>:
mm, futex: fix shared futex pgoff on shmem huge page
Subsystem: mm/memory-failure
Tony Luck <tony.luck@intel.com>:
Patch series "mm,hwpoison: fix sending SIGBUS for Action Required MCE", v5:
mm/memory-failure: use a mutex to avoid memory_failure() races
Aili Yao <yaoaili@kingsoft.com>:
mm,hwpoison: return -EHWPOISON to denote that the page has already been poisoned
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm/hwpoison: do not lock page again when me_huge_page() successfully recovers
Subsystem: mm/pagealloc
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
mm/page_alloc: __alloc_pages_bulk(): do bounds check before accessing array
Mel Gorman <mgorman@techsingularity.net>:
mm/page_alloc: do bulk array bounds check after checking populated elements
Subsystem: MAINTAINERS
Marek Behún <kabel@kernel.org>:
MAINTAINERS: fix Marek's identity again
Subsystem: mailmap
Marek Behún <kabel@kernel.org>:
mailmap: add Marek's other e-mail address and identity without diacritics
.mailmap | 2
MAINTAINERS | 4
arch/s390/kvm/pv.c | 7 +
fs/nilfs2/sysfs.c | 1
include/linux/hugetlb.h | 16 ---
include/linux/pagemap.h | 13 +-
include/linux/vmalloc.h | 1
kernel/futex.c | 3
kernel/kthread.c | 81 ++++++++++------
mm/hugetlb.c | 5 -
mm/memory-failure.c | 83 +++++++++++------
mm/page_alloc.c | 6 +
mm/page_vma_mapped.c | 233 +++++++++++++++++++++++++++---------------------
mm/vmalloc.c | 41 ++++++--
14 files changed, 297 insertions(+), 199 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-06-16 1:22 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-06-16 1:22 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
18 patches, based on 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71.
Subsystems affected by this patch series:
mm/memory-failure
mm/swap
mm/slub
mm/hugetlb
mm/memory-failure
coredump
mm/slub
mm/thp
mm/sparsemem
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm,hwpoison: fix race with hugetlb page allocation
Subsystem: mm/swap
Peter Xu <peterx@redhat.com>:
mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare
Subsystem: mm/slub
Kees Cook <keescook@chromium.org>:
Patch series "Actually fix freelist pointer vs redzoning", v4:
mm/slub: clarify verification reporting
mm/slub: fix redzoning for small allocations
mm/slub: actually fix freelist pointer vs redzoning
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
mm/hugetlb: expand restore_reserve_on_error functionality
Subsystem: mm/memory-failure
yangerkun <yangerkun@huawei.com>:
mm/memory-failure: make sure wait for page writeback in memory_failure
Subsystem: coredump
Pingfan Liu <kernelfans@gmail.com>:
crash_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo
Subsystem: mm/slub
Andrew Morton <akpm@linux-foundation.org>:
mm/slub.c: include swab.h
Subsystem: mm/thp
Xu Yu <xuyu@linux.alibaba.com>:
mm, thp: use head page in __migration_entry_wait()
Hugh Dickins <hughd@google.com>:
Patch series "mm/thp: fix THP splitting unmap BUGs and related", v10:
mm/thp: fix __split_huge_pmd_locked() on shmem migration entry
mm/thp: make is_huge_zero_pmd() safe and quicker
mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
mm/thp: fix vma_address() if virtual address below file offset
Jue Wang <juew@google.com>:
mm/thp: fix page_address_in_vma() on file THP tails
Hugh Dickins <hughd@google.com>:
mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
Yang Shi <shy828301@gmail.com>:
mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split
Subsystem: mm/sparsemem
Miles Chen <miles.chen@mediatek.com>:
mm/sparse: fix check_usemap_section_nr warnings
Documentation/vm/slub.rst | 10 +--
fs/hugetlbfs/inode.c | 1
include/linux/huge_mm.h | 8 ++
include/linux/hugetlb.h | 8 ++
include/linux/mm.h | 3 +
include/linux/rmap.h | 1
include/linux/swapops.h | 15 +++--
kernel/crash_core.c | 1
mm/huge_memory.c | 58 ++++++++++---------
mm/hugetlb.c | 137 +++++++++++++++++++++++++++++++++++++---------
mm/internal.h | 51 ++++++++++++-----
mm/memory-failure.c | 36 +++++++++++-
mm/memory.c | 41 +++++++++++++
mm/migrate.c | 1
mm/page_vma_mapped.c | 27 +++++----
mm/pgtable-generic.c | 5 -
mm/rmap.c | 41 +++++++++----
mm/slab_common.c | 3 -
mm/slub.c | 37 +++++-------
mm/sparse.c | 13 +++-
mm/swapfile.c | 2
mm/truncate.c | 43 ++++++--------
22 files changed, 388 insertions(+), 154 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-06-05 3:00 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-06-05 3:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
13 patches, based on 16f0596fc1d78a1f3ae4628cff962bb297dc908c.
Subsystems affected by this patch series:
mips
mm/kfence
init
mm/debug
mm/pagealloc
mm/memory-hotplug
mm/hugetlb
proc
mm/kasan
mm/hugetlb
lib
ocfs2
mailmap
Subsystem: mips
Thomas Bogendoerfer <tsbogend@alpha.franken.de>:
Revert "MIPS: make userspace mapping young by default"
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: use TASK_IDLE when awaiting allocation
Subsystem: init
Mark Rutland <mark.rutland@arm.com>:
pid: take a reference when initializing `cad_pid`
Subsystem: mm/debug
Gerald Schaefer <gerald.schaefer@linux.ibm.com>:
mm/debug_vm_pgtable: fix alignment for pmd/pud_advanced_tests()
Subsystem: mm/pagealloc
Ding Hui <dinghui@sangfor.com.cn>:
mm/page_alloc: fix counting of free pages after take off from buddy
Subsystem: mm/memory-hotplug
David Hildenbrand <david@redhat.com>:
drivers/base/memory: fix trying offlining memory blocks with memory holes on aarch64
Subsystem: mm/hugetlb
Naoya Horiguchi <naoya.horiguchi@nec.com>:
hugetlb: pass head page to remove_hugetlb_page()
Subsystem: proc
David Matlack <dmatlack@google.com>:
proc: add .gitignore for proc-subset-pid selftest
Subsystem: mm/kasan
Yu Kuai <yukuai3@huawei.com>:
mm/kasan/init.c: fix doc warning
Subsystem: mm/hugetlb
Mina Almasry <almasrymina@google.com>:
mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY
Subsystem: lib
YueHaibing <yuehaibing@huawei.com>:
lib: crc64: fix kernel-doc warning
Subsystem: ocfs2
Junxiao Bi <junxiao.bi@oracle.com>:
ocfs2: fix data corruption by fallocate
Subsystem: mailmap
Michel Lespinasse <michel@lespinasse.org>:
mailmap: use private address for Michel Lespinasse
.mailmap | 3 +
arch/mips/mm/cache.c | 30 ++++++++---------
drivers/base/memory.c | 6 +--
fs/ocfs2/file.c | 55 +++++++++++++++++++++++++++++---
include/linux/pgtable.h | 8 ++++
init/main.c | 2 -
lib/crc64.c | 2 -
mm/debug_vm_pgtable.c | 4 +-
mm/hugetlb.c | 16 +++++++--
mm/kasan/init.c | 4 +-
mm/kfence/core.c | 6 +--
mm/memory.c | 4 ++
mm/page_alloc.c | 2 +
tools/testing/selftests/proc/.gitignore | 1
14 files changed, 107 insertions(+), 36 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-05-23 0:41 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-23 0:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
10 patches, based on 4ff2473bdb4cf2bb7d208ccf4418d3d7e6b1652c.
Subsystems affected by this patch series:
mm/pagealloc
mm/gup
ipc
selftests
mm/kasan
kernel/watchdog
bitmap
procfs
lib
mm/userfaultfd
Subsystem: mm/pagealloc
Arnd Bergmann <arnd@arndb.de>:
mm/shuffle: fix section mismatch warning
Subsystem: mm/gup
Michal Hocko <mhocko@suse.com>:
Revert "mm/gup: check page posion status for coredump."
Subsystem: ipc
Varad Gautam <varad.gautam@suse.com>:
ipc/mqueue, msg, sem: avoid relying on a stack reference past its expiry
Subsystem: selftests
Yang Yingliang <yangyingliang@huawei.com>:
tools/testing/selftests/exec: fix link error
Subsystem: mm/kasan
Alexander Potapenko <glider@google.com>:
kasan: slab: always reset the tag in get_freepointer_safe()
Subsystem: kernel/watchdog
Petr Mladek <pmladek@suse.com>:
watchdog: reliable handling of timestamps
Subsystem: bitmap
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
linux/bits.h: fix compilation error with GENMASK
Subsystem: procfs
Alexey Dobriyan <adobriyan@gmail.com>:
proc: remove Alexey from MAINTAINERS
Subsystem: lib
Zhen Lei <thunder.leizhen@huawei.com>:
lib: kunit: suppress a compilation warning of frame size
Subsystem: mm/userfaultfd
Mike Kravetz <mike.kravetz@oracle.com>:
userfaultfd: hugetlbfs: fix new flag usage in error path
MAINTAINERS | 1 -
fs/hugetlbfs/inode.c | 2 +-
include/linux/bits.h | 2 +-
include/linux/const.h | 8 ++++++++
include/linux/minmax.h | 10 ++--------
ipc/mqueue.c | 6 ++++--
ipc/msg.c | 6 ++++--
ipc/sem.c | 6 ++++--
kernel/watchdog.c | 34 ++++++++++++++++++++--------------
lib/Makefile | 1 +
mm/gup.c | 4 ----
mm/internal.h | 20 --------------------
mm/shuffle.h | 4 ++--
mm/slub.c | 1 +
mm/userfaultfd.c | 28 ++++++++++++++--------------
tools/include/linux/bits.h | 2 +-
tools/include/linux/const.h | 8 ++++++++
tools/testing/selftests/exec/Makefile | 6 +++---
18 files changed, 74 insertions(+), 75 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-05-15 0:26 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-05-15 0:26 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
13 patches, based on bd3c9cdb21a2674dd0db70199df884828e37abd4.
Subsystems affected by this patch series:
mm/hugetlb
mm/slub
resource
squashfs
mm/userfaultfd
mm/ksm
mm/pagealloc
mm/kasan
mm/pagemap
hfsplus
modprobe
mm/ioremap
Subsystem: mm/hugetlb
Peter Xu <peterx@redhat.com>:
Patch series "mm/hugetlb: Fix issues on file sealing and fork", v2:
mm/hugetlb: fix F_SEAL_FUTURE_WRITE
mm/hugetlb: fix cow where page writtable in child
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: move slub_debug static key enabling outside slab_mutex
Subsystem: resource
Alistair Popple <apopple@nvidia.com>:
kernel/resource: fix return code check in __request_free_mem_region
Subsystem: squashfs
Phillip Lougher <phillip@squashfs.org.uk>:
squashfs: fix divide error in calculate_skip()
Subsystem: mm/userfaultfd
Axel Rasmussen <axelrasmussen@google.com>:
userfaultfd: release page in error path to avoid BUG_ON
Subsystem: mm/ksm
Hugh Dickins <hughd@google.com>:
ksm: revert "use GET_KSM_PAGE_NOLOCK to get ksm page in remove_rmap_item_from_tree()"
Subsystem: mm/pagealloc
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: fix struct page layout on 32-bit systems
Subsystem: mm/kasan
Peter Collingbourne <pcc@google.com>:
kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
Subsystem: mm/pagemap
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap: fix readahead return types
Subsystem: hfsplus
Jouni Roivas <jouni.roivas@tuxera.com>:
hfsplus: prevent corruption in shrinking truncate
Subsystem: modprobe
Rasmus Villemoes <linux@rasmusvillemoes.dk>:
docs: admin-guide: update description for kernel.modprobe sysctl
Subsystem: mm/ioremap
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm/ioremap: fix iomap_max_page_shift
Documentation/admin-guide/sysctl/kernel.rst | 9 ++++---
fs/hfsplus/extents.c | 7 +++--
fs/hugetlbfs/inode.c | 5 ++++
fs/iomap/buffered-io.c | 4 +--
fs/squashfs/file.c | 6 ++--
include/linux/mm.h | 32 ++++++++++++++++++++++++++
include/linux/mm_types.h | 4 +--
include/linux/pagemap.h | 6 ++--
include/net/page_pool.h | 12 +++++++++
kernel/resource.c | 2 -
lib/test_kasan.c | 29 ++++++++++++++++++-----
mm/hugetlb.c | 1
mm/ioremap.c | 6 ++--
mm/ksm.c | 3 +-
mm/shmem.c | 34 ++++++++++++----------------
mm/slab_common.c | 10 ++++++++
mm/slub.c | 9 -------
net/core/page_pool.c | 12 +++++----
18 files changed, 129 insertions(+), 62 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-05-05 1:32 Andrew Morton
2021-05-05 1:47 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-05-05 1:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
The remainder of the main mm/ queue.
143 patches, based on 8ca5297e7e38f2dc8c753d33a5092e7be181fff0, plus
previously sent patches.
Subsystems affected by this patch series:
mm/pagecache
mm/hugetlb
mm/userfaultfd
mm/vmscan
mm/compaction
mm/migration
mm/cma
mm/ksm
mm/vmstat
mm/mmap
mm/kconfig
mm/util
mm/memory-hotplug
mm/zswap
mm/zsmalloc
mm/highmem
mm/cleanups
mm/kfence
Subsystem: mm/pagecache
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Remove nrexceptional tracking", v2:
mm: introduce and use mapping_empty()
mm: stop accounting shadow entries
dax: account DAX entries as nrpages
mm: remove nrexceptional from inode
Hugh Dickins <hughd@google.com>:
mm: remove nrexceptional from inode: remove BUG_ON
Subsystem: mm/hugetlb
Peter Xu <peterx@redhat.com>:
Patch series "hugetlb: Disable huge pmd unshare for uffd-wp", v4:
hugetlb: pass vma into huge_pte_alloc() and huge_pmd_share()
hugetlb/userfaultfd: forbid huge pmd sharing when uffd enabled
mm/hugetlb: move flush_hugetlb_tlb_range() into hugetlb.h
hugetlb/userfaultfd: unshare all pmds for hugetlbfs when register wp
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: remove redundant reservation check condition in alloc_huge_page()
Anshuman Khandual <anshuman.khandual@arm.com>:
mm: generalize HUGETLB_PAGE_SIZE_VARIABLE
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Some cleanups for hugetlb":
mm/hugetlb: use some helper functions to cleanup code
mm/hugetlb: optimize the surplus state transfer code in move_hugetlb_state()
mm/hugetlb_cgroup: remove unnecessary VM_BUG_ON_PAGE in hugetlb_cgroup_migrate()
mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page()
mm/hugetlb: avoid calculating fault_mutex_hash in truncate_op case
Patch series "Cleanup and fixup for khugepaged", v2:
khugepaged: remove unneeded return value of khugepaged_collapse_pte_mapped_thps()
khugepaged: reuse the smp_wmb() inside __SetPageUptodate()
khugepaged: use helper khugepaged_test_exit() in __khugepaged_enter()
khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
mm/huge_memory.c: remove unnecessary local variable ret2
Patch series "Some cleanups for huge_memory", v3:
mm/huge_memory.c: rework the function vma_adjust_trans_huge()
mm/huge_memory.c: make get_huge_zero_page() return bool
mm/huge_memory.c: rework the function do_huge_pmd_numa_page() slightly
mm/huge_memory.c: remove redundant PageCompound() check
mm/huge_memory.c: remove unused macro TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG
mm/huge_memory.c: use helper function migration_entry_to_page()
Yanfei Xu <yanfei.xu@windriver.com>:
mm/khugepaged.c: replace barrier() with READ_ONCE() for a selective variable
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup for khugepaged":
khugepaged: use helper function range_in_vma() in collapse_pte_mapped_thp()
khugepaged: remove unnecessary out label in collapse_huge_page()
khugepaged: remove meaningless !pte_present() check in khugepaged_scan_pmd()
Zi Yan <ziy@nvidia.com>:
mm: huge_memory: a new debugfs interface for splitting THP tests
mm: huge_memory: debugfs for file-backed THP split
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for hugetlb", v2:
mm/hugeltb: remove redundant VM_BUG_ON() in region_add()
mm/hugeltb: simplify the return code of __vma_reservation_common()
mm/hugeltb: clarify (chg - freed) won't go negative in hugetlb_unreserve_pages()
mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
mm/hugetlb: remove unused variable pseudo_vma in remove_inode_hugepages()
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "make hugetlb put_page safe for all calling contexts", v5:
mm/cma: change cma mutex to irq safe spinlock
hugetlb: no need to drop hugetlb_lock to call cma_release
hugetlb: add per-hstate mutex to synchronize user adjustments
hugetlb: create remove_hugetlb_page() to separate functionality
hugetlb: call update_and_free_page without hugetlb_lock
hugetlb: change free_pool_huge_page to remove_pool_huge_page
hugetlb: make free_huge_page irq safe
hugetlb: add lockdep_assert_held() calls for hugetlb_lock
Oscar Salvador <osalvador@suse.de>:
Patch series "Make alloc_contig_range handle Hugetlb pages", v10:
mm,page_alloc: bail out earlier on -ENOMEM in alloc_contig_migrate_range
mm,compaction: let isolate_migratepages_{range,block} return error codes
mm,hugetlb: drop clearing of flag from prep_new_huge_page
mm,hugetlb: split prep_new_huge_page functionality
mm: make alloc_contig_range handle free hugetlb pages
mm: make alloc_contig_range handle in-use hugetlb pages
mm,page_alloc: drop unnecessary checks from pfn_range_valid_contig
Subsystem: mm/userfaultfd
Axel Rasmussen <axelrasmussen@google.com>:
Patch series "userfaultfd: add minor fault handling", v9:
userfaultfd: add minor fault registration mode
userfaultfd: disable huge PMD sharing for MINOR registered VMAs
userfaultfd: hugetlbfs: only compile UFFD helpers if config enabled
userfaultfd: add UFFDIO_CONTINUE ioctl
userfaultfd: update documentation to describe minor fault handling
userfaultfd/selftests: add test exercising minor fault handling
Subsystem: mm/vmscan
Dave Hansen <dave.hansen@linux.intel.com>:
mm/vmscan: move RECLAIM* bits to uapi header
mm/vmscan: replace implicit RECLAIM_ZONE checks with explicit checks
Yang Shi <shy828301@gmail.com>:
Patch series "Make shrinker's nr_deferred memcg aware", v10:
mm: vmscan: use nid from shrink_control for tracepoint
mm: vmscan: consolidate shrinker_maps handling code
mm: vmscan: use shrinker_rwsem to protect shrinker_maps allocation
mm: vmscan: remove memcg_shrinker_map_size
mm: vmscan: use kvfree_rcu instead of call_rcu
mm: memcontrol: rename shrinker_map to shrinker_info
mm: vmscan: add shrinker_info_protected() helper
mm: vmscan: use a new flag to indicate shrinker is registered
mm: vmscan: add per memcg shrinker nr_deferred
mm: vmscan: use per memcg nr_deferred of shrinker
mm: vmscan: don't need allocate shrinker->nr_deferred for memcg aware shrinkers
mm: memcontrol: reparent nr_deferred when memcg offline
mm: vmscan: shrink deferred objects proportional to priority
Subsystem: mm/compaction
Pintu Kumar <pintu@codeaurora.org>:
mm/compaction: remove unused variable sysctl_compact_memory
Charan Teja Reddy <charante@codeaurora.org>:
mm: compaction: update the COMPACT[STALL|FAIL] events properly
Subsystem: mm/migration
Minchan Kim <minchan@kernel.org>:
mm: disable LRU pagevec during the migration temporarily
mm: replace migrate_[prep|finish] with lru_cache_[disable|enable]
mm: fs: invalidate BH LRU during page migration
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for mm/migrate.c", v3:
mm/migrate.c: make putback_movable_page() static
mm/migrate.c: remove unnecessary rc != MIGRATEPAGE_SUCCESS check in 'else' case
mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page()
mm/migrate.c: use helper migrate_vma_collect_skip() in migrate_vma_collect_hole()
Revert "mm: migrate: skip shared exec THP for NUMA balancing"
Subsystem: mm/cma
Minchan Kim <minchan@kernel.org>:
mm: vmstat: add cma statistics
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: cma: use pr_err_ratelimited for CMA warning
Liam Mark <lmark@codeaurora.org>:
mm: cma: add trace events for CMA alloc perf testing
Minchan Kim <minchan@kernel.org>:
mm: cma: support sysfs
mm: cma: add the CMA instance name to cma trace events
mm: use proper type for cma_[alloc|release]
Subsystem: mm/ksm
Miaohe Lin <linmiaohe@huawei.com>:
Patch series "Cleanup and fixup for ksm":
ksm: remove redundant VM_BUG_ON_PAGE() on stable_tree_search()
ksm: use GET_KSM_PAGE_NOLOCK to get ksm page in remove_rmap_item_from_tree()
ksm: remove dedicated macro KSM_FLAG_MASK
ksm: fix potential missing rmap_item for stable_node
Chengyang Fan <cy.fan@huawei.com>:
mm/ksm: remove unused parameter from remove_trailing_rmap_items()
Subsystem: mm/vmstat
Hugh Dickins <hughd@google.com>:
mm: restore node stat checking in /proc/sys/vm/stat_refresh
mm: no more EINVAL from /proc/sys/vm/stat_refresh
mm: /proc/sys/vm/stat_refresh skip checking known negative stats
mm: /proc/sys/vm/stat_refresh stop checking monotonic numa stats
Saravanan D <saravanand@fb.com>:
x86/mm: track linear mapping split events
Subsystem: mm/mmap
Liam Howlett <liam.howlett@oracle.com>:
mm/mmap.c: don't unlock VMAs in remap_file_pages()
Subsystem: mm/kconfig
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm: some config cleanups", v2:
mm: generalize ARCH_HAS_CACHE_LINE_SIZE
mm: generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS)
mm: generalize ARCH_ENABLE_MEMORY_[HOTPLUG|HOTREMOVE]
mm: drop redundant ARCH_ENABLE_[HUGEPAGE|THP]_MIGRATION
mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK
mm: drop redundant HAVE_ARCH_TRANSPARENT_HUGEPAGE
Subsystem: mm/util
Joe Perches <joe@perches.com>:
mm/util.c: reduce mem_dump_obj() object size
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
mm/util.c: fix typo
Subsystem: mm/memory-hotplug
Pavel Tatashin <pasha.tatashin@soleen.com>:
Patch series "prohibit pinning pages in ZONE_MOVABLE", v11:
mm/gup: don't pin migrated cma pages in movable zone
mm/gup: check every subpage of a compound page during isolation
mm/gup: return an error on migration failure
mm/gup: check for isolation errors
mm cma: rename PF_MEMALLOC_NOCMA to PF_MEMALLOC_PIN
mm: apply per-task gfp constraints in fast path
mm: honor PF_MEMALLOC_PIN for all movable pages
mm/gup: do not migrate zero page
mm/gup: migrate pinned pages out of movable zone
memory-hotplug.rst: add a note about ZONE_MOVABLE and page pinning
mm/gup: change index type to long as it counts pages
mm/gup: longterm pin migration cleanup
selftests/vm: gup_test: fix test flag
selftests/vm: gup_test: test faulting in kernel, and verify pinnable pages
Mel Gorman <mgorman@techsingularity.net>:
mm/memory_hotplug: remove broken locking of zone PCP structures during hot remove
Oscar Salvador <osalvador@suse.de>:
Patch series "Allocate memmap from hotadded memory (per device)", v10:
drivers/base/memory: introduce memory_block_{online,offline}
mm,memory_hotplug: relax fully spanned sections check
David Hildenbrand <david@redhat.com>:
mm,memory_hotplug: factor out adjusting present pages into adjust_present_page_count()
Oscar Salvador <osalvador@suse.de>:
mm,memory_hotplug: allocate memmap from the added memory range
acpi,memhotplug: enable MHP_MEMMAP_ON_MEMORY when supported
mm,memory_hotplug: add kernel boot option to enable memmap_on_memory
x86/Kconfig: introduce ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
arm64/Kconfig: introduce ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
Subsystem: mm/zswap
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/zswap.c: switch from strlcpy to strscpy
Subsystem: mm/zsmalloc
zhouchuangao <zhouchuangao@vivo.com>:
mm/zsmalloc: use BUG_ON instead of if condition followed by BUG.
Subsystem: mm/highmem
Ira Weiny <ira.weiny@intel.com>:
Patch series "btrfs: Convert kmap/memset/kunmap to memzero_user()":
iov_iter: lift memzero_page() to highmem.h
btrfs: use memzero_page() instead of open coded kmap pattern
songqiang <songqiang@uniontech.com>:
mm/highmem.c: fix coding style issue
Subsystem: mm/cleanups
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/mempool: minor coding style tweaks
Zhang Yunkai <zhang.yunkai@zte.com.cn>:
mm/process_vm_access.c: remove duplicate include
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: zero guard page after out-of-bounds access
Patch series "kfence: optimize timer scheduling", v2:
kfence: await for allocation using wait_event
kfence: maximize allocation wait timeout duration
kfence: use power-efficient work queue to run delayed work
Documentation/ABI/testing/sysfs-kernel-mm-cma | 25
Documentation/admin-guide/kernel-parameters.txt | 17
Documentation/admin-guide/mm/memory-hotplug.rst | 9
Documentation/admin-guide/mm/userfaultfd.rst | 105 +-
arch/arc/Kconfig | 9
arch/arm/Kconfig | 10
arch/arm64/Kconfig | 34
arch/arm64/mm/hugetlbpage.c | 7
arch/ia64/Kconfig | 14
arch/ia64/mm/hugetlbpage.c | 3
arch/mips/Kconfig | 6
arch/mips/mm/hugetlbpage.c | 4
arch/parisc/Kconfig | 5
arch/parisc/mm/hugetlbpage.c | 2
arch/powerpc/Kconfig | 17
arch/powerpc/mm/hugetlbpage.c | 3
arch/powerpc/platforms/Kconfig.cputype | 16
arch/riscv/Kconfig | 5
arch/s390/Kconfig | 12
arch/s390/mm/hugetlbpage.c | 2
arch/sh/Kconfig | 7
arch/sh/mm/Kconfig | 8
arch/sh/mm/hugetlbpage.c | 2
arch/sparc/mm/hugetlbpage.c | 2
arch/x86/Kconfig | 33
arch/x86/mm/pat/set_memory.c | 8
drivers/acpi/acpi_memhotplug.c | 5
drivers/base/memory.c | 105 ++
fs/Kconfig | 5
fs/block_dev.c | 2
fs/btrfs/compression.c | 5
fs/btrfs/extent_io.c | 22
fs/btrfs/inode.c | 33
fs/btrfs/reflink.c | 6
fs/btrfs/zlib.c | 5
fs/btrfs/zstd.c | 5
fs/buffer.c | 36
fs/dax.c | 8
fs/gfs2/glock.c | 3
fs/hugetlbfs/inode.c | 9
fs/inode.c | 11
fs/proc/task_mmu.c | 3
fs/userfaultfd.c | 149 +++
include/linux/buffer_head.h | 4
include/linux/cma.h | 4
include/linux/compaction.h | 1
include/linux/fs.h | 2
include/linux/gfp.h | 2
include/linux/highmem.h | 7
include/linux/huge_mm.h | 3
include/linux/hugetlb.h | 37
include/linux/memcontrol.h | 27
include/linux/memory.h | 8
include/linux/memory_hotplug.h | 15
include/linux/memremap.h | 2
include/linux/migrate.h | 11
include/linux/mm.h | 28
include/linux/mmzone.h | 20
include/linux/pagemap.h | 5
include/linux/pgtable.h | 12
include/linux/sched.h | 2
include/linux/sched/mm.h | 27
include/linux/shrinker.h | 7
include/linux/swap.h | 21
include/linux/userfaultfd_k.h | 55 +
include/linux/vm_event_item.h | 8
include/trace/events/cma.h | 92 +-
include/trace/events/migrate.h | 25
include/trace/events/mmflags.h | 7
include/uapi/linux/mempolicy.h | 7
include/uapi/linux/userfaultfd.h | 36
init/Kconfig | 5
kernel/sysctl.c | 2
lib/Kconfig.kfence | 1
lib/iov_iter.c | 8
mm/Kconfig | 28
mm/Makefile | 6
mm/cma.c | 70 +
mm/cma.h | 25
mm/cma_debug.c | 8
mm/cma_sysfs.c | 112 ++
mm/compaction.c | 113 ++
mm/filemap.c | 24
mm/frontswap.c | 12
mm/gup.c | 264 +++---
mm/gup_test.c | 29
mm/gup_test.h | 3
mm/highmem.c | 11
mm/huge_memory.c | 326 +++++++-
mm/hugetlb.c | 843 ++++++++++++++--------
mm/hugetlb_cgroup.c | 9
mm/internal.h | 10
mm/kfence/core.c | 61 +
mm/khugepaged.c | 63 -
mm/ksm.c | 17
mm/list_lru.c | 6
mm/memcontrol.c | 137 ---
mm/memory_hotplug.c | 220 +++++
mm/mempolicy.c | 16
mm/mempool.c | 2
mm/migrate.c | 103 --
mm/mlock.c | 4
mm/mmap.c | 18
mm/oom_kill.c | 2
mm/page_alloc.c | 83 +-
mm/process_vm_access.c | 1
mm/shmem.c | 2
mm/sparse.c | 4
mm/swap.c | 69 +
mm/swap_state.c | 4
mm/swapfile.c | 4
mm/truncate.c | 19
mm/userfaultfd.c | 39 -
mm/util.c | 26
mm/vmalloc.c | 2
mm/vmscan.c | 543 +++++++++-----
mm/vmstat.c | 45 -
mm/workingset.c | 1
mm/zsmalloc.c | 6
mm/zswap.c | 2
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 1
tools/testing/selftests/vm/gup_test.c | 38
tools/testing/selftests/vm/split_huge_page_test.c | 400 ++++++++++
tools/testing/selftests/vm/userfaultfd.c | 164 ++++
125 files changed, 3596 insertions(+), 1668 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-05 1:32 incoming Andrew Morton
@ 2021-05-05 1:47 ` Linus Torvalds
2021-05-05 3:16 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-05-05 1:47 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, May 4, 2021 at 6:32 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 143 patches
Hmm. Only 140 seem to have made it to the list, with 103, 106 and 107 missing.
Maybe just some mail delay? But at least right now
https://lore.kernel.org/mm-commits/
doesn't show them (and thus 'b4' doesn't work).
I'll check again later.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-05 1:47 ` incoming Linus Torvalds
@ 2021-05-05 3:16 ` Andrew Morton
2021-05-05 17:10 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-05-05 3:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux-MM, mm-commits
On Tue, 4 May 2021 18:47:19 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, May 4, 2021 at 6:32 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > 143 patches
>
> Hmm. Only 140 seem to have made it to the list, with 103, 106 and 107 missing.
>
> Maybe just some mail delay? But at least right now
>
> https://lore.kernel.org/mm-commits/
>
> doesn't show them (and thus 'b4' doesn't work).
>
> I'll check again later.
>
Well that's strange. I see all three via cc:me, but not on linux-mm or
mm-commits.
Let me resend right now with the same in-reply-to. Hopefully they will
land in the correct place.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-05 3:16 ` incoming Andrew Morton
@ 2021-05-05 17:10 ` Linus Torvalds
2021-05-05 17:44 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-05-05 17:10 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: Linux-MM, mm-commits
On Tue, May 4, 2021 at 8:16 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Let me resend right now with the same in-reply-to. Hopefully they will
> land in the correct place.
Well, you re-sent it twice, and I have three copies in my own mailbox,
bot they still don't show up on the mm-commits mailing list.
So the list hates them for some odd reason.
I've picked them up locally, but adding Konstantin to the participants
to see if he can see what's up.
Konstantin: patches 103/106/107 are missing on lore out of Andrew's
series of 143. Odd.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-05 17:10 ` incoming Linus Torvalds
@ 2021-05-05 17:44 ` Andrew Morton
2021-05-06 3:19 ` incoming Anshuman Khandual
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-05-05 17:44 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Konstantin Ryabitsev, Linux-MM, mm-commits
[-- Attachment #1: Type: text/plain, Size: 1387 bytes --]
On Wed, 5 May 2021 10:10:33 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, May 4, 2021 at 8:16 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > Let me resend right now with the same in-reply-to. Hopefully they will
> > land in the correct place.
>
> Well, you re-sent it twice, and I have three copies in my own mailbox,
> bot they still don't show up on the mm-commits mailing list.
>
> So the list hates them for some odd reason.
>
> I've picked them up locally, but adding Konstantin to the participants
> to see if he can see what's up.
>
> Konstantin: patches 103/106/107 are missing on lore out of Andrew's
> series of 143. Odd.
It's weird. They don't turn up on linux-mm either, and that's running
at kvack.org, also majordomo. They don't get through when sent with
either heirloom-mailx or with sylpheed.
Also, it seems that when Anshuman originally sent the patch, linux-mm
and linux-kernel didn't send it back out. So perhaps a spam filter
triggered?
I'm seeing
https://lore.kernel.org/linux-arm-kernel/1615278790-18053-3-git-send-email-anshuman.khandual@arm.com/
which is via linux-arm-kernel@lists.infradead.org but the linux-kernel
server massacred that patch series. Searching
https://lkml.org/lkml/2021/3/9 for "anshuman" only shows 3 of the 7
email series.
One of the emails (as sent my me) is attached, if that helps.
[-- Attachment #2: x.txt --]
[-- Type: text/plain, Size: 21048 bytes --]
Return-Path: <akpm@linux-foundation.org>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on y
X-Spam-Level: (none)
X-Spam-Status: No, score=-101.5 required=2.5 tests=BAYES_00,T_DKIM_INVALID,
USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.1
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.15.2/8.15.2/Debian-8ubuntu1) with ESMTP id 1453H2fk032202
for <akpm@localhost>; Tue, 4 May 2021 20:17:03 -0700
Received: from imap.fastmail.com [66.111.4.135]
by localhost.localdomain with IMAP (fetchmail-6.3.26)
for <akpm@localhost> (single-drop); Tue, 04 May 2021 20:17:03 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
by sloti11d1t06 (Cyrus 3.5.0-alpha0-442-g5daca166b9-fm-20210428.001-g5daca166) with LMTPA;
Tue, 04 May 2021 23:16:31 -0400
X-Cyrus-Session-Id: sloti11d1t06-1620184591-1699471-2-6359664467419938249
X-Sieve: CMU Sieve 3.0
X-Resolved-to: akpm@mbx.kernel.org
X-Delivered-to: akpm@mbx.kernel.org
X-Mail-from: akpm@linux-foundation.org
Received: from mx6 ([10.202.2.205])
by compute1.internal (LMTPProxy); Tue, 04 May 2021 23:16:31 -0400
Received: from mx6.messagingengine.com (localhost [127.0.0.1])
by mailmx.nyi.internal (Postfix) with ESMTP id 40796C800E1
for <akpm@mbx.kernel.org>; Tue, 4 May 2021 23:16:31 -0400 (EDT)
Received: from mx6.messagingengine.com (localhost [127.0.0.1])
by mx6.messagingengine.com (Authentication Milter) with ESMTP
id 14870833D7F;
Tue, 4 May 2021 23:16:31 -0400
ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=messagingengine.com; s=fm2; t=
1620184591; b=FBo7Gf3JFN+4QYg5Byan0oNm6RESv+sIf5HcaslVNsUd9SOTGS
yI0+IsXr1CUpGH783hE6fmgEq9SyfOwQVZjdikLaJS1+7u0JtfAYQFU3RORCtXlr
djJWrScfjVa8nAHX4rQCtzvtPYuzx5w7cTgGgeILgoJMxgLj7EC9xcT8BIf68+9W
Lw+ohAmcuiKhL2ez+de4SMuwdh3dh2FwAIHQOsSjEU1/NV+WGxMLwYbxWgTrqQGH
RQIzFNdq30qslW9huK47+e80uHOX2tXwxtshwbThFEn458bdV5LL6Y8Oh4ZWMbv1
tFgTt515DVedonZknxc07XsXtAjaJyB8bfHw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=date:from:to:subject:message-id
:in-reply-to; s=fm2; t=1620184591; bh=LuH7mbm3+zp863vKBEqKeoZtnp
uFxYpIb5oTVwf56Es=; b=m5E1fbz2b+an/X406oY3BuG0Zm4/W05vWAki8Lsnud
gPCc1LfPUFSuXaMppcEDPbLKprp4hH3T52itK4pivXMQCLEOyme7kVStaLMVTiky
Xxqh5ZdhOWvygBfda/GjfuLBSbbj2gfm8HPKpbL7CA5foelknIBhJHDzGkJyxetZ
YagZfVvtdo2OEwnC1mmjUCpKPO5+m5kaZO0ol6rPdl+TV0MKGhjLg+/i6Ia+0nFp
zDwV4VeACvVcGb2xY7KG5Z+BtqVxeVFn+w5JcqpWUtxEKoSBR4bWARzjwHg6eouh
7psOOKPTt/NzDKk+3f49lso5KlPiTF2xEU/+5SIttCkQ==
ARC-Authentication-Results: i=2; mx6.messagingengine.com;
arc=pass (as.1.google.com=pass, ams.1.google.com=pass)
smtp.remote-ip=209.85.215.198;
bimi=skipped (DMARC did not pass);
dkim=pass (1024-bit rsa key sha256) header.d=linux-foundation.org
header.i=@linux-foundation.org header.b=Gdz/3wY9 header.a=rsa-sha256
header.s=korg x-bits=1024;
dmarc=none policy.published-domain-policy=none
policy.applied-disposition=none policy.evaluated-disposition=none
(p=none,d=none,d.eval=none) policy.policy-from=p
header.from=linux-foundation.org;
iprev=pass smtp.remote-ip=209.85.215.198 (mail-pg1-f198.google.com);
spf=pass smtp.mailfrom=akpm@linux-foundation.org
smtp.helo=mail-pg1-f198.google.com;
x-aligned-from=pass (Address match);
x-arc-spf=pass
(google.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender)
smtp.mailfrom=akpm@linux-foundation.org x-arc-instance=1
x-arc-domain=google.com (Trusted from aar.1.google.com);
x-csa=none;
x-google-dkim=fail (message has been altered, 2048-bit rsa key)
header.d=1e100.net header.i=@1e100.net header.b=VZuDOxUf;
x-me-sender=none;
x-ptr=pass smtp.helo=mail-pg1-f198.google.com
policy.ptr=mail-pg1-f198.google.com;
x-return-mx=pass header.domain=linux-foundation.org policy.is_org=yes
(MX Records found: ASPMX.L.GOOGLE.COM,ALT1.ASPMX.L.GOOGLE.COM,ALT2.ASPMX.L.GOOGLE.COM,ALT3.ASPMX.L.GOOGLE.COM,ALT4.ASPMX.L.GOOGLE.COM);
x-return-mx=pass smtp.domain=linux-foundation.org policy.is_org=yes
(MX Records found: ASPMX.L.GOOGLE.COM,ALT1.ASPMX.L.GOOGLE.COM,ALT2.ASPMX.L.GOOGLE.COM,ALT3.ASPMX.L.GOOGLE.COM,ALT4.ASPMX.L.GOOGLE.COM);
x-tls=pass smtp.version=TLSv1.3 smtp.cipher=TLS_AES_256_GCM_SHA384
smtp.bits=256/256;
x-vs=clean score=40 state=0
Authentication-Results: mx6.messagingengine.com;
arc=pass (as.1.google.com=pass, ams.1.google.com=pass)
smtp.remote-ip=209.85.215.198;
bimi=skipped (DMARC did not pass);
dkim=pass (1024-bit rsa key sha256) header.d=linux-foundation.org
header.i=@linux-foundation.org header.b=Gdz/3wY9 header.a=rsa-sha256
header.s=korg x-bits=1024;
dmarc=none policy.published-domain-policy=none
policy.applied-disposition=none policy.evaluated-disposition=none
(p=none,d=none,d.eval=none) policy.policy-from=p
header.from=linux-foundation.org;
iprev=pass smtp.remote-ip=209.85.215.198 (mail-pg1-f198.google.com);
spf=pass smtp.mailfrom=akpm@linux-foundation.org
smtp.helo=mail-pg1-f198.google.com;
x-aligned-from=pass (Address match);
x-arc-spf=pass
(google.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender)
smtp.mailfrom=akpm@linux-foundation.org x-arc-instance=1
x-arc-domain=google.com (Trusted from aar.1.google.com);
x-csa=none;
x-google-dkim=fail (message has been altered, 2048-bit rsa key)
header.d=1e100.net header.i=@1e100.net header.b=VZuDOxUf;
x-me-sender=none;
x-ptr=pass smtp.helo=mail-pg1-f198.google.com
policy.ptr=mail-pg1-f198.google.com;
x-return-mx=pass header.domain=linux-foundation.org policy.is_org=yes
(MX Records found: ASPMX.L.GOOGLE.COM,ALT1.ASPMX.L.GOOGLE.COM,ALT2.ASPMX.L.GOOGLE.COM,ALT3.ASPMX.L.GOOGLE.COM,ALT4.ASPMX.L.GOOGLE.COM);
x-return-mx=pass smtp.domain=linux-foundation.org policy.is_org=yes
(MX Records found: ASPMX.L.GOOGLE.COM,ALT1.ASPMX.L.GOOGLE.COM,ALT2.ASPMX.L.GOOGLE.COM,ALT3.ASPMX.L.GOOGLE.COM,ALT4.ASPMX.L.GOOGLE.COM);
x-tls=pass smtp.version=TLSv1.3 smtp.cipher=TLS_AES_256_GCM_SHA384
smtp.bits=256/256;
x-vs=clean score=40 state=0
X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeduledrvdefjedgieegucetufdoteggodetrfdotf
fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucgoufhorhhtvggutfgvtg
hiphdvucdlgedtmdenucfjughrpeffhffvuffkjggfsedttdertddtredtnecuhfhrohhm
peetnhgurhgvficuofhorhhtohhnuceorghkphhmsehlihhnuhigqdhfohhunhgurghtih
honhdrohhrgheqnecuggftrfgrthhtvghrnhepjeevfeduveffvddvudetkefhgeduveeu
geevvdfhhfevhfekkedtieefgfduheeinecuffhomhgrihhnpehkvghrnhgvlhdrohhrgh
enucfkphepvddtledrkeehrddvudehrdduleekpdduleekrddugeehrddvledrleelnecu
uegrugftvghpuhhtkfhppeduleekrddugeehrddvledrleelnecuvehluhhsthgvrhfuih
iivgeptdenucfrrghrrghmpehinhgvthepvddtledrkeehrddvudehrdduleekpdhhvghl
ohepmhgrihhlqdhpghduqdhfudelkedrghhoohhglhgvrdgtohhmpdhmrghilhhfrhhomh
epoegrkhhpmheslhhinhhugidqfhhouhhnuggrthhiohhnrdhorhhgqe
X-ME-VSScore: 40
X-ME-VSCategory: clean
X-ME-CSA: none
Received-SPF: pass
(linux-foundation.org: Sender is authorized to use 'akpm@linux-foundation.org' in 'mfrom' identity (mechanism 'include:_spf.google.com' matched))
receiver=mx6.messagingengine.com;
identity=mailfrom;
envelope-from="akpm@linux-foundation.org";
helo=mail-pg1-f198.google.com;
client-ip=209.85.215.198
Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx6.messagingengine.com (Postfix) with ESMTPS
for <akpm@mbx.kernel.org>; Tue, 4 May 2021 23:16:31 -0400 (EDT)
Received: by mail-pg1-f198.google.com with SMTP id g5-20020a63f4050000b02901f6c7b9a6d0so593624pgi.5
for <akpm@mbx.kernel.org>; Tue, 04 May 2021 20:16:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:dkim-signature:date:from:to:subject:message-id
:in-reply-to:user-agent;
bh=LuH7mbm3+zp863vKBEqKeoZtnpuFxYpIb5oTVwf56Es=;
b=VZuDOxUfeHXJz1/CiFfcxuMVHkmW5RznvqYS+Py8Ub6nHHXprQJGE9Ze3WgH+1ylSe
NJLEC7xgv15SR9A+e/MT4RTj3OVOwtd1Zi2vPav39a9K4tP+2uL2Ei+5d7FtT3LLZsjo
feek/DqCGSkJ/EC5woLyU9BBkfLUuQ9/2HiDCk10BMetEfWdor69Slb39NOXES8br02X
25Btabu9ZCWroyjQj7W5gwGr5Z6Hs2nbnnfAb+e92FalcUD/4ql77lNzRcWGi4/9TT8s
ntqI2g46Xv+k5LURaRH5CRBpxkkKgzcrioRPYFUHkEgOEWy1hPzg9QPk8ZO35Xm9R9d2
vl3Q==
X-Gm-Message-State: AOAM531IlYUTVWcMrsTunnxZWB7SKeeOmoZj5mZ1A5tl7N/JlZUueN8L
tvyRKnvxHr6a5mDaGHN9Tb1N/iCzT0U5oQgRVTxTnj1qFGibRa9+leLQNKX0aGlNg9JiaMfromb
xyOlCUpVXOlVvchuwTUSTn7rXum+Hh3PWQZm5II/EX+0AkzKqez62Z8U=
X-Received: by 2002:a17:90a:a581:: with SMTP id b1mr32203271pjq.53.1620184589161;
Tue, 04 May 2021 20:16:29 -0700 (PDT)
X-Google-Smtp-Source: ABdhPJxffoGdRqAjUagWoMVD5p/Lk1KTEDftEhkWh8ewatgDmZLlxh0lO1hxYIdYYwoO5dsJ/i0z
X-Received: by 2002:a17:90a:a581:: with SMTP id b1mr32203198pjq.53.1620184588109;
Tue, 04 May 2021 20:16:28 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1620184588; cv=none;
d=google.com; s=arc-20160816;
b=Fr2b2AMXJr6OeNpSql45tq1korkuDOunp7t+DpARuEBnwvQnKfagyipQ93jywsRf/c
/i/mP2eTmJwOLWNORClh1MGF/0VfBx1ULoB9W4CI3LpVgGFXGGFis8LTcvUYD5yvhlsV
50rm2j34iS9lyo04FB/hbhGkwLtUhz2PGkLGuqHspTd+pUpUCf5SLxGJbZC5uCcUEsbO
8WSDBWyvaCPjFzJQZK60gK70ticKW+fCG1xHtOG4qsFCbqEpFKBy8eVK83OBazo/dQDr
DOheWNWyw2o/WMP4GpZMvZuj30dx3j8xnBahIpnMIQJaog6wLMcVX9pkQ8UJym3/PGNm
pO/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=user-agent:in-reply-to:message-id:subject:to:from:date
:dkim-signature;
bh=LuH7mbm3+zp863vKBEqKeoZtnpuFxYpIb5oTVwf56Es=;
b=vVN16NPMKjoxSJQ6b36VXFCkZqnmG7wABfilgE069txZqmHpEMyZb8lRStkHy557LM
Kn7UfJFP3xwsP8ZTCipVDZ6tpFW/hYFU9o4th9G8asWs+MOf9xpWX2LQZ1FTmaao2Fg5
uCHypz39cnAh0Z1EJfNsTcaTGIrkbBd6zje+mtBgs8hnfH8HcWBYTPCHCCx950Z928tb
XOPd/Igs7yzD1ioBiGXZj/ciwPbWVTaZXBg4JOZSApxkDMfuMyfyLLOs++EVkyxJHUme
TmgwvLkixcwEtKF7gIeqEhwvOUSVvilLuJLFVaLumwTcjJ1amVfGcJhBE7LIM9C3SMpA
rOOg==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@linux-foundation.org header.s=korg header.b="Gdz/3wY9";
spf=pass (google.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org
Received: from mail.kernel.org (mail.kernel.org. [198.145.29.99])
by mx.google.com with ESMTPS id c85si20173199pfb.8.2021.05.04.20.16.27
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Tue, 04 May 2021 20:16:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender) client-ip=198.145.29.99;
Authentication-Results: mx.google.com;
dkim=pass header.i=@linux-foundation.org header.s=korg header.b="Gdz/3wY9";
spf=pass (google.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org
Received: by mail.kernel.org (Postfix) with ESMTPSA id A4DB4610D2;
Wed, 5 May 2021 03:16:26 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1620184587;
bh=TxN4wgKcKf2UUem+5pL09m9GL/7U592mEalo2U6vwAU=;
h=Date:From:To:Subject:In-Reply-To:From;
b=Gdz/3wY9ktH3hOmn2DAOkfh0JXwPdMJ8xsNQFa9eI25K39Z3iHdRGo9jX3QtMDtog
D4Zakt52CQCYsV91c9oCai8KnCTkkAjJq/Ez7p8UHpz97Go3yYYxqg6DDl6d8HCQvN
H47dTaZAgeH2sw29bjB9fRzNuTx7k4RAPlqZIpiE=
Date: Tue, 04 May 2021 20:16:26 -0700
From: Andrew Morton <akpm@linux-foundation.org>
To: akpm@linux-foundation.org, anshuman.khandual@arm.com, aou@eecs.berkeley.edu, arnd@arndb.de, benh@kernel.crashing.org, borntraeger@de.ibm.com, bp@alien8.de, catalin.marinas@arm.com, dalias@libc.org, deller@gmx.de, gor@linux.ibm.com, hca@linux.ibm.com, hpa@zytor.com, James.Bottomley@HansenPartnership.com, linux-mm@kvack.org, linux@armlinux.org.uk, mingo@redhat.com, mm-commits@vger.kernel.org, mpe@ellerman.id.au, palmerdabbelt@google.com, paul.walmsley@sifive.com, paulus@samba.org, tglx@linutronix.de, torvalds@linux-foundation.org, tsbogend@alpha.franken.de, vgupta@synopsys.com, viro@zeniv.linux.org.uk, will@kernel.org, ysato@users.osdn.me
Subject: [patch 103/143] mm: generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS)
Message-ID: <20210505031626.c8o4WL7KE%akpm@linux-foundation.org>
In-Reply-To: <20210504183219.a3cc46aee4013d77402276c5@linux-foundation.org>
User-Agent: s-nail v14.8.16
X-Gm-Original-To: akpm@linux-foundation.org
From: Anshuman Khandual <anshuman.khandual@arm.com>
Subject: mm: generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS)
SYS_SUPPORTS_HUGETLBFS config has duplicate definitions on platforms that
subscribe it. Instead, just make it a generic option which can be
selected on applicable platforms. Also rename it as
ARCH_SUPPORTS_HUGETLBFS instead. This reduces code duplication and makes
it cleaner.
Link: https://lkml.kernel.org/r/1617259448-22529-3-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arm64]
Acked-by: Palmer Dabbelt <palmerdabbelt@google.com> [riscv]
Acked-by: Michael Ellerman <mpe@ellerman.id.au> [powerpc]
Cc: Russell King <linux@armlinux.org.uk>
Cc: Will Deacon <will@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/Kconfig | 5 +----
arch/arm64/Kconfig | 4 +---
arch/mips/Kconfig | 6 +-----
arch/parisc/Kconfig | 5 +----
arch/powerpc/Kconfig | 3 ---
arch/powerpc/platforms/Kconfig.cputype | 6 +++---
arch/riscv/Kconfig | 5 +----
arch/sh/Kconfig | 5 +----
fs/Kconfig | 5 ++++-
9 files changed, 13 insertions(+), 31 deletions(-)
--- a/arch/arm64/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/arm64/Kconfig
@@ -73,6 +73,7 @@ config ARM64
select ARCH_USE_QUEUED_SPINLOCKS
select ARCH_USE_SYM_ANNOTATIONS
select ARCH_SUPPORTS_DEBUG_PAGEALLOC
+ select ARCH_SUPPORTS_HUGETLBFS
select ARCH_SUPPORTS_MEMORY_FAILURE
select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK
select ARCH_SUPPORTS_LTO_CLANG if CPU_LITTLE_ENDIAN
@@ -1072,9 +1073,6 @@ config HW_PERF_EVENTS
def_bool y
depends on ARM_PMU
-config SYS_SUPPORTS_HUGETLBFS
- def_bool y
-
config ARCH_HAS_FILTER_PGPROT
def_bool y
--- a/arch/arm/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/arm/Kconfig
@@ -31,6 +31,7 @@ config ARM
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
select ARCH_SUPPORTS_ATOMIC_RMW
+ select ARCH_SUPPORTS_HUGETLBFS if ARM_LPAE
select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_USE_MEMTEST
@@ -1511,10 +1512,6 @@ config HW_PERF_EVENTS
def_bool y
depends on ARM_PMU
-config SYS_SUPPORTS_HUGETLBFS
- def_bool y
- depends on ARM_LPAE
-
config HAVE_ARCH_TRANSPARENT_HUGEPAGE
def_bool y
depends on ARM_LPAE
--- a/arch/mips/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/mips/Kconfig
@@ -19,6 +19,7 @@ config MIPS
select ARCH_USE_MEMTEST
select ARCH_USE_QUEUED_RWLOCKS
select ARCH_USE_QUEUED_SPINLOCKS
+ select ARCH_SUPPORTS_HUGETLBFS if CPU_SUPPORTS_HUGEPAGES
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
select ARCH_WANT_IPC_PARSE_VERSION
select ARCH_WANT_LD_ORPHAN_WARN
@@ -1287,11 +1288,6 @@ config SYS_SUPPORTS_BIG_ENDIAN
config SYS_SUPPORTS_LITTLE_ENDIAN
bool
-config SYS_SUPPORTS_HUGETLBFS
- bool
- depends on CPU_SUPPORTS_HUGEPAGES
- default y
-
config MIPS_HUGE_TLB_SUPPORT
def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
--- a/arch/parisc/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/parisc/Kconfig
@@ -12,6 +12,7 @@ config PARISC
select ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_HAS_UBSAN_SANITIZE_ALL
select ARCH_NO_SG_CHAIN
+ select ARCH_SUPPORTS_HUGETLBFS if PA20
select ARCH_SUPPORTS_MEMORY_FAILURE
select DMA_OPS
select RTC_CLASS
@@ -138,10 +139,6 @@ config PGTABLE_LEVELS
default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
default 2
-config SYS_SUPPORTS_HUGETLBFS
- def_bool y if PA20
-
-
menu "Processor type and features"
choice
--- a/arch/powerpc/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/powerpc/Kconfig
@@ -697,9 +697,6 @@ config ARCH_SPARSEMEM_DEFAULT
def_bool y
depends on PPC_BOOK3S_64
-config SYS_SUPPORTS_HUGETLBFS
- bool
-
config ILLEGAL_POINTER_VALUE
hex
# This is roughly half way between the top of user space and the bottom
--- a/arch/powerpc/platforms/Kconfig.cputype~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/powerpc/platforms/Kconfig.cputype
@@ -40,8 +40,8 @@ config PPC_85xx
config PPC_8xx
bool "Freescale 8xx"
+ select ARCH_SUPPORTS_HUGETLBFS
select FSL_SOC
- select SYS_SUPPORTS_HUGETLBFS
select PPC_HAVE_KUEP
select PPC_HAVE_KUAP
select HAVE_ARCH_VMAP_STACK
@@ -95,9 +95,9 @@ config PPC_BOOK3S_64
bool "Server processors"
select PPC_FPU
select PPC_HAVE_PMU_SUPPORT
- select SYS_SUPPORTS_HUGETLBFS
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
+ select ARCH_SUPPORTS_HUGETLBFS
select ARCH_SUPPORTS_NUMA_BALANCING
select IRQ_WORK
select PPC_MM_SLICES
@@ -278,9 +278,9 @@ config FSL_BOOKE
# this is for common code between PPC32 & PPC64 FSL BOOKE
config PPC_FSL_BOOK3E
bool
+ select ARCH_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
select FSL_EMB_PERFMON
select PPC_SMP_MUXED_IPI
- select SYS_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
select PPC_DOORBELL
default y if FSL_BOOKE
--- a/arch/riscv/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/riscv/Kconfig
@@ -30,6 +30,7 @@ config RISCV
select ARCH_HAS_STRICT_KERNEL_RWX if MMU
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
+ select ARCH_SUPPORTS_HUGETLBFS if MMU
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
select ARCH_WANT_FRAME_POINTERS
select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
@@ -165,10 +166,6 @@ config ARCH_WANT_GENERAL_HUGETLB
config ARCH_SUPPORTS_UPROBES
def_bool y
-config SYS_SUPPORTS_HUGETLBFS
- depends on MMU
- def_bool y
-
config STACKTRACE_SUPPORT
def_bool y
--- a/arch/sh/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/arch/sh/Kconfig
@@ -101,9 +101,6 @@ config SYS_SUPPORTS_APM_EMULATION
bool
select ARCH_SUSPEND_POSSIBLE
-config SYS_SUPPORTS_HUGETLBFS
- bool
-
config SYS_SUPPORTS_SMP
bool
@@ -175,12 +172,12 @@ config CPU_SH3
config CPU_SH4
bool
+ select ARCH_SUPPORTS_HUGETLBFS if MMU
select CPU_HAS_INTEVT
select CPU_HAS_SR_RB
select CPU_HAS_FPU if !CPU_SH4AL_DSP
select SH_INTC
select SYS_SUPPORTS_SH_TMU
- select SYS_SUPPORTS_HUGETLBFS if MMU
config CPU_SH4A
bool
--- a/fs/Kconfig~mm-generalize-sys_supports_hugetlbfs-rename-as-arch_supports_hugetlbfs
+++ a/fs/Kconfig
@@ -223,10 +223,13 @@ config TMPFS_INODE64
If unsure, say N.
+config ARCH_SUPPORTS_HUGETLBFS
+ def_bool n
+
config HUGETLBFS
bool "HugeTLB file system support"
depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
- SYS_SUPPORTS_HUGETLBFS || BROKEN
+ ARCH_SUPPORTS_HUGETLBFS || BROKEN
help
hugetlbfs is a filesystem backing for HugeTLB pages, based on
ramfs. For architectures that support it, say Y here and read
_
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-05-05 17:44 ` incoming Andrew Morton
@ 2021-05-06 3:19 ` Anshuman Khandual
0 siblings, 0 replies; 325+ messages in thread
From: Anshuman Khandual @ 2021-05-06 3:19 UTC (permalink / raw)
To: Andrew Morton, Linus Torvalds; +Cc: Konstantin Ryabitsev, Linux-MM, mm-commits
On 5/5/21 11:14 PM, Andrew Morton wrote:
> On Wed, 5 May 2021 10:10:33 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
>> On Tue, May 4, 2021 at 8:16 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>>> Let me resend right now with the same in-reply-to. Hopefully they will
>>> land in the correct place.
>> Well, you re-sent it twice, and I have three copies in my own mailbox,
>> bot they still don't show up on the mm-commits mailing list.
>>
>> So the list hates them for some odd reason.
>>
>> I've picked them up locally, but adding Konstantin to the participants
>> to see if he can see what's up.
>>
>> Konstantin: patches 103/106/107 are missing on lore out of Andrew's
>> series of 143. Odd.
> It's weird. They don't turn up on linux-mm either, and that's running
> at kvack.org, also majordomo. They don't get through when sent with
> either heirloom-mailx or with sylpheed.
>
> Also, it seems that when Anshuman originally sent the patch, linux-mm
> and linux-kernel didn't send it back out. So perhaps a spam filter
> triggered?
>
> I'm seeing
>
> https://lore.kernel.org/linux-arm-kernel/1615278790-18053-3-git-send-email-anshuman.khandual@arm.com/
>
> which is via linux-arm-kernel@lists.infradead.org but the linux-kernel
> server massacred that patch series. Searching
> https://lkml.org/lkml/2021/3/9 for "anshuman" only shows 3 of the 7
> email series.
Yeah these patches faced problem from the very beginning getting
into the MM/LKML list for some strange reason.
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-04-30 5:52 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-04-30 5:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
A few misc subsystems and some of MM.
178 patches, based on 8ca5297e7e38f2dc8c753d33a5092e7be181fff0.
Subsystems affected by this patch series:
ia64
kbuild
scripts
sh
ocfs2
kfifo
vfs
kernel/watchdog
mm/slab-generic
mm/slub
mm/kmemleak
mm/debug
mm/pagecache
mm/msync
mm/gup
mm/memremap
mm/memcg
mm/pagemap
mm/mremap
mm/dma
mm/sparsemem
mm/vmalloc
mm/documentation
mm/kasan
mm/initialization
mm/pagealloc
mm/memory-failure
Subsystem: ia64
Zhang Yunkai <zhang.yunkai@zte.com.cn>:
arch/ia64/kernel/head.S: remove duplicate include
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
arch/ia64/kernel/fsys.S: fix typos
arch/ia64/include/asm/pgtable.h: minor typo fixes
Valentin Schneider <valentin.schneider@arm.com>:
ia64: ensure proper NUMA distance and possible map initialization
Sergei Trofimovich <slyfox@gentoo.org>:
ia64: drop unused IA64_FW_EMU ifdef
ia64: simplify code flow around swiotlb init
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
ia64: trivial spelling fixes
Sergei Trofimovich <slyfox@gentoo.org>:
ia64: fix EFI_DEBUG build
ia64: mca: always make IA64_MCA_DEBUG an expression
ia64: drop marked broken DISCONTIGMEM and VIRTUAL_MEM_MAP
ia64: module: fix symbolizer crash on fdescr
Subsystem: kbuild
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>:
include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
Subsystem: scripts
Tom Saeger <tom.saeger@oracle.com>:
scripts/spelling.txt: add entries for recent discoveries
Wan Jiabing <wanjiabing@vivo.com>:
scripts: a new script for checking duplicate struct declaration
Subsystem: sh
Zhang Yunkai <zhang.yunkai@zte.com.cn>:
arch/sh/include/asm/tlb.h: remove duplicate include
Subsystem: ocfs2
Yang Li <yang.lee@linux.alibaba.com>:
ocfs2: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: map flags directly in flags_to_o2dlm()
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
ocfs2: fix a typo
Jiapeng Chong <jiapeng.chong@linux.alibaba.com>:
ocfs2/dlm: remove unused function
Subsystem: kfifo
Dan Carpenter <dan.carpenter@oracle.com>:
kfifo: fix ternary sign extension bugs
Subsystem: vfs
Randy Dunlap <rdunlap@infradead.org>:
vfs: fs_parser: clean up kernel-doc warnings
Subsystem: kernel/watchdog
Petr Mladek <pmladek@suse.com>:
Patch series "watchdog/softlockup: Report overall time and some cleanup", v2:
watchdog: rename __touch_watchdog() to a better descriptive name
watchdog: explicitly update timestamp when reporting softlockup
watchdog/softlockup: report the overall time of softlockups
watchdog/softlockup: remove logic that tried to prevent repeated reports
watchdog: fix barriers when printing backtraces from all CPUs
watchdog: cleanup handling of false positives
Subsystem: mm/slab-generic
Rafael Aquini <aquini@redhat.com>:
mm/slab_common: provide "slab_merge" option for !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT) builds
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: enable slub_debug static key when creating cache with explicit debug flags
Oliver Glitta <glittao@gmail.com>:
kunit: add a KUnit test for SLUB debugging functionality
slub: remove resiliency_test() function
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
mm/slub.c: trivial typo fixes
Subsystem: mm/kmemleak
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
mm/kmemleak.c: fix a typo
Subsystem: mm/debug
Georgi Djakov <georgi.djakov@linaro.org>:
mm/page_owner: record the timestamp of all pages during free
zhongjiang-ali <zhongjiang-ali@linux.alibaba.com>:
mm, page_owner: remove unused parameter in __set_page_owner_handle
Sergei Trofimovich <slyfox@gentoo.org>:
mm: page_owner: fetch backtrace only for tracked pages
mm: page_owner: use kstrtobool() to parse bool option
mm: page_owner: detect page_owner recursion via task_struct
mm: page_poison: print page info when corruption is caught
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/memtest: add ARCH_USE_MEMTEST
Subsystem: mm/pagecache
Jens Axboe <axboe@kernel.dk>:
Patch series "Improve IOCB_NOWAIT O_DIRECT reads", v3:
mm: provide filemap_range_needs_writeback() helper
mm: use filemap_range_needs_writeback() for O_DIRECT reads
iomap: use filemap_range_needs_writeback() for O_DIRECT reads
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap: use filemap_read_page in filemap_fault
mm/filemap: drop check for truncated page after I/O
Johannes Weiner <hannes@cmpxchg.org>:
mm: page-writeback: simplify memcg handling in test_clear_page_writeback()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: move page_mapping_file to pagemap.h
Rui Sun <sunrui26@huawei.com>:
mm/filemap: update stale comment
Subsystem: mm/msync
Nikita Ermakov <sh1r4s3@mail.si-head.nl>:
mm/msync: exit early when the flags is an MS_ASYNC and start < vm_start
Subsystem: mm/gup
Joao Martins <joao.m.martins@oracle.com>:
Patch series "mm/gup: page unpining improvements", v4:
mm/gup: add compound page list iterator
mm/gup: decrement head page once for group of subpages
mm/gup: add a range variant of unpin_user_pages_dirty_lock()
RDMA/umem: batch page unpin in __ib_umem_release()
Yang Shi <shy828301@gmail.com>:
mm: gup: remove FOLL_SPLIT
Subsystem: mm/memremap
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/memremap.c: fix improper SPDX comment style
Subsystem: mm/memcg
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: fix kernel stack account
Shakeel Butt <shakeelb@google.com>:
memcg: cleanup root memcg checks
memcg: enable memcg oom-kill for __GFP_NOFAIL
Johannes Weiner <hannes@cmpxchg.org>:
Patch series "mm: memcontrol: switch to rstat", v3:
mm: memcontrol: fix cpuhotplug statistics flushing
mm: memcontrol: kill mem_cgroup_nodeinfo()
mm: memcontrol: privatize memcg_page_state query functions
cgroup: rstat: support cgroup1
cgroup: rstat: punt root-level optimization to individual controllers
mm: memcontrol: switch to rstat
mm: memcontrol: consolidate lruvec stat flushing
kselftests: cgroup: update kmem test for new vmstat implementation
Shakeel Butt <shakeelb@google.com>:
memcg: charge before adding to swapcache on swapin
Muchun Song <songmuchun@bytedance.com>:
Patch series "Use obj_cgroup APIs to charge kmem pages", v5:
mm: memcontrol: slab: fix obtain a reference to a freeing memcg
mm: memcontrol: introduce obj_cgroup_{un}charge_pages
mm: memcontrol: directly access page->memcg_data in mm/page_alloc.c
mm: memcontrol: change ug->dummy_page only if memcg changed
mm: memcontrol: use obj_cgroup APIs to charge kmem pages
mm: memcontrol: inline __memcg_kmem_{un}charge() into obj_cgroup_{un}charge_pages()
mm: memcontrol: move PageMemcgKmem to the scope of CONFIG_MEMCG_KMEM
Wan Jiabing <wanjiabing@vivo.com>:
linux/memcontrol.h: remove duplicate struct declaration
Johannes Weiner <hannes@cmpxchg.org>:
mm: page_counter: mitigate consequences of a page_counter underflow
Subsystem: mm/pagemap
Wang Qing <wangqing@vivo.com>:
mm/memory.c: do_numa_page(): delete bool "migrated"
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/interval_tree: add comments to improve code readability
Oscar Salvador <osalvador@suse.de>:
Patch series "Cleanup and fixups for vmemmap handling", v6:
x86/vmemmap: drop handling of 4K unaligned vmemmap range
x86/vmemmap: drop handling of 1GB vmemmap ranges
x86/vmemmap: handle unpopulated sub-pmd ranges
x86/vmemmap: optimize for consecutive sections in partial populated PMDs
Ovidiu Panait <ovidiu.panait@windriver.com>:
mm, tracing: improve rss_stat tracepoint message
Christoph Hellwig <hch@lst.de>:
Patch series "add remap_pfn_range_notrack instead of reinventing it in i915", v2:
mm: add remap_pfn_range_notrack
mm: add a io_mapping_map_user helper
i915: use io_mapping_map_user
i915: fix remap_io_sg to verify the pgprot
Huang Ying <ying.huang@intel.com>:
NUMA balancing: reduce TLB flush via delaying mapping on hint page fault
Subsystem: mm/mremap
Brian Geffon <bgeffon@google.com>:
Patch series "mm: Extend MREMAP_DONTUNMAP to non-anonymous mappings", v5:
mm: extend MREMAP_DONTUNMAP to non-anonymous mappings
Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio"
selftests: add a MREMAP_DONTUNMAP selftest for shmem
Subsystem: mm/dma
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/dmapool: switch from strlcpy to strscpy
Subsystem: mm/sparsemem
Wang Wensheng <wangwensheng4@huawei.com>:
mm/sparse: add the missing sparse_buffer_fini() in error branch
Subsystem: mm/vmalloc
Christoph Hellwig <hch@lst.de>:
Patch series "remap_vmalloc_range cleanups":
samples/vfio-mdev/mdpy: use remap_vmalloc_range
mm: unexport remap_vmalloc_range_partial
Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>:
mm/vmalloc: use rb_tree instead of list for vread() lookups
Nicholas Piggin <npiggin@gmail.com>:
Patch series "huge vmalloc mappings", v13:
ARM: mm: add missing pud_page define to 2-level page tables
mm/vmalloc: fix HUGE_VMAP regression by enabling huge pages in vmalloc_to_page
mm: apply_to_pte_range warn and fail if a large pte is encountered
mm/vmalloc: rename vmap_*_range vmap_pages_*_range
mm/ioremap: rename ioremap_*_range to vmap_*_range
mm: HUGE_VMAP arch support cleanup
powerpc: inline huge vmap supported functions
arm64: inline huge vmap supported functions
x86: inline huge vmap supported functions
mm/vmalloc: provide fallback arch huge vmap support functions
mm: move vmap_range from mm/ioremap.c to mm/vmalloc.c
mm/vmalloc: add vmap_range_noflush variant
mm/vmalloc: hugepage vmalloc mappings
Patch series "mm/vmalloc: cleanup after hugepage series", v2:
mm/vmalloc: remove map_kernel_range
kernel/dma: remove unnecessary unmap_kernel_range
powerpc/xive: remove unnecessary unmap_kernel_range
mm/vmalloc: remove unmap_kernel_range
mm/vmalloc: improve allocation failure error messages
Vijayanand Jitta <vjitta@codeaurora.org>:
mm: vmalloc: prevent use after free in _vm_unmap_aliases
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
lib/test_vmalloc.c: remove two kvfree_rcu() tests
lib/test_vmalloc.c: add a new 'nr_threads' parameter
vm/test_vmalloc.sh: adapt for updated driver interface
mm/vmalloc: refactor the preloading loagic
mm/vmalloc: remove an empty line
Subsystem: mm/documentation
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/doc: fix fault_flag_allow_retry_first kerneldoc
mm/doc: fix page_maybe_dma_pinned kerneldoc
mm/doc: turn fault flags into an enum
mm/doc: add mm.h and mm_types.h to the mm-api document
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
Patch series "kernel-doc and MAINTAINERS clean-up":
MAINTAINERS: assign pagewalk.h to MEMORY MANAGEMENT
pagewalk: prefix struct kernel-doc descriptions
Subsystem: mm/kasan
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/kasan: switch from strlcpy to strscpy
Peter Collingbourne <pcc@google.com>:
kasan: fix kasan_byte_accessible() to be consistent with actual checks
Andrey Konovalov <andreyknvl@google.com>:
kasan: initialize shadow to TAG_INVALID for SW_TAGS
mm, kasan: don't poison boot memory with tag-based modes
Patch series "kasan: integrate with init_on_alloc/free", v3:
arm64: kasan: allow to init memory when setting tags
kasan: init memory in kasan_(un)poison for HW_TAGS
kasan, mm: integrate page_alloc init with HW_TAGS
kasan, mm: integrate slab init_on_alloc with HW_TAGS
kasan, mm: integrate slab init_on_free with HW_TAGS
kasan: docs: clean up sections
kasan: docs: update overview section
kasan: docs: update usage section
kasan: docs: update error reports section
kasan: docs: update boot parameters section
kasan: docs: update GENERIC implementation details section
kasan: docs: update SW_TAGS implementation details section
kasan: docs: update HW_TAGS implementation details section
kasan: docs: update shadow memory section
kasan: docs: update ignoring accesses section
kasan: docs: update tests section
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: record task_work_add() call stack
Andrey Konovalov <andreyknvl@google.com>:
kasan: detect false-positives in tests
Zqiang <qiang.zhang@windriver.com>:
irq_work: record irq_work_queue() call stack
Subsystem: mm/initialization
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: move mem_init_print_info() into mm_init()
Subsystem: mm/pagealloc
David Hildenbrand <david@redhat.com>:
mm/page_alloc: drop pr_info_ratelimited() in alloc_contig_range()
Minchan Kim <minchan@kernel.org>:
mm: remove lru_add_drain_all in alloc_contig_range
Yu Zhao <yuzhao@google.com>:
include/linux/page-flags-layout.h: correctly determine LAST_CPUPID_WIDTH
include/linux/page-flags-layout.h: cleanups
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Rationalise __alloc_pages wrappers", v3:
mm/page_alloc: rename alloc_mask to alloc_gfp
mm/page_alloc: rename gfp_mask to gfp
mm/page_alloc: combine __alloc_pages and __alloc_pages_nodemask
mm/mempolicy: rename alloc_pages_current to alloc_pages
mm/mempolicy: rewrite alloc_pages documentation
mm/mempolicy: rewrite alloc_pages_vma documentation
mm/mempolicy: fix mpol_misplaced kernel-doc
Minchan Kim <minchan@kernel.org>:
mm: page_alloc: dump migrate-failed pages
Geert Uytterhoeven <geert@linux-m68k.org>:
mm/Kconfig: remove default DISCONTIGMEM_MANUAL
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm, page_alloc: avoid page_to_pfn() in move_freepages()
zhouchuangao <zhouchuangao@vivo.com>:
mm/page_alloc: duplicate include linux/vmalloc.h
Mel Gorman <mgorman@techsingularity.net>:
Patch series "Introduce a bulk order-0 page allocator with two in-tree users", v6:
mm/page_alloc: rename alloced to allocated
mm/page_alloc: add a bulk page allocator
mm/page_alloc: add an array-based interface to the bulk page allocator
Jesper Dangaard Brouer <brouer@redhat.com>:
mm/page_alloc: optimize code layout for __alloc_pages_bulk
mm/page_alloc: inline __rmqueue_pcplist
Chuck Lever <chuck.lever@oracle.com>:
Patch series "SUNRPC consumer for the bulk page allocator":
SUNRPC: set rq_page_end differently
SUNRPC: refresh rq_pages using a bulk page allocator
Jesper Dangaard Brouer <brouer@redhat.com>:
net: page_pool: refactor dma_map into own function page_pool_dma_map
net: page_pool: use alloc_pages_bulk in refill code path
Sergei Trofimovich <slyfox@gentoo.org>:
mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1
huxiang <huxiang@uniontech.com>:
mm/page_alloc: redundant definition variables of pfn in for loop
Mike Rapoport <rppt@linux.ibm.com>:
mm/mmzone.h: fix existing kernel-doc comments and link them to core-api
Subsystem: mm/memory-failure
Jane Chu <jane.chu@oracle.com>:
mm/memory-failure: unnecessary amount of unmapping
Documentation/admin-guide/kernel-parameters.txt | 7
Documentation/admin-guide/mm/transhuge.rst | 2
Documentation/core-api/cachetlb.rst | 4
Documentation/core-api/mm-api.rst | 6
Documentation/dev-tools/kasan.rst | 355 +++++-----
Documentation/vm/page_owner.rst | 2
Documentation/vm/transhuge.rst | 5
MAINTAINERS | 1
arch/Kconfig | 11
arch/alpha/mm/init.c | 1
arch/arc/mm/init.c | 1
arch/arm/Kconfig | 1
arch/arm/include/asm/pgtable-3level.h | 2
arch/arm/include/asm/pgtable.h | 3
arch/arm/mm/copypage-v4mc.c | 1
arch/arm/mm/copypage-v6.c | 1
arch/arm/mm/copypage-xscale.c | 1
arch/arm/mm/init.c | 2
arch/arm64/Kconfig | 1
arch/arm64/include/asm/memory.h | 4
arch/arm64/include/asm/mte-kasan.h | 39 -
arch/arm64/include/asm/vmalloc.h | 38 -
arch/arm64/mm/init.c | 4
arch/arm64/mm/mmu.c | 36 -
arch/csky/abiv1/cacheflush.c | 1
arch/csky/mm/init.c | 1
arch/h8300/mm/init.c | 2
arch/hexagon/mm/init.c | 1
arch/ia64/Kconfig | 23
arch/ia64/configs/bigsur_defconfig | 1
arch/ia64/include/asm/meminit.h | 11
arch/ia64/include/asm/module.h | 6
arch/ia64/include/asm/page.h | 25
arch/ia64/include/asm/pgtable.h | 7
arch/ia64/kernel/Makefile | 2
arch/ia64/kernel/acpi.c | 7
arch/ia64/kernel/efi.c | 11
arch/ia64/kernel/fsys.S | 4
arch/ia64/kernel/head.S | 6
arch/ia64/kernel/ia64_ksyms.c | 12
arch/ia64/kernel/machine_kexec.c | 2
arch/ia64/kernel/mca.c | 4
arch/ia64/kernel/module.c | 29
arch/ia64/kernel/pal.S | 6
arch/ia64/mm/Makefile | 1
arch/ia64/mm/contig.c | 4
arch/ia64/mm/discontig.c | 21
arch/ia64/mm/fault.c | 15
arch/ia64/mm/init.c | 221 ------
arch/m68k/mm/init.c | 1
arch/microblaze/mm/init.c | 1
arch/mips/Kconfig | 1
arch/mips/loongson64/numa.c | 1
arch/mips/mm/cache.c | 1
arch/mips/mm/init.c | 1
arch/mips/sgi-ip27/ip27-memory.c | 1
arch/nds32/mm/init.c | 1
arch/nios2/mm/cacheflush.c | 1
arch/nios2/mm/init.c | 1
arch/openrisc/mm/init.c | 2
arch/parisc/mm/init.c | 2
arch/powerpc/Kconfig | 1
arch/powerpc/include/asm/vmalloc.h | 34 -
arch/powerpc/kernel/isa-bridge.c | 4
arch/powerpc/kernel/pci_64.c | 2
arch/powerpc/mm/book3s64/radix_pgtable.c | 29
arch/powerpc/mm/ioremap.c | 2
arch/powerpc/mm/mem.c | 1
arch/powerpc/sysdev/xive/common.c | 4
arch/riscv/mm/init.c | 1
arch/s390/mm/init.c | 2
arch/sh/include/asm/tlb.h | 10
arch/sh/mm/cache-sh4.c | 1
arch/sh/mm/cache-sh7705.c | 1
arch/sh/mm/init.c | 1
arch/sparc/include/asm/pgtable_32.h | 3
arch/sparc/mm/init_32.c | 2
arch/sparc/mm/init_64.c | 1
arch/sparc/mm/tlb.c | 1
arch/um/kernel/mem.c | 1
arch/x86/Kconfig | 1
arch/x86/include/asm/vmalloc.h | 42 -
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2
arch/x86/mm/init_32.c | 2
arch/x86/mm/init_64.c | 222 ++++--
arch/x86/mm/ioremap.c | 33
arch/x86/mm/pgtable.c | 13
arch/xtensa/Kconfig | 1
arch/xtensa/mm/init.c | 1
block/blk-cgroup.c | 17
drivers/gpu/drm/i915/Kconfig | 1
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 9
drivers/gpu/drm/i915/i915_drv.h | 3
drivers/gpu/drm/i915/i915_mm.c | 117 ---
drivers/infiniband/core/umem.c | 12
drivers/pci/pci.c | 2
fs/aio.c | 5
fs/fs_parser.c | 2
fs/iomap/direct-io.c | 24
fs/ocfs2/blockcheck.c | 2
fs/ocfs2/dlm/dlmrecovery.c | 7
fs/ocfs2/stack_o2cb.c | 36 -
fs/ocfs2/stackglue.c | 2
include/linux/compiler-gcc.h | 8
include/linux/fs.h | 2
include/linux/gfp.h | 45 -
include/linux/io-mapping.h | 3
include/linux/io.h | 9
include/linux/kasan.h | 51 +
include/linux/memcontrol.h | 271 ++++----
include/linux/mm.h | 50 -
include/linux/mmzone.h | 43 -
include/linux/page-flags-layout.h | 64 -
include/linux/pagemap.h | 10
include/linux/pagewalk.h | 4
include/linux/sched.h | 4
include/linux/slab.h | 2
include/linux/slub_def.h | 2
include/linux/vmalloc.h | 73 +-
include/linux/vmstat.h | 24
include/net/page_pool.h | 2
include/trace/events/kmem.h | 24
init/main.c | 2
kernel/cgroup/cgroup.c | 34 -
kernel/cgroup/rstat.c | 61 +
kernel/dma/remap.c | 1
kernel/fork.c | 13
kernel/irq_work.c | 7
kernel/task_work.c | 3
kernel/watchdog.c | 102 +--
lib/Kconfig.debug | 14
lib/Makefile | 1
lib/test_kasan.c | 59 -
lib/test_slub.c | 124 +++
lib/test_vmalloc.c | 128 +--
mm/Kconfig | 4
mm/Makefile | 1
mm/debug_vm_pgtable.c | 4
mm/dmapool.c | 2
mm/filemap.c | 61 +
mm/gup.c | 145 +++-
mm/hugetlb.c | 2
mm/internal.h | 25
mm/interval_tree.c | 2
mm/io-mapping.c | 29
mm/ioremap.c | 361 ++--------
mm/kasan/common.c | 53 -
mm/kasan/generic.c | 12
mm/kasan/kasan.h | 28
mm/kasan/report_generic.c | 2
mm/kasan/shadow.c | 10
mm/kasan/sw_tags.c | 12
mm/kmemleak.c | 2
mm/memcontrol.c | 798 ++++++++++++------------
mm/memory-failure.c | 2
mm/memory.c | 191 +++--
mm/mempolicy.c | 78 --
mm/mempool.c | 4
mm/memremap.c | 2
mm/migrate.c | 2
mm/mm_init.c | 4
mm/mmap.c | 6
mm/mremap.c | 6
mm/msync.c | 6
mm/page-writeback.c | 9
mm/page_alloc.c | 430 +++++++++---
mm/page_counter.c | 8
mm/page_owner.c | 68 --
mm/page_poison.c | 6
mm/percpu-vm.c | 7
mm/slab.c | 43 -
mm/slab.h | 24
mm/slab_common.c | 10
mm/slub.c | 215 ++----
mm/sparse.c | 1
mm/swap_state.c | 13
mm/util.c | 10
mm/vmalloc.c | 728 ++++++++++++++++-----
net/core/page_pool.c | 127 ++-
net/sunrpc/svc_xprt.c | 38 -
samples/kfifo/bytestream-example.c | 8
samples/kfifo/inttype-example.c | 8
samples/kfifo/record-example.c | 8
samples/vfio-mdev/mdpy.c | 4
scripts/checkdeclares.pl | 53 +
scripts/spelling.txt | 26
tools/testing/selftests/cgroup/test_kmem.c | 22
tools/testing/selftests/vm/mremap_dontunmap.c | 52 +
tools/testing/selftests/vm/test_vmalloc.sh | 21
189 files changed, 3642 insertions(+), 3013 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-04-23 21:28 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-04-23 21:28 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
5 patches, based on 5bfc75d92efd494db37f5c4c173d3639d4772966.
Subsystems affected by this patch series:
coda
overlayfs
mm/pagecache
mm/memcg
Subsystem: coda
Christian König <christian.koenig@amd.com>:
coda: fix reference counting in coda_file_mmap error path
Subsystem: overlayfs
Christian König <christian.koenig@amd.com>:
ovl: fix reference counting in ovl_mmap error path
Subsystem: mm/pagecache
Hugh Dickins <hughd@google.com>:
mm/filemap: fix find_lock_entries hang on 32-bit THP
mm/filemap: fix mapping_seek_hole_data on THP & 32-bit
Subsystem: mm/memcg
Vasily Averin <vvs@virtuozzo.com>:
tools/cgroup/slabinfo.py: updated to work on current kernel
fs/coda/file.c | 6 +++---
fs/overlayfs/file.c | 11 +----------
mm/filemap.c | 31 +++++++++++++++++++------------
tools/cgroup/memcg_slabinfo.py | 8 ++++----
4 files changed, 27 insertions(+), 29 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-04-16 22:45 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-04-16 22:45 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
12 patches, based on 06c2aac4014c38247256fe49c61b7f55890271e7.
Subsystems affected by this patch series:
mm/documentation
mm/kasan
csky
ia64
mm/pagemap
gcov
lib
Subsystem: mm/documentation
Randy Dunlap <rdunlap@infradead.org>:
mm: eliminate "expecting prototype" kernel-doc warnings
Subsystem: mm/kasan
Arnd Bergmann <arnd@arndb.de>:
kasan: fix hwasan build for gcc
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: remove redundant config option
Subsystem: csky
Randy Dunlap <rdunlap@infradead.org>:
csky: change a Kconfig symbol name to fix e1000 build error
Subsystem: ia64
Randy Dunlap <rdunlap@infradead.org>:
ia64: remove duplicate entries in generic_defconfig
ia64: fix discontig.c section mismatches
John Paul Adrian Glaubitz <glaubitz () physik ! fu-berlin ! de>:
ia64: tools: remove inclusion of ia64-specific version of errno.h header
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>:
ia64: tools: remove duplicate definition of ia64_mf() on ia64
Subsystem: mm/pagemap
Zack Rusin <zackr@vmware.com>:
mm/mapping_dirty_helpers: guard hugepage pud's usage
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm: ptdump: fix build failure
Subsystem: gcov
Johannes Berg <johannes.berg@intel.com>:
gcov: clang: fix clang-11+ build
Subsystem: lib
Randy Dunlap <rdunlap@infradead.org>:
lib: remove "expecting prototype" kernel-doc warnings
arch/arm64/kernel/sleep.S | 2 +-
arch/csky/Kconfig | 2 +-
arch/csky/include/asm/page.h | 2 +-
arch/ia64/configs/generic_defconfig | 2 --
arch/ia64/mm/discontig.c | 6 +++---
arch/x86/kernel/acpi/wakeup_64.S | 2 +-
include/linux/kasan.h | 2 +-
kernel/gcov/clang.c | 2 +-
lib/Kconfig.kasan | 9 ++-------
lib/earlycpio.c | 4 ++--
lib/lru_cache.c | 3 ++-
lib/parman.c | 4 ++--
lib/radix-tree.c | 11 ++++++-----
mm/kasan/common.c | 2 +-
mm/kasan/kasan.h | 2 +-
mm/kasan/report_generic.c | 2 +-
mm/mapping_dirty_helpers.c | 2 ++
mm/mmu_gather.c | 29 +++++++++++++++++++----------
mm/oom_kill.c | 2 +-
mm/ptdump.c | 2 +-
mm/shuffle.c | 4 ++--
scripts/Makefile.kasan | 22 ++++++++++++++--------
security/Kconfig.hardening | 4 ++--
tools/arch/ia64/include/asm/barrier.h | 3 ---
tools/include/uapi/asm/errno.h | 2 --
25 files changed, 67 insertions(+), 60 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-04-09 20:26 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-04-09 20:26 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
16 patches, based on 17e7124aad766b3f158943acb51467f86220afe9.
Subsystems affected by this patch series:
MAINTAINERS
mailmap
mm/kasan
mm/gup
nds32
gcov
ocfs2
ia64
mm/pagecache
mm/kasan
mm/kfence
lib
Subsystem: MAINTAINERS
Marek Behún <kabel@kernel.org>:
MAINTAINERS: update CZ.NIC's Turris information
treewide: change my e-mail address, fix my name
Subsystem: mailmap
Jordan Crouse <jordan@cosmicpenguin.net>:
mailmap: update email address for Jordan Crouse
Matthew Wilcox <willy@infradead.org>:
.mailmap: fix old email addresses
Subsystem: mm/kasan
Arnd Bergmann <arnd@arndb.de>:
kasan: fix hwasan build for gcc
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: remove redundant config option
Subsystem: mm/gup
Aili Yao <yaoaili@kingsoft.com>:
mm/gup: check page posion status for coredump.
Subsystem: nds32
Mike Rapoport <rppt@linux.ibm.com>:
nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff
Subsystem: gcov
Nick Desaulniers <ndesaulniers@google.com>:
gcov: re-fix clang-11+ support
Subsystem: ocfs2
Wengang Wang <wen.gang.wang@oracle.com>:
ocfs2: fix deadlock between setattr and dio_end_io_write
Subsystem: ia64
Sergei Trofimovich <slyfox@gentoo.org>:
ia64: fix user_stack_pointer() for ptrace()
Subsystem: mm/pagecache
Jack Qiu <jack.qiu@huawei.com>:
fs: direct-io: fix missing sdio->boundary
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix conflict with page poisoning
Andrew Morton <akpm@linux-foundation.org>:
lib/test_kasan_module.c: suppress unused var warning
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence, x86: fix preemptible warning on KPTI-enabled systems
Subsystem: lib
Julian Braha <julianbraha@gmail.com>:
lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
.mailmap | 7 ++
Documentation/ABI/testing/debugfs-moxtet | 4 -
Documentation/ABI/testing/debugfs-turris-mox-rwtm | 2
Documentation/ABI/testing/sysfs-bus-moxtet-devices | 6 +-
Documentation/ABI/testing/sysfs-class-led-driver-turris-omnia | 2
Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm | 10 +--
Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml | 2
MAINTAINERS | 13 +++-
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | 2
arch/arm64/kernel/sleep.S | 2
arch/ia64/include/asm/ptrace.h | 8 --
arch/nds32/mm/cacheflush.c | 2
arch/x86/include/asm/kfence.h | 7 ++
arch/x86/kernel/acpi/wakeup_64.S | 2
drivers/bus/moxtet.c | 4 -
drivers/firmware/turris-mox-rwtm.c | 4 -
drivers/gpio/gpio-moxtet.c | 4 -
drivers/leds/leds-turris-omnia.c | 4 -
drivers/mailbox/armada-37xx-rwtm-mailbox.c | 4 -
drivers/watchdog/armada_37xx_wdt.c | 4 -
fs/direct-io.c | 5 +
fs/ocfs2/aops.c | 11 ---
fs/ocfs2/file.c | 8 ++
include/dt-bindings/bus/moxtet.h | 2
include/linux/armada-37xx-rwtm-mailbox.h | 2
include/linux/kasan.h | 2
include/linux/moxtet.h | 2
kernel/gcov/clang.c | 29 ++++++----
lib/Kconfig.debug | 6 +-
lib/Kconfig.kasan | 9 ---
lib/test_kasan_module.c | 2
mm/gup.c | 4 +
mm/internal.h | 20 ++++++
mm/kasan/common.c | 2
mm/kasan/kasan.h | 2
mm/kasan/report_generic.c | 2
mm/page_poison.c | 4 +
scripts/Makefile.kasan | 18 ++++--
security/Kconfig.hardening | 4 -
39 files changed, 136 insertions(+), 91 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-03-25 4:36 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-03-25 4:36 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
14 patches, based on 7acac4b3196caee5e21fb5ea53f8bc124e6a16fc.
Subsystems affected by this patch series:
mm/hugetlb
mm/kasan
mm/gup
mm/selftests
mm/z3fold
squashfs
ia64
gcov
mm/kfence
mm/memblock
mm/highmem
mailmap
Subsystem: mm/hugetlb
Miaohe Lin <linmiaohe@huawei.com>:
hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix per-page tags for non-page_alloc pages
Subsystem: mm/gup
Sean Christopherson <seanjc@google.com>:
mm/mmu_notifiers: ensure range_end() is paired with range_start()
Subsystem: mm/selftests
Rong Chen <rong.a.chen@intel.com>:
selftests/vm: fix out-of-tree build
Subsystem: mm/z3fold
Thomas Hebb <tommyhebb@gmail.com>:
z3fold: prevent reclaim/free race for headless pages
Subsystem: squashfs
Sean Nyekjaer <sean@geanix.com>:
squashfs: fix inode lookup sanity checks
Phillip Lougher <phillip@squashfs.org.uk>:
squashfs: fix xattr id and id lookup sanity checks
Subsystem: ia64
Sergei Trofimovich <slyfox@gentoo.org>:
ia64: mca: allocate early mca with GFP_ATOMIC
ia64: fix format strings for err_inject
Subsystem: gcov
Nick Desaulniers <ndesaulniers@google.com>:
gcov: fix clang-11+ support
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: make compatible with kmemleak
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
mm: memblock: fix section mismatch warning again
Subsystem: mm/highmem
Ira Weiny <ira.weiny@intel.com>:
mm/highmem: fix CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP
Subsystem: mailmap
Andrey Konovalov <andreyknvl@google.com>:
mailmap: update Andrey Konovalov's email address
.mailmap | 1
arch/ia64/kernel/err_inject.c | 22 +++++------
arch/ia64/kernel/mca.c | 2 -
fs/squashfs/export.c | 8 +++-
fs/squashfs/id.c | 6 ++-
fs/squashfs/squashfs_fs.h | 1
fs/squashfs/xattr_id.c | 6 ++-
include/linux/hugetlb_cgroup.h | 15 ++++++-
include/linux/memblock.h | 4 +-
include/linux/mm.h | 18 +++++++--
include/linux/mmu_notifier.h | 10 ++---
kernel/gcov/clang.c | 69 ++++++++++++++++++++++++++++++++++++
mm/highmem.c | 4 +-
mm/hugetlb.c | 41 +++++++++++++++++++--
mm/hugetlb_cgroup.c | 10 ++++-
mm/kfence/core.c | 9 ++++
mm/kmemleak.c | 3 +
mm/mmu_notifier.c | 23 ++++++++++++
mm/z3fold.c | 16 +++++++-
tools/testing/selftests/vm/Makefile | 4 +-
20 files changed, 230 insertions(+), 42 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-03-13 5:06 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-03-13 5:06 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
29 patches, based on f78d76e72a4671ea52d12752d92077788b4f5d50.
Subsystems affected by this patch series:
mm/memblock
core-kernel
kconfig
mm/pagealloc
fork
mm/hugetlb
mm/highmem
binfmt
MAINTAINERS
kbuild
mm/kfence
mm/oom-kill
mm/madvise
mm/kasan
mm/userfaultfd
mm/memory-failure
ia64
mm/memcg
mm/zram
Subsystem: mm/memblock
Arnd Bergmann <arnd@arndb.de>:
memblock: fix section mismatch warning
Subsystem: core-kernel
Arnd Bergmann <arnd@arndb.de>:
stop_machine: mark helpers __always_inline
Subsystem: kconfig
Masahiro Yamada <masahiroy@kernel.org>:
init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
mm/page_alloc.c: refactor initialization of struct page for holes in memory layout
Subsystem: fork
Fenghua Yu <fenghua.yu@intel.com>:
mm/fork: clear PASID for new mm
Subsystem: mm/hugetlb
Peter Xu <peterx@redhat.com>:
Patch series "mm/hugetlb: Early cow on fork, and a few cleanups", v5:
hugetlb: dedup the code to add a new file_region
hugetlb: break earlier in add_reservation_in_range() when we can
mm: introduce page_needs_cow_for_dma() for deciding whether cow
mm: use is_cow_mapping() across tree where proper
hugetlb: do early cow when page pinned on src mm
Subsystem: mm/highmem
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
mm/highmem.c: fix zero_user_segments() with start > end
Subsystem: binfmt
Lior Ribak <liorribak@gmail.com>:
binfmt_misc: fix possible deadlock in bm_register_write
Subsystem: MAINTAINERS
Vlastimil Babka <vbabka@suse.cz>:
MAINTAINERS: exclude uapi directories in API/ABI section
Subsystem: kbuild
Arnd Bergmann <arnd@arndb.de>:
linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP*
Subsystem: mm/kfence
Marco Elver <elver@google.com>:
kfence: fix printk format for ptrdiff_t
kfence, slab: fix cache_alloc_debugcheck_after() for bulk allocations
kfence: fix reports if constant function prefixes exist
Subsystem: mm/oom-kill
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
include/linux/sched/mm.h: use rcu_dereference in in_vfork()
Subsystem: mm/madvise
Suren Baghdasaryan <surenb@google.com>:
mm/madvise: replace ptrace attach requirement for process_madvise
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan, mm: fix crash with HW_TAGS and DEBUG_PAGEALLOC
kasan: fix KASAN_STACK dependency for HW_TAGS
Subsystem: mm/userfaultfd
Nadav Amit <namit@vmware.com>:
mm/userfaultfd: fix memory corruption due to writeprotect
Subsystem: mm/memory-failure
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm, hwpoison: do not lock page again when me_huge_page() successfully recovers
Subsystem: ia64
Sergei Trofimovich <slyfox@gentoo.org>:
ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls
ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign
Subsystem: mm/memcg
Zhou Guanghui <zhouguanghui1@huawei.com>:
mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument
mm/memcg: set memcg when splitting page
Subsystem: mm/zram
Minchan Kim <minchan@kernel.org>:
zram: fix return value on writeback_store
zram: fix broken page writeback
MAINTAINERS | 4
arch/ia64/include/asm/syscall.h | 2
arch/ia64/kernel/ptrace.c | 24 +++-
drivers/block/zram/zram_drv.c | 17 +-
drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c | 4
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c | 2
fs/binfmt_misc.c | 29 ++---
fs/proc/task_mmu.c | 2
include/linux/compiler-clang.h | 6 +
include/linux/memblock.h | 4
include/linux/memcontrol.h | 6 -
include/linux/mm.h | 21 +++
include/linux/mm_types.h | 1
include/linux/sched/mm.h | 3
include/linux/stop_machine.h | 11 +
init/Kconfig | 3
kernel/fork.c | 8 +
lib/Kconfig.kasan | 1
mm/highmem.c | 17 ++
mm/huge_memory.c | 10 -
mm/hugetlb.c | 123 +++++++++++++++------
mm/internal.h | 5
mm/kfence/report.c | 30 +++--
mm/madvise.c | 13 ++
mm/memcontrol.c | 15 +-
mm/memory-failure.c | 4
mm/memory.c | 16 +-
mm/page_alloc.c | 167 ++++++++++++++---------------
mm/slab.c | 2
29 files changed, 334 insertions(+), 216 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-02-26 1:14 Andrew Morton
2021-02-26 17:55 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-02-26 1:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- The rest of MM.
Includes kfence - another runtime memory validator. Not as
thorough as KASAN, but it has unmeasurable overhead and is intended
to be usable in production builds.
- Everything else
118 patches, based on 6fbd6cf85a3be127454a1ad58525a3adcf8612ab.
Subsystems affected by this patch series:
mm/thp
mm/cma
mm/vmstat
mm/memory-hotplug
mm/mlock
mm/rmap
mm/zswap
mm/zsmalloc
mm/cleanups
mm/kfence
mm/kasan2
alpha
procfs
sysctl
misc
core-kernel
MAINTAINERS
lib
bitops
checkpatch
init
coredump
seq_file
gdb
ubsan
initramfs
mm/pagemap2
Subsystem: mm/thp
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Overhaul multi-page lookups for THP", v4:
mm: make pagecache tagged lookups return only head pages
mm/shmem: use pagevec_lookup in shmem_unlock_mapping
mm/swap: optimise get_shadow_from_swap_cache
mm: add FGP_ENTRY
mm/filemap: rename find_get_entry to mapping_get_entry
mm/filemap: add helper for finding pages
mm/filemap: add mapping_seek_hole_data
iomap: use mapping_seek_hole_data
mm: add and use find_lock_entries
mm: add an 'end' parameter to find_get_entries
mm: add an 'end' parameter to pagevec_lookup_entries
mm: remove nr_entries parameter from pagevec_lookup_entries
mm: pass pvec directly to find_get_entries
mm: remove pagevec_lookup_entries
Rik van Riel <riel@surriel.com>:
Patch series "mm,thp,shm: limit shmem THP alloc gfp_mask", v6:
mm,thp,shmem: limit shmem THP alloc gfp_mask
mm,thp,shm: limit gfp mask to no more than specified
mm,thp,shmem: make khugepaged obey tmpfs mount flags
mm,shmem,thp: limit shmem THP allocations to requested zones
Subsystem: mm/cma
Roman Gushchin <guro@fb.com>:
mm: cma: allocate cma areas bottom-up
David Hildenbrand <david@redhat.com>:
mm/cma: expose all pages to the buddy if activation of an area fails
mm/page_alloc: count CMA pages per zone and print them in /proc/zoneinfo
Patrick Daly <pdaly@codeaurora.org>:
mm: cma: print region name on failure
Subsystem: mm/vmstat
Johannes Weiner <hannes@cmpxchg.org>:
mm: vmstat: fix NOHZ wakeups for node stat changes
mm: vmstat: add some comments on internal storage of byte items
Jiang Biao <benbjiang@tencent.com>:
mm/vmstat.c: erase latency in vmstat_shepherd
Subsystem: mm/memory-hotplug
Dan Williams <dan.j.williams@intel.com>:
Patch series "mm: Fix pfn_to_online_page() with respect to ZONE_DEVICE", v4:
mm: move pfn_to_online_page() out of line
mm: teach pfn_to_online_page() to consider subsection validity
mm: teach pfn_to_online_page() about ZONE_DEVICE section collisions
mm: fix memory_failure() handling of dax-namespace metadata
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/memory_hotplug: rename all existing 'memhp' into 'mhp'
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: MEMHP_MERGE_RESOURCE -> MHP_MERGE_RESOURCE
Miaohe Lin <linmiaohe@huawei.com>:
mm/memory_hotplug: use helper function zone_end_pfn() to get end_pfn
David Hildenbrand <david@redhat.com>:
drivers/base/memory: don't store phys_device in memory blocks
Documentation: sysfs/memory: clarify some memory block device properties
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/memory_hotplug: Pre-validate the address range with platform", v5:
mm/memory_hotplug: prevalidate the address range being added with platform
arm64/mm: define arch_get_mappable_range()
s390/mm: define arch_get_mappable_range()
David Hildenbrand <david@redhat.com>:
virtio-mem: check against mhp_get_pluggable_range() which memory we can hotplug
Subsystem: mm/mlock
Miaohe Lin <linmiaohe@huawei.com>:
mm/mlock: stop counting mlocked pages when none vma is found
Subsystem: mm/rmap
Miaohe Lin <linmiaohe@huawei.com>:
mm/rmap: correct some obsolete comments of anon_vma
mm/rmap: remove unneeded semicolon in page_not_mapped()
mm/rmap: fix obsolete comment in __page_check_anon_rmap()
mm/rmap: use page_not_mapped in try_to_unmap()
mm/rmap: correct obsolete comment of page_get_anon_vma()
mm/rmap: fix potential pte_unmap on an not mapped pte
Subsystem: mm/zswap
Randy Dunlap <rdunlap@infradead.org>:
mm: zswap: clean up confusing comment
Tian Tao <tiantao6@hisilicon.com>:
Patch series "Fix the compatibility of zsmalloc and zswap":
mm/zswap: add the flag can_sleep_mapped
mm: set the sleep_mapped to true for zbud and z3fold
Subsystem: mm/zsmalloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/zsmalloc.c: convert to use kmem_cache_zalloc in cache_alloc_zspage()
Rokudo Yan <wu-yan@tcl.com>:
zsmalloc: account the number of compacted pages correctly
Miaohe Lin <linmiaohe@huawei.com>:
mm/zsmalloc.c: use page_private() to access page->private
Subsystem: mm/cleanups
Guo Ren <guoren@linux.alibaba.com>:
mm: page-flags.h: Typo fix (It -> If)
Daniel Vetter <daniel.vetter@ffwll.ch>:
mm/dmapool: use might_alloc()
mm/backing-dev.c: use might_alloc()
Stephen Zhang <stephenzhangzsd@gmail.com>:
mm/early_ioremap.c: use __func__ instead of function name
Subsystem: mm/kfence
Alexander Potapenko <glider@google.com>:
Patch series "KFENCE: A low-overhead sampling-based memory safety error detector", v7:
mm: add Kernel Electric-Fence infrastructure
x86, kfence: enable KFENCE for x86
Marco Elver <elver@google.com>:
arm64, kfence: enable KFENCE for ARM64
kfence: use pt_regs to generate stack trace on faults
Alexander Potapenko <glider@google.com>:
mm, kfence: insert KFENCE hooks for SLAB
mm, kfence: insert KFENCE hooks for SLUB
kfence, kasan: make KFENCE compatible with KASAN
Marco Elver <elver@google.com>:
kfence, Documentation: add KFENCE documentation
kfence: add test suite
MAINTAINERS: add entry for KFENCE
kfence: report sensitive information based on no_hash_pointers
Alexander Potapenko <glider@google.com>:
Patch series "Add error_report_end tracepoint to KFENCE and KASAN", v3:
tracing: add error_report_end trace point
kfence: use error_report_end tracepoint
kasan: use error_report_end tracepoint
Subsystem: mm/kasan2
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: optimizations and fixes for HW_TAGS", v4:
kasan, mm: don't save alloc stacks twice
kasan, mm: optimize kmalloc poisoning
kasan: optimize large kmalloc poisoning
kasan: clean up setting free info in kasan_slab_free
kasan: unify large kfree checks
kasan: rework krealloc tests
kasan, mm: fail krealloc on freed objects
kasan, mm: optimize krealloc poisoning
kasan: ensure poisoning size alignment
arm64: kasan: simplify and inline MTE functions
kasan: inline HW_TAGS helper functions
kasan: clarify that only first bug is reported in HW_TAGS
Subsystem: alpha
Randy Dunlap <rdunlap@infradead.org>:
alpha: remove CONFIG_EXPERIMENTAL from defconfigs
Subsystem: procfs
Helge Deller <deller@gmx.de>:
proc/wchan: use printk format instead of lookup_symbol_name()
Josef Bacik <josef@toxicpanda.com>:
proc: use kvzalloc for our kernel buffer
Subsystem: sysctl
Lin Feng <linf@wangsu.com>:
sysctl.c: fix underflow value setting risk in vm_table
Subsystem: misc
Randy Dunlap <rdunlap@infradead.org>:
include/linux: remove repeated words
Miguel Ojeda <ojeda@kernel.org>:
treewide: Miguel has moved
Subsystem: core-kernel
Hubert Jasudowicz <hubert.jasudowicz@gmail.com>:
groups: use flexible-array member in struct group_info
groups: simplify struct group_info allocation
Randy Dunlap <rdunlap@infradead.org>:
kernel: delete repeated words in comments
Subsystem: MAINTAINERS
Vlastimil Babka <vbabka@suse.cz>:
MAINTAINERS: add uapi directories to API/ABI section
Subsystem: lib
Huang Shijie <sjhuang@iluvatar.ai>:
lib/genalloc.c: change return type to unsigned long for bitmap_set_ll
Francis Laniel <laniel_francis@privacyrequired.com>:
string.h: move fortified functions definitions in a dedicated header.
Yogesh Lal <ylal@codeaurora.org>:
lib: stackdepot: add support to configure STACK_HASH_SIZE
Vijayanand Jitta <vjitta@codeaurora.org>:
lib: stackdepot: add support to disable stack depot
lib: stackdepot: fix ignoring return value warning
Masahiro Yamada <masahiroy@kernel.org>:
lib/cmdline: remove an unneeded local variable in next_arg()
Subsystem: bitops
Geert Uytterhoeven <geert+renesas@glider.be>:
include/linux/bitops.h: spelling s/synomyn/synonym/
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: improve blank line after declaration test
Peng Wang <rocking@linux.alibaba.com>:
checkpatch: ignore warning designated initializers using NR_CPUS
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: trivial style fixes
Joe Perches <joe@perches.com>:
checkpatch: prefer ftrace over function entry/exit printks
checkpatch: improve TYPECAST_INT_CONSTANT test message
Aditya Srivastava <yashsri421@gmail.com>:
checkpatch: add warning for avoiding .L prefix symbols in assembly files
Joe Perches <joe@perches.com>:
checkpatch: add kmalloc_array_node to unnecessary OOM message check
Chris Down <chris@chrisdown.name>:
checkpatch: don't warn about colon termination in linker scripts
Song Liu <songliubraving@fb.com>:
checkpatch: do not apply "initialise globals to 0" check to BPF progs
Subsystem: init
Masahiro Yamada <masahiroy@kernel.org>:
init/version.c: remove Version_<LINUX_VERSION_CODE> symbol
init: clean up early_param_on_off() macro
Bhaskar Chowdhury <unixbhaskar@gmail.com>:
init/Kconfig: fix a typo in CC_VERSION_TEXT help text
Subsystem: coredump
Ira Weiny <ira.weiny@intel.com>:
fs/coredump: use kmap_local_page()
Subsystem: seq_file
NeilBrown <neilb@suse.de>:
Patch series "Fix some seq_file users that were recently broken":
seq_file: document how per-entry resources are managed.
x86: fix seq_file iteration for pat/memtype.c
Subsystem: gdb
George Prekas <prekageo@amazon.com>:
scripts/gdb: fix list_for_each
Sumit Garg <sumit.garg@linaro.org>:
kgdb: fix to kill breakpoints on initmem after boot
Subsystem: ubsan
Andrey Ryabinin <ryabinin.a.a@gmail.com>:
ubsan: remove overflow checks
Subsystem: initramfs
Florian Fainelli <f.fainelli@gmail.com>:
initramfs: panic with memory information
Subsystem: mm/pagemap2
Huang Pei <huangpei@loongson.cn>:
MIPS: make userspace mapping young by default
.mailmap | 1
CREDITS | 9
Documentation/ABI/testing/sysfs-devices-memory | 58 -
Documentation/admin-guide/auxdisplay/cfag12864b.rst | 2
Documentation/admin-guide/auxdisplay/ks0108.rst | 2
Documentation/admin-guide/kernel-parameters.txt | 6
Documentation/admin-guide/mm/memory-hotplug.rst | 20
Documentation/dev-tools/index.rst | 1
Documentation/dev-tools/kasan.rst | 8
Documentation/dev-tools/kfence.rst | 318 +++++++
Documentation/filesystems/seq_file.rst | 6
MAINTAINERS | 26
arch/alpha/configs/defconfig | 1
arch/arm64/Kconfig | 1
arch/arm64/include/asm/cache.h | 1
arch/arm64/include/asm/kasan.h | 1
arch/arm64/include/asm/kfence.h | 26
arch/arm64/include/asm/mte-def.h | 2
arch/arm64/include/asm/mte-kasan.h | 65 +
arch/arm64/include/asm/mte.h | 2
arch/arm64/kernel/mte.c | 46 -
arch/arm64/lib/mte.S | 16
arch/arm64/mm/fault.c | 8
arch/arm64/mm/mmu.c | 23
arch/mips/mm/cache.c | 30
arch/s390/mm/init.c | 1
arch/s390/mm/vmem.c | 14
arch/x86/Kconfig | 1
arch/x86/include/asm/kfence.h | 76 +
arch/x86/mm/fault.c | 10
arch/x86/mm/pat/memtype.c | 4
drivers/auxdisplay/cfag12864b.c | 4
drivers/auxdisplay/cfag12864bfb.c | 4
drivers/auxdisplay/ks0108.c | 4
drivers/base/memory.c | 35
drivers/block/zram/zram_drv.c | 2
drivers/hv/hv_balloon.c | 2
drivers/virtio/virtio_mem.c | 43
drivers/xen/balloon.c | 2
fs/coredump.c | 4
fs/iomap/seek.c | 125 --
fs/proc/base.c | 21
fs/proc/proc_sysctl.c | 4
include/linux/bitops.h | 2
include/linux/cfag12864b.h | 2
include/linux/cred.h | 2
include/linux/fortify-string.h | 302 ++++++
include/linux/gfp.h | 2
include/linux/init.h | 4
include/linux/kasan.h | 25
include/linux/kfence.h | 230 +++++
include/linux/kgdb.h | 2
include/linux/khugepaged.h | 2
include/linux/ks0108.h | 2
include/linux/mdev.h | 2
include/linux/memory.h | 3
include/linux/memory_hotplug.h | 33
include/linux/memremap.h | 6
include/linux/mmzone.h | 49 -
include/linux/page-flags.h | 4
include/linux/pagemap.h | 10
include/linux/pagevec.h | 10
include/linux/pgtable.h | 8
include/linux/ptrace.h | 2
include/linux/rmap.h | 3
include/linux/slab_def.h | 3
include/linux/slub_def.h | 3
include/linux/stackdepot.h | 9
include/linux/string.h | 282 ------
include/linux/vmstat.h | 6
include/linux/zpool.h | 3
include/linux/zsmalloc.h | 2
include/trace/events/error_report.h | 74 +
include/uapi/linux/firewire-cdev.h | 2
include/uapi/linux/input.h | 2
init/Kconfig | 2
init/initramfs.c | 19
init/main.c | 6
init/version.c | 8
kernel/debug/debug_core.c | 11
kernel/events/core.c | 8
kernel/events/uprobes.c | 2
kernel/groups.c | 7
kernel/locking/rtmutex.c | 4
kernel/locking/rwsem.c | 2
kernel/locking/semaphore.c | 2
kernel/sched/fair.c | 2
kernel/sched/membarrier.c | 2
kernel/sysctl.c | 8
kernel/trace/Makefile | 1
kernel/trace/error_report-traces.c | 12
lib/Kconfig | 9
lib/Kconfig.debug | 1
lib/Kconfig.kfence | 84 +
lib/Kconfig.ubsan | 17
lib/cmdline.c | 7
lib/genalloc.c | 3
lib/stackdepot.c | 41
lib/test_kasan.c | 111 ++
lib/test_ubsan.c | 49 -
lib/ubsan.c | 68 -
mm/Makefile | 1
mm/backing-dev.c | 3
mm/cma.c | 64 -
mm/dmapool.c | 3
mm/early_ioremap.c | 12
mm/filemap.c | 361 +++++---
mm/huge_memory.c | 6
mm/internal.h | 6
mm/kasan/common.c | 213 +++-
mm/kasan/generic.c | 3
mm/kasan/hw_tags.c | 2
mm/kasan/kasan.h | 97 +-
mm/kasan/report.c | 8
mm/kasan/shadow.c | 78 +
mm/kfence/Makefile | 6
mm/kfence/core.c | 875 +++++++++++++++++++-
mm/kfence/kfence.h | 126 ++
mm/kfence/kfence_test.c | 860 +++++++++++++++++++
mm/kfence/report.c | 350 ++++++--
mm/khugepaged.c | 22
mm/memory-failure.c | 6
mm/memory.c | 4
mm/memory_hotplug.c | 178 +++-
mm/memremap.c | 23
mm/mlock.c | 2
mm/page_alloc.c | 1
mm/rmap.c | 24
mm/shmem.c | 160 +--
mm/slab.c | 38
mm/slab_common.c | 29
mm/slub.c | 63 +
mm/swap.c | 54 -
mm/swap_state.c | 7
mm/truncate.c | 141 ---
mm/vmstat.c | 35
mm/z3fold.c | 1
mm/zbud.c | 1
mm/zpool.c | 13
mm/zsmalloc.c | 22
mm/zswap.c | 57 +
samples/auxdisplay/cfag12864b-example.c | 2
scripts/Makefile.ubsan | 2
scripts/checkpatch.pl | 152 ++-
scripts/gdb/linux/lists.py | 5
145 files changed, 5046 insertions(+), 1682 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-26 1:14 incoming Andrew Morton
@ 2021-02-26 17:55 ` Linus Torvalds
2021-02-26 19:16 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-02-26 17:55 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Thu, Feb 25, 2021 at 5:14 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> - The rest of MM.
>
> Includes kfence - another runtime memory validator. Not as
> thorough as KASAN, but it has unmeasurable overhead and is intended
> to be usable in production builds.
>
> - Everything else
Just to clarify: you have nothing else really pending?
I'm hoping to just do -rc1 this weekend after all - despite my late
start due to loss of power for several days.
I'll allow late stragglers with good reason through, but the fewer of
those there are, the better, of course.
Thanks,
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-26 17:55 ` incoming Linus Torvalds
@ 2021-02-26 19:16 ` Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-02-26 19:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, Linux-MM
On Fri, 26 Feb 2021 09:55:27 -0800 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Thu, Feb 25, 2021 at 5:14 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > - The rest of MM.
> >
> > Includes kfence - another runtime memory validator. Not as
> > thorough as KASAN, but it has unmeasurable overhead and is intended
> > to be usable in production builds.
> >
> > - Everything else
>
> Just to clarify: you have nothing else really pending?
Yes, that's it from me for -rc1.
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-02-24 19:58 Andrew Morton
2021-02-24 21:30 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-02-24 19:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
A few small subsystems and some of MM.
173 patches, based on c03c21ba6f4e95e406a1a7b4c34ef334b977c194.
Subsystems affected by this patch series:
hexagon
scripts
ntfs
ocfs2
vfs
mm/slab-generic
mm/slab
mm/slub
mm/debug
mm/pagecache
mm/swap
mm/memcg
mm/pagemap
mm/mprotect
mm/mremap
mm/page-reporting
mm/vmalloc
mm/kasan
mm/pagealloc
mm/memory-failure
mm/hugetlb
mm/vmscan
mm/z3fold
mm/compaction
mm/mempolicy
mm/oom-kill
mm/hugetlbfs
mm/migration
Subsystem: hexagon
Randy Dunlap <rdunlap@infradead.org>:
hexagon: remove CONFIG_EXPERIMENTAL from defconfigs
Subsystem: scripts
tangchunyou <tangchunyou@yulong.com>:
scripts/spelling.txt: increase error-prone spell checking
zuoqilin <zuoqilin@yulong.com>:
scripts/spelling.txt: check for "exeeds"
dingsenjie <dingsenjie@yulong.com>:
scripts/spelling.txt: add "allocted" and "exeeds" typo
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ntfs
Randy Dunlap <rdunlap@infradead.org>:
ntfs: layout.h: delete duplicated words
Rustam Kovhaev <rkovhaev@gmail.com>:
ntfs: check for valid standard information attribute
Subsystem: ocfs2
Yi Li <yili@winhong.com>:
ocfs2: remove redundant conditional before iput
guozh <guozh88@chinatelecom.cn>:
ocfs2: clean up some definitions which are not used any more
Dan Carpenter <dan.carpenter@oracle.com>:
ocfs2: fix a use after free on error
Jiapeng Chong <jiapeng.chong@linux.alibaba.com>:
ocfs2: simplify the calculation of variables
Subsystem: vfs
Randy Dunlap <rdunlap@infradead.org>:
fs: delete repeated words in comments
Alexey Dobriyan <adobriyan@gmail.com>:
ramfs: support O_TMPFILE
Subsystem: mm/slab-generic
Jacob Wen <jian.w.wen@oracle.com>:
mm, tracing: record slab name for kmem_cache_free()
Nikolay Borisov <nborisov@suse.com>:
mm/sl?b.c: remove ctor argument from kmem_cache_flags
Subsystem: mm/slab
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/slab: minor coding style tweaks
Subsystem: mm/slub
Johannes Berg <johannes.berg@intel.com>:
mm/slub: disable user tracing for kmemleak caches by default
Vlastimil Babka <vbabka@suse.cz>:
Patch series "mm, slab, slub: remove cpu and memory hotplug locks":
mm, slub: stop freeing kmem_cache_node structures on node offline
mm, slab, slub: stop taking memory hotplug lock
mm, slab, slub: stop taking cpu hotplug lock
mm, slub: splice cpu and page freelists in deactivate_slab()
mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/slub: minor coding style tweaks
Subsystem: mm/debug
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/debug: improve memcg debugging
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/debug_vm_pgtable: Some minor updates", v3:
mm/debug_vm_pgtable/basic: add validation for dirtiness after write protect
mm/debug_vm_pgtable/basic: iterate over entire protection_map[]
Miaohe Lin <linmiaohe@huawei.com>:
mm/page_owner: use helper function zone_end_pfn() to get end_pfn
Subsystem: mm/pagecache
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm/filemap: remove unused parameter and change to void type for replace_page_cache_page()
Pavel Begunkov <asml.silence@gmail.com>:
mm/filemap: don't revert iter on -EIOCBQUEUED
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Refactor generic_file_buffered_read", v5:
mm/filemap: rename generic_file_buffered_read subfunctions
mm/filemap: remove dynamically allocated array from filemap_read
mm/filemap: convert filemap_get_pages to take a pagevec
mm/filemap: use head pages in generic_file_buffered_read
mm/filemap: pass a sleep state to put_and_wait_on_page_locked
mm/filemap: support readpage splitting a page
mm/filemap: inline __wait_on_page_locked_async into caller
mm/filemap: don't call ->readpage if IOCB_WAITQ is set
mm/filemap: change filemap_read_page calling conventions
mm/filemap: change filemap_create_page calling conventions
mm/filemap: convert filemap_update_page to return an errno
mm/filemap: move the iocb checks into filemap_update_page
mm/filemap: add filemap_range_uptodate
mm/filemap: split filemap_readahead out of filemap_get_pages
mm/filemap: restructure filemap_get_pages
mm/filemap: don't relock the page after calling readpage
Christoph Hellwig <hch@lst.de>:
mm/filemap: rename generic_file_buffered_read to filemap_read
mm/filemap: simplify generic_file_read_iter
Yang Guo <guoyang2@huawei.com>:
fs/buffer.c: add checking buffer head stat before clear
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm: backing-dev: Remove duplicated macro definition
Subsystem: mm/swap
Yang Li <abaci-bugfix@linux.alibaba.com>:
mm/swap_slots.c: remove redundant NULL check
Stephen Zhang <stephenzhangzsd@gmail.com>:
mm/swapfile.c: fix debugging information problem
Georgi Djakov <georgi.djakov@linaro.org>:
mm/page_io: use pr_alert_ratelimited for swap read/write errors
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
mm/swap_state: constify static struct attribute_group
Yu Zhao <yuzhao@google.com>:
mm/swap: don't SetPageWorkingset unconditionally during swapin
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: pre-allocate obj_cgroups for slab caches with SLAB_ACCOUNT
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: optimize per-lruvec stats counter memory usage
Patch series "Convert all THP vmstat counters to pages", v6:
mm: memcontrol: fix NR_ANON_THPS accounting in charge moving
mm: memcontrol: convert NR_ANON_THPS account to pages
mm: memcontrol: convert NR_FILE_THPS account to pages
mm: memcontrol: convert NR_SHMEM_THPS account to pages
mm: memcontrol: convert NR_SHMEM_PMDMAPPED account to pages
mm: memcontrol: convert NR_FILE_PMDMAPPED account to pages
mm: memcontrol: make the slab calculation consistent
Alex Shi <alex.shi@linux.alibaba.com>:
mm/memcg: revise the using condition of lock_page_lruvec function series
mm/memcg: remove rcu locking for lock_page_lruvec function series
Shakeel Butt <shakeelb@google.com>:
mm: memcg: add swapcache stat for memcg v2
Roman Gushchin <guro@fb.com>:
mm: kmem: make __memcg_kmem_(un)charge static
Feng Tang <feng.tang@intel.com>:
mm: page_counter: re-layout structure to reduce false sharing
Yang Li <abaci-bugfix@linux.alibaba.com>:
mm/memcontrol: remove redundant NULL check
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: replace the loop with a list_for_each_entry()
Shakeel Butt <shakeelb@google.com>:
mm/list_lru.c: remove kvfree_rcu_local()
Johannes Weiner <hannes@cmpxchg.org>:
fs: buffer: use raw page_memcg() on locked page
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: fix swap undercounting in cgroup2
mm: memcontrol: fix get_active_memcg return value
mm: memcontrol: fix slub memory accounting
Subsystem: mm/pagemap
Adrian Huang <ahuang12@lenovo.com>:
mm/mmap.c: remove unnecessary local variable
Miaohe Lin <linmiaohe@huawei.com>:
mm/memory.c: fix potential pte_unmap_unlock pte error
mm/pgtable-generic.c: simplify the VM_BUG_ON condition in pmdp_huge_clear_flush()
mm/pgtable-generic.c: optimize the VM_BUG_ON condition in pmdp_huge_clear_flush()
mm/memory.c: fix potential pte_unmap_unlock pte error
Subsystem: mm/mprotect
Tianjia Zhang <tianjia.zhang@linux.alibaba.com>:
mm/mprotect.c: optimize error detection in do_mprotect_pkey()
Subsystem: mm/mremap
Li Xinhai <lixinhai.lxh@gmail.com>:
mm: rmap: explicitly reset vma->anon_vma in unlink_anon_vmas()
mm: mremap: unlink anon_vmas when mremap with MREMAP_DONTUNMAP success
Subsystem: mm/page-reporting
sh <sh_def@163.com>:
mm/page_reporting: use list_entry_is_head() in page_reporting_cycle()
Subsystem: mm/vmalloc
Yang Li <abaci-bugfix@linux.alibaba.com>:
vmalloc: remove redundant NULL check
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: HW_TAGS tests support and fixes", v4:
kasan: prefix global functions with kasan_
kasan: clarify HW_TAGS impact on TBI
kasan: clean up comments in tests
kasan: add macros to simplify checking test constraints
kasan: add match-all tag tests
kasan, arm64: allow using KUnit tests with HW_TAGS mode
kasan: rename CONFIG_TEST_KASAN_MODULE
kasan: add compiler barriers to KUNIT_EXPECT_KASAN_FAIL
kasan: adapt kmalloc_uaf2 test to HW_TAGS mode
kasan: fix memory corruption in kasan_bitops_tags test
kasan: move _RET_IP_ to inline wrappers
kasan: fix bug detection via ksize for HW_TAGS mode
kasan: add proper page allocator tests
kasan: add a test for kmem_cache_alloc/free_bulk
kasan: don't run tests when KASAN is not enabled
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: remove redundant config option
Subsystem: mm/pagealloc
Baoquan He <bhe@redhat.com>:
Patch series "mm: clean up names and parameters of memmap_init_xxxx functions", v5:
mm: fix prototype warning from kernel test robot
mm: rename memmap_init() and memmap_init_zone()
mm: simplify parater of function memmap_init_zone()
mm: simplify parameter of setup_usemap()
mm: remove unneeded local variable in free_area_init_core
David Hildenbrand <david@redhat.com>:
Patch series "mm: simplify free_highmem_page() and free_reserved_page()":
video: fbdev: acornfb: remove free_unused_pages()
mm: simplify free_highmem_page() and free_reserved_page()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/gfp: add kernel-doc for gfp_t
Subsystem: mm/memory-failure
Aili Yao <yaoaili@kingsoft.com>:
mm,hwpoison: send SIGBUS to PF_MCE_EARLY processes on action required events
Subsystem: mm/hugetlb
Bibo Mao <maobibo@loongson.cn>:
mm/huge_memory.c: update tlb entry if pmd is changed
MIPS: do not call flush_tlb_all when setting pmd entry
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: fix potential double free in hugetlb_register_node() error path
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/hugetlb.c: fix unnecessary address expansion of pmd sharing
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: avoid unnecessary hugetlb_acct_memory() call
mm/hugetlb: use helper huge_page_order and pages_per_huge_page
mm/hugetlb: fix use after free when subpool max_hpages accounting is not enabled
Jiapeng Zhong <abaci-bugfix@linux.alibaba.com>:
mm/hugetlb: simplify the calculation of variables
Joao Martins <joao.m.martins@oracle.com>:
Patch series "mm/hugetlb: follow_hugetlb_page() improvements", v2:
mm/hugetlb: grab head page refcount once for group of subpages
mm/hugetlb: refactor subpage recording
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: fix some comment typos
Yanfei Xu <yanfei.xu@windriver.com>:
mm/hugetlb: remove redundant check in preparing and destroying gigantic page
Zhiyuan Dai <daizhiyuan@phytium.com.cn>:
mm/hugetlb.c: fix typos in comments
Miaohe Lin <linmiaohe@huawei.com>:
mm/huge_memory.c: remove unused return value of set_huge_zero_page()
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/pmem: avoid inserting hugepage PTE entry with fsdax if hugepage support is disabled
Miaohe Lin <linmiaohe@huawei.com>:
hugetlb_cgroup: use helper pages_per_huge_page() in hugetlb_cgroup
mm/hugetlb: use helper function range_in_vma() in page_table_shareable()
mm/hugetlb: remove unnecessary VM_BUG_ON_PAGE on putback_active_hugepage()
mm/hugetlb: use helper huge_page_size() to get hugepage size
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: fix update_and_free_page contig page struct assumption
hugetlb: fix copy_huge_page_from_user contig page struct assumption
Chen Wandun <chenwandun@huawei.com>:
mm/hugetlb: suppress wrong warning info when alloc gigantic page
Subsystem: mm/vmscan
Alex Shi <alex.shi@linux.alibaba.com>:
mm/vmscan: __isolate_lru_page_prepare() cleanup
Miaohe Lin <linmiaohe@huawei.com>:
mm/workingset.c: avoid unnecessary max_nodes estimation in count_shadow_nodes()
Yu Zhao <yuzhao@google.com>:
Patch series "mm: lru related cleanups", v2:
mm/vmscan.c: use add_page_to_lru_list()
include/linux/mm_inline.h: shuffle lru list addition and deletion functions
mm: don't pass "enum lru_list" to lru list addition functions
mm/swap.c: don't pass "enum lru_list" to trace_mm_lru_insertion()
mm/swap.c: don't pass "enum lru_list" to del_page_from_lru_list()
mm: add __clear_page_lru_flags() to replace page_off_lru()
mm: VM_BUG_ON lru page flags
include/linux/mm_inline.h: fold page_lru_base_type() into its sole caller
include/linux/mm_inline.h: fold __update_lru_size() into its sole caller
mm/vmscan.c: make lruvec_lru_size() static
Oscar Salvador <osalvador@suse.de>:
mm: workingset: clarify eviction order and distance calculation
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "create hugetlb flags to consolidate state", v3:
hugetlb: use page.private for hugetlb specific page flags
hugetlb: convert page_huge_active() HPageMigratable flag
hugetlb: convert PageHugeTemporary() to HPageTemporary flag
hugetlb: convert PageHugeFreed to HPageFreed flag
include/linux/hugetlb.h: add synchronization information for new hugetlb specific flags
hugetlb: fix uninitialized subpool pointer
Dave Hansen <dave.hansen@linux.intel.com>:
mm/vmscan: restore zone_reclaim_mode ABI
Subsystem: mm/z3fold
Miaohe Lin <linmiaohe@huawei.com>:
z3fold: remove unused attribute for release_z3fold_page
z3fold: simplify the zhdr initialization code in init_z3fold_page()
Subsystem: mm/compaction
Alex Shi <alex.shi@linux.alibaba.com>:
mm/compaction: remove rcu_read_lock during page compaction
Miaohe Lin <linmiaohe@huawei.com>:
mm/compaction: remove duplicated VM_BUG_ON_PAGE !PageLocked
Charan Teja Reddy <charante@codeaurora.org>:
mm/compaction: correct deferral logic for proactive compaction
Wonhyuk Yang <vvghjk1234@gmail.com>:
mm/compaction: fix misbehaviors of fast_find_migrateblock()
Vlastimil Babka <vbabka@suse.cz>:
mm, compaction: make fast_isolate_freepages() stay within zone
Subsystem: mm/mempolicy
Huang Ying <ying.huang@intel.com>:
numa balancing: migrate on fault among multiple bound nodes
Miaohe Lin <linmiaohe@huawei.com>:
mm/mempolicy: use helper range_in_vma() in queue_pages_test_walk()
Subsystem: mm/oom-kill
Tang Yizhou <tangyizhou@huawei.com>:
mm, oom: fix a comment in dump_task()
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
mm/hugetlb: change hugetlb_reserve_pages() to type bool
hugetlbfs: remove special hugetlbfs_set_page_dirty()
Miaohe Lin <linmiaohe@huawei.com>:
hugetlbfs: remove useless BUG_ON(!inode) in hugetlbfs_setattr()
hugetlbfs: use helper macro default_hstate in init_hugetlbfs_fs
hugetlbfs: correct obsolete function name in hugetlbfs_read_iter()
hugetlbfs: remove meaningless variable avoid_reserve
hugetlbfs: make hugepage size conversion more readable
hugetlbfs: correct some obsolete comments about inode i_mutex
hugetlbfs: fix some comment typos
hugetlbfs: remove unneeded return value of hugetlb_vmtruncate()
Subsystem: mm/migration
Chengyang Fan <cy.fan@huawei.com>:
mm/migrate: remove unneeded semicolons
Documentation/admin-guide/cgroup-v2.rst | 4
Documentation/admin-guide/kernel-parameters.txt | 8
Documentation/admin-guide/sysctl/vm.rst | 10
Documentation/core-api/mm-api.rst | 7
Documentation/dev-tools/kasan.rst | 24
Documentation/vm/arch_pgtable_helpers.rst | 8
arch/arm64/include/asm/memory.h | 1
arch/arm64/include/asm/mte-kasan.h | 12
arch/arm64/kernel/mte.c | 12
arch/arm64/kernel/sleep.S | 2
arch/arm64/mm/fault.c | 20
arch/hexagon/configs/comet_defconfig | 1
arch/ia64/include/asm/pgtable.h | 6
arch/ia64/mm/init.c | 18
arch/mips/mm/pgtable-32.c | 1
arch/mips/mm/pgtable-64.c | 1
arch/x86/kernel/acpi/wakeup_64.S | 2
drivers/base/node.c | 33
drivers/video/fbdev/acornfb.c | 34
fs/block_dev.c | 2
fs/btrfs/file.c | 2
fs/buffer.c | 7
fs/dcache.c | 4
fs/direct-io.c | 4
fs/exec.c | 4
fs/fhandle.c | 2
fs/fuse/dev.c | 6
fs/hugetlbfs/inode.c | 72 --
fs/ntfs/inode.c | 6
fs/ntfs/layout.h | 4
fs/ocfs2/cluster/heartbeat.c | 8
fs/ocfs2/dlm/dlmast.c | 10
fs/ocfs2/dlm/dlmcommon.h | 4
fs/ocfs2/refcounttree.c | 2
fs/ocfs2/super.c | 2
fs/pipe.c | 2
fs/proc/meminfo.c | 10
fs/proc/vmcore.c | 7
fs/ramfs/inode.c | 13
include/linux/fs.h | 4
include/linux/gfp.h | 14
include/linux/highmem-internal.h | 5
include/linux/huge_mm.h | 15
include/linux/hugetlb.h | 98 ++
include/linux/kasan-checks.h | 6
include/linux/kasan.h | 39 -
include/linux/memcontrol.h | 43 -
include/linux/migrate.h | 2
include/linux/mm.h | 28
include/linux/mm_inline.h | 123 +--
include/linux/mmzone.h | 30
include/linux/page-flags.h | 6
include/linux/page_counter.h | 9
include/linux/pagemap.h | 5
include/linux/swap.h | 8
include/trace/events/kmem.h | 24
include/trace/events/pagemap.h | 11
include/uapi/linux/mempolicy.h | 4
init/Kconfig | 14
lib/Kconfig.kasan | 14
lib/Makefile | 2
lib/test_kasan.c | 446 ++++++++----
lib/test_kasan_module.c | 5
mm/backing-dev.c | 6
mm/compaction.c | 73 +-
mm/debug.c | 10
mm/debug_vm_pgtable.c | 86 ++
mm/filemap.c | 859 +++++++++++-------------
mm/gup.c | 5
mm/huge_memory.c | 28
mm/hugetlb.c | 376 ++++------
mm/hugetlb_cgroup.c | 6
mm/kasan/common.c | 60 -
mm/kasan/generic.c | 40 -
mm/kasan/hw_tags.c | 16
mm/kasan/kasan.h | 87 +-
mm/kasan/quarantine.c | 22
mm/kasan/report.c | 15
mm/kasan/report_generic.c | 10
mm/kasan/report_hw_tags.c | 8
mm/kasan/report_sw_tags.c | 8
mm/kasan/shadow.c | 27
mm/kasan/sw_tags.c | 22
mm/khugepaged.c | 6
mm/list_lru.c | 12
mm/memcontrol.c | 309 ++++----
mm/memory-failure.c | 34
mm/memory.c | 24
mm/memory_hotplug.c | 11
mm/mempolicy.c | 18
mm/mempool.c | 2
mm/migrate.c | 10
mm/mlock.c | 3
mm/mmap.c | 4
mm/mprotect.c | 7
mm/mremap.c | 8
mm/oom_kill.c | 5
mm/page_alloc.c | 70 -
mm/page_io.c | 12
mm/page_owner.c | 4
mm/page_reporting.c | 2
mm/pgtable-generic.c | 9
mm/rmap.c | 35
mm/shmem.c | 2
mm/slab.c | 21
mm/slab.h | 20
mm/slab_common.c | 40 -
mm/slob.c | 2
mm/slub.c | 169 ++--
mm/swap.c | 54 -
mm/swap_slots.c | 3
mm/swap_state.c | 31
mm/swapfile.c | 8
mm/vmscan.c | 100 +-
mm/vmstat.c | 14
mm/workingset.c | 7
mm/z3fold.c | 11
scripts/Makefile.kasan | 10
scripts/spelling.txt | 30
tools/objtool/check.c | 2
120 files changed, 2249 insertions(+), 1954 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-24 19:58 incoming Andrew Morton
@ 2021-02-24 21:30 ` Linus Torvalds
2021-02-24 21:37 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-02-24 21:30 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Wed, Feb 24, 2021 at 11:58 AM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> A few small subsystems and some of MM.
Hmm. I haven't bisected things yet, but I suspect it's something with
the KASAN patches. With this all applied, I get:
lib/crypto/curve25519-hacl64.c: In function ‘ladder_cmult.constprop’:
lib/crypto/curve25519-hacl64.c:601:1: warning: the frame size of
2288 bytes is larger than 2048 bytes [-Wframe-larger-than=]
and
lib/bitfield_kunit.c: In function ‘test_bitfields_constants’:
lib/bitfield_kunit.c:93:1: warning: the frame size of 11200 bytes is
larger than 2048 bytes [-Wframe-larger-than=]
which is obviously not really acceptable. A 11kB stack frame _will_
cause issues.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-24 21:30 ` incoming Linus Torvalds
@ 2021-02-24 21:37 ` Linus Torvalds
2021-02-25 8:53 ` incoming Arnd Bergmann
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2021-02-24 21:37 UTC (permalink / raw)
To: Andrew Morton, Walter Wu, Dmitry Vyukov, Nathan Chancellor,
Arnd Bergmann, Andrey Konovalov
Cc: Linux-MM, mm-commits, Andrey Ryabinin, Alexander Potapenko
On Wed, Feb 24, 2021 at 1:30 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Hmm. I haven't bisected things yet, but I suspect it's something with
> the KASAN patches. With this all applied, I get:
>
> lib/crypto/curve25519-hacl64.c: In function ‘ladder_cmult.constprop’:
> lib/crypto/curve25519-hacl64.c:601:1: warning: the frame size of
> 2288 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>
> and
>
> lib/bitfield_kunit.c: In function ‘test_bitfields_constants’:
> lib/bitfield_kunit.c:93:1: warning: the frame size of 11200 bytes is
> larger than 2048 bytes [-Wframe-larger-than=]
>
> which is obviously not really acceptable. A 11kB stack frame _will_
> cause issues.
A quick bisect shoes that this was introduced by "[patch 101/173]
kasan: remove redundant config option".
I didn't check what part of that patch screws up, but it's definitely
doing something bad.
I will drop that patch.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-24 21:37 ` incoming Linus Torvalds
@ 2021-02-25 8:53 ` Arnd Bergmann
2021-02-25 9:12 ` incoming Andrey Ryabinin
0 siblings, 1 reply; 325+ messages in thread
From: Arnd Bergmann @ 2021-02-25 8:53 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, Walter Wu, Dmitry Vyukov, Nathan Chancellor,
Arnd Bergmann, Andrey Konovalov, Linux-MM, mm-commits,
Andrey Ryabinin, Alexander Potapenko
On Wed, Feb 24, 2021 at 10:37 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Wed, Feb 24, 2021 at 1:30 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > Hmm. I haven't bisected things yet, but I suspect it's something with
> > the KASAN patches. With this all applied, I get:
> >
> > lib/crypto/curve25519-hacl64.c: In function ‘ladder_cmult.constprop’:
> > lib/crypto/curve25519-hacl64.c:601:1: warning: the frame size of
> > 2288 bytes is larger than 2048 bytes [-Wframe-larger-than=]
> >
> > and
> >
> > lib/bitfield_kunit.c: In function ‘test_bitfields_constants’:
> > lib/bitfield_kunit.c:93:1: warning: the frame size of 11200 bytes is
> > larger than 2048 bytes [-Wframe-larger-than=]
> >
> > which is obviously not really acceptable. A 11kB stack frame _will_
> > cause issues.
>
> A quick bisect shoes that this was introduced by "[patch 101/173]
> kasan: remove redundant config option".
>
> I didn't check what part of that patch screws up, but it's definitely
> doing something bad.
I'm not sure why that patch surfaced the bug, but it's worth pointing
out that the underlying problem is asan-stack in combination
with the structleak plugin. This will happen for every user of kunit.
I sent a series[1] out earlier this year to turn off the structleak
plugin as an alternative workaround, but need to follow up on
the remaining patches. Someone suggested adding a more
generic way to turn off the plugin for a file instead of open-coding
the CLFAGS_REMOVE_*.o Makefile bit, which would help.
I am also still hoping that someone can come up with a way
to make kunit work better with the structleak plugin, as there
shouldn't be a fundamental reason why it can't work, just that
it the code pattern triggers a particularly bad case in the compiler.
Arnd
[1] https://lore.kernel.org/lkml/20210125124533.101339-1-arnd@kernel.org/
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-25 8:53 ` incoming Arnd Bergmann
@ 2021-02-25 9:12 ` Andrey Ryabinin
2021-02-25 11:07 ` incoming Walter Wu
0 siblings, 1 reply; 325+ messages in thread
From: Andrey Ryabinin @ 2021-02-25 9:12 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Linus Torvalds, Andrew Morton, Walter Wu, Dmitry Vyukov,
Nathan Chancellor, Arnd Bergmann, Andrey Konovalov, Linux-MM,
mm-commits, Andrey Ryabinin, Alexander Potapenko
On Thu, Feb 25, 2021 at 11:53 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> On Wed, Feb 24, 2021 at 10:37 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > On Wed, Feb 24, 2021 at 1:30 PM Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> > >
> > > Hmm. I haven't bisected things yet, but I suspect it's something with
> > > the KASAN patches. With this all applied, I get:
> > >
> > > lib/crypto/curve25519-hacl64.c: In function ‘ladder_cmult.constprop’:
> > > lib/crypto/curve25519-hacl64.c:601:1: warning: the frame size of
> > > 2288 bytes is larger than 2048 bytes [-Wframe-larger-than=]
> > >
> > > and
> > >
> > > lib/bitfield_kunit.c: In function ‘test_bitfields_constants’:
> > > lib/bitfield_kunit.c:93:1: warning: the frame size of 11200 bytes is
> > > larger than 2048 bytes [-Wframe-larger-than=]
> > >
> > > which is obviously not really acceptable. A 11kB stack frame _will_
> > > cause issues.
> >
> > A quick bisect shoes that this was introduced by "[patch 101/173]
> > kasan: remove redundant config option".
> >
> > I didn't check what part of that patch screws up, but it's definitely
> > doing something bad.
>
> I'm not sure why that patch surfaced the bug, but it's worth pointing
> out that the underlying problem is asan-stack in combination
> with the structleak plugin. This will happen for every user of kunit.
>
The patch didn't update KASAN_STACK dependency in kconfig:
config GCC_PLUGIN_STRUCTLEAK_BYREF
....
depends on !(KASAN && KASAN_STACK=1)
This 'depends on' stopped working with the patch
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-25 9:12 ` incoming Andrey Ryabinin
@ 2021-02-25 11:07 ` Walter Wu
0 siblings, 0 replies; 325+ messages in thread
From: Walter Wu @ 2021-02-25 11:07 UTC (permalink / raw)
To: Andrey Ryabinin
Cc: Arnd Bergmann, Linus Torvalds, Andrew Morton, Dmitry Vyukov,
Nathan Chancellor, Arnd Bergmann, Andrey Konovalov, Linux-MM,
mm-commits, Andrey Ryabinin, Alexander Potapenko
Hi Andrey,
On Thu, 2021-02-25 at 12:12 +0300, Andrey Ryabinin wrote:
> On Thu, Feb 25, 2021 at 11:53 AM Arnd Bergmann <arnd@kernel.org> wrote:
> >
> > On Wed, Feb 24, 2021 at 10:37 PM Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> > >
> > > On Wed, Feb 24, 2021 at 1:30 PM Linus Torvalds
> > > <torvalds@linux-foundation.org> wrote:
> > > >
> > > > Hmm. I haven't bisected things yet, but I suspect it's something with
> > > > the KASAN patches. With this all applied, I get:
> > > >
> > > > lib/crypto/curve25519-hacl64.c: In function ‘ladder_cmult.constprop’:
> > > > lib/crypto/curve25519-hacl64.c:601:1: warning: the frame size of
> > > > 2288 bytes is larger than 2048 bytes [-Wframe-larger-than=]
> > > >
> > > > and
> > > >
> > > > lib/bitfield_kunit.c: In function ‘test_bitfields_constants’:
> > > > lib/bitfield_kunit.c:93:1: warning: the frame size of 11200 bytes is
> > > > larger than 2048 bytes [-Wframe-larger-than=]
> > > >
> > > > which is obviously not really acceptable. A 11kB stack frame _will_
> > > > cause issues.
> > >
> > > A quick bisect shoes that this was introduced by "[patch 101/173]
> > > kasan: remove redundant config option".
> > >
> > > I didn't check what part of that patch screws up, but it's definitely
> > > doing something bad.
> >
> > I'm not sure why that patch surfaced the bug, but it's worth pointing
> > out that the underlying problem is asan-stack in combination
> > with the structleak plugin. This will happen for every user of kunit.
> >
>
> The patch didn't update KASAN_STACK dependency in kconfig:
> config GCC_PLUGIN_STRUCTLEAK_BYREF
> ....
> depends on !(KASAN && KASAN_STACK=1)
>
> This 'depends on' stopped working with the patch
Thanks for pointing out this problem. I will re-send that patch.
Walter
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-02-13 4:52 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-02-13 4:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
6 patches, based on dcc0b49040c70ad827a7f3d58a21b01fdb14e749.
Subsystems affected by this patch series:
mm/pagemap
scripts
MAINTAINERS
h8300
Subsystem: mm/pagemap
Mike Rapoport <rppt@linux.ibm.com>:
m68k: make __pfn_to_phys() and __phys_to_pfn() available for !MMU
Subsystem: scripts
Rong Chen <rong.a.chen@intel.com>:
scripts/recordmcount.pl: support big endian for ARCH sh
Subsystem: MAINTAINERS
Andrey Konovalov <andreyknvl@google.com>:
MAINTAINERS: update KASAN file list
MAINTAINERS: update Andrey Konovalov's email address
MAINTAINERS: add Andrey Konovalov to KASAN reviewers
Subsystem: h8300
Randy Dunlap <rdunlap@infradead.org>:
h8300: fix PREEMPTION build, TI_PRE_COUNT undefined
MAINTAINERS | 8 +++++---
arch/h8300/kernel/asm-offsets.c | 3 +++
arch/m68k/include/asm/page.h | 2 +-
scripts/recordmcount.pl | 6 +++++-
4 files changed, 14 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-02-09 21:41 Andrew Morton
2021-02-10 19:30 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-02-09 21:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
14 patches, based on e0756cfc7d7cd08c98a53b6009c091a3f6a50be6.
Subsystems affected by this patch series:
squashfs
mm/kasan
firmware
mm/mremap
mm/tmpfs
mm/selftests
MAINTAINERS
mm/memcg
mm/slub
nilfs2
Subsystem: squashfs
Phillip Lougher <phillip@squashfs.org.uk>:
Patch series "Squashfs: fix BIO migration regression and add sanity checks":
squashfs: avoid out of bounds writes in decompressors
squashfs: add more sanity checks in id lookup
squashfs: add more sanity checks in inode lookup
squashfs: add more sanity checks in xattr id lookup
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix stack traces dependency for HW_TAGS
Subsystem: firmware
Fangrui Song <maskray@google.com>:
firmware_loader: align .builtin_fw to 8
Subsystem: mm/mremap
Arnd Bergmann <arnd@arndb.de>:
mm/mremap: fix BUILD_BUG_ON() error in get_extent
Subsystem: mm/tmpfs
Seth Forshee <seth.forshee@canonical.com>:
tmpfs: disallow CONFIG_TMPFS_INODE64 on s390
tmpfs: disallow CONFIG_TMPFS_INODE64 on alpha
Subsystem: mm/selftests
Rong Chen <rong.a.chen@intel.com>:
selftests/vm: rename file run_vmtests to run_vmtests.sh
Subsystem: MAINTAINERS
Andrey Ryabinin <ryabinin.a.a@gmail.com>:
MAINTAINERS: update Andrey Ryabinin's email address
Subsystem: mm/memcg
Johannes Weiner <hannes@cmpxchg.org>:
Revert "mm: memcontrol: avoid workload stalls when lowering memory.high"
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: better heuristic for number of cpus when calculating slab order
Subsystem: nilfs2
Joachim Henke <joachim.henke@t-systems.com>:
nilfs2: make splice write available again
.mailmap | 1
Documentation/dev-tools/kasan.rst | 3 -
MAINTAINERS | 2 -
fs/Kconfig | 4 +-
fs/nilfs2/file.c | 1
fs/squashfs/block.c | 8 ++++
fs/squashfs/export.c | 41 +++++++++++++++++++----
fs/squashfs/id.c | 40 ++++++++++++++++++-----
fs/squashfs/squashfs_fs_sb.h | 1
fs/squashfs/super.c | 6 +--
fs/squashfs/xattr.h | 10 +++++
fs/squashfs/xattr_id.c | 66 ++++++++++++++++++++++++++++++++------
include/asm-generic/vmlinux.lds.h | 2 -
mm/kasan/hw_tags.c | 8 +---
mm/memcontrol.c | 5 +-
mm/mremap.c | 5 +-
mm/slub.c | 18 +++++++++-
17 files changed, 172 insertions(+), 49 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-02-09 21:41 incoming Andrew Morton
@ 2021-02-10 19:30 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2021-02-10 19:30 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
Hah. This series shows a small deficiency in your scripting wrt the diffstat:
On Tue, Feb 9, 2021 at 1:41 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> .mailmap | 1
...
> mm/slub.c | 18 +++++++++-
> 17 files changed, 172 insertions(+), 49 deletions(-)
It actually has 18 files changed, but one of them is a pure rename (no
change to the content), and apparently your diffstat tool can't handle
that case.
It *should* have ended with
...
mm/slub.c | 18 +++++-
.../selftests/vm/{run_vmtests => run_vmtests.sh} | 0
18 files changed, 172 insertions(+), 49 deletions(-)
rename tools/testing/selftests/vm/{run_vmtests => run_vmtests.sh} (100%)
if you'd done a proper "git diff -M --stat --summary" of the series.
[ Ok, by default git would actually have said
18 files changed, 171 insertions(+), 48 deletions(-)
but it looks like you use the patience diff option, which gives that
extra insertion/deletion line because it generates the diff a bit
differently ]
Not a big deal,, but it made me briefly wonder "why doesn't my
diffstat match yours".
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-02-05 2:31 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-02-05 2:31 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
18 patches, based on 5c279c4cf206e03995e04fd3404fa95ffd243a97.
Subsystems affected by this patch series:
mm/hugetlb
mm/compaction
mm/vmalloc
gcov
mm/shmem
mm/memblock
mailmap
mm/pagecache
mm/kasan
ubsan
mm/hugetlb
MAINTAINERS
Subsystem: mm/hugetlb
Muchun Song <songmuchun@bytedance.com>:
mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page
mm: hugetlb: fix a race between freeing and dissolving the page
mm: hugetlb: fix a race between isolating and freeing page
mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active
mm: migrate: do not migrate HugeTLB page whose refcount is one
Subsystem: mm/compaction
Rokudo Yan <wu-yan@tcl.com>:
mm, compaction: move high_pfn to the for loop scope
Subsystem: mm/vmalloc
Rick Edgecombe <rick.p.edgecombe@intel.com>:
mm/vmalloc: separate put pages and flush VM flags
Subsystem: gcov
Johannes Berg <johannes.berg@intel.com>:
init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov
Subsystem: mm/shmem
Hugh Dickins <hughd@google.com>:
mm: thp: fix MADV_REMOVE deadlock on shmem THP
Subsystem: mm/memblock
Roman Gushchin <guro@fb.com>:
memblock: do not start bottom-up allocations with kernel_end
Subsystem: mailmap
Viresh Kumar <viresh.kumar@linaro.org>:
mailmap: fix name/email for Viresh Kumar
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>:
mailmap: add entries for Manivannan Sadhasivam
Subsystem: mm/pagecache
Waiman Long <longman@redhat.com>:
mm/filemap: add missing mem_cgroup_uncharge() to __add_to_page_cache_locked()
Subsystem: mm/kasan
Vincenzo Frascino <vincenzo.frascino@arm.com>:
Patch series "kasan: Fix metadata detection for KASAN_HW_TAGS", v5:
kasan: add explicit preconditions to kasan_report()
kasan: make addr_has_metadata() return true for valid addresses
Subsystem: ubsan
Nathan Chancellor <nathan@kernel.org>:
ubsan: implement __ubsan_handle_alignment_assumption
Subsystem: mm/hugetlb
Muchun Song <songmuchun@bytedance.com>:
mm: hugetlb: fix missing put_page in gather_surplus_pages()
Subsystem: MAINTAINERS
Nathan Chancellor <nathan@kernel.org>:
MAINTAINERS/.mailmap: use my @kernel.org address
.mailmap | 5 ++++
MAINTAINERS | 2 -
fs/hugetlbfs/inode.c | 3 +-
include/linux/hugetlb.h | 2 +
include/linux/kasan.h | 7 ++++++
include/linux/vmalloc.h | 9 +-------
init/Kconfig | 1
init/main.c | 8 ++++++-
kernel/gcov/Kconfig | 2 -
lib/ubsan.c | 31 ++++++++++++++++++++++++++++
lib/ubsan.h | 6 +++++
mm/compaction.c | 3 +-
mm/filemap.c | 4 +++
mm/huge_memory.c | 37 ++++++++++++++++++++-------------
mm/hugetlb.c | 53 ++++++++++++++++++++++++++++++++++++++++++------
mm/kasan/kasan.h | 2 -
mm/memblock.c | 49 +++++---------------------------------------
mm/migrate.c | 6 +++++
18 files changed, 153 insertions(+), 77 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-01-24 5:00 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2021-01-24 5:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
19 patches, based on e1ae4b0be15891faf46d390e9f3dc9bd71a8cae1.
Subsystems affected by this patch series:
mm/pagealloc
mm/memcg
mm/kasan
ubsan
mm/memory-failure
mm/highmem
proc
MAINTAINERS
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: fix initialization of struct page for holes in memory layout", v3:
x86/setup: don't remove E820_TYPE_RAM for pfn 0
mm: fix initialization of struct page for holes in memory layout
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: optimize objcg stock draining
Shakeel Butt <shakeelb@google.com>:
mm: memcg: fix memcg file_dirty numa stat
mm: fix numa stats for thp migration
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: prevent starvation when writing memory.high
Subsystem: mm/kasan
Lecopzer Chen <lecopzer@gmail.com>:
kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
kasan: fix incorrect arguments passing in kasan_add_zero_shadow
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix HW_TAGS boot parameters
kasan, mm: fix conflicts with init_on_alloc/free
kasan, mm: fix resetting page_alloc tags for HW_TAGS
Subsystem: ubsan
Arnd Bergmann <arnd@arndb.de>:
ubsan: disable unsigned-overflow check for i386
Subsystem: mm/memory-failure
Dan Williams <dan.j.williams@intel.com>:
mm: fix page reference leak in soft_offline_page()
Subsystem: mm/highmem
Thomas Gleixner <tglx@linutronix.de>:
Patch series "mm/highmem: Fix fallout from generic kmap_local conversions":
sparc/mm/highmem: flush cache and TLB
mm/highmem: prepare for overriding set_pte_at()
mips/mm/highmem: use set_pte() for kmap_local()
powerpc/mm/highmem: use __set_pte_at() for kmap_local()
Subsystem: proc
Xiaoming Ni <nixiaoming@huawei.com>:
proc_sysctl: fix oops caused by incorrect command parameters
Subsystem: MAINTAINERS
Nathan Chancellor <natechancellor@gmail.com>:
MAINTAINERS: add a couple more files to the Clang/LLVM section
Documentation/dev-tools/kasan.rst | 27 ++---------
MAINTAINERS | 2
arch/mips/include/asm/highmem.h | 1
arch/powerpc/include/asm/highmem.h | 2
arch/sparc/include/asm/highmem.h | 9 ++-
arch/x86/kernel/setup.c | 20 +++-----
fs/proc/proc_sysctl.c | 7 ++-
lib/Kconfig.ubsan | 1
mm/highmem.c | 7 ++-
mm/kasan/hw_tags.c | 77 +++++++++++++--------------------
mm/kasan/init.c | 23 +++++----
mm/memcontrol.c | 11 +---
mm/memory-failure.c | 20 ++++++--
mm/migrate.c | 27 ++++++-----
mm/page_alloc.c | 86 ++++++++++++++++++++++---------------
mm/slub.c | 7 +--
16 files changed, 173 insertions(+), 154 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2021-01-12 23:48 Andrew Morton
2021-01-15 23:32 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2021-01-12 23:48 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
10 patches, based on e609571b5ffa3528bf85292de1ceaddac342bc1c.
Subsystems affected by this patch series:
mm/slub
mm/pagealloc
mm/memcg
mm/kasan
mm/vmalloc
mm/migration
mm/hugetlb
MAINTAINERS
mm/memory-failure
mm/process_vm_access
Subsystem: mm/slub
Jann Horn <jannh@google.com>:
mm, slub: consider rest of partial list if acquire_slab() fails
Subsystem: mm/pagealloc
Hailong liu <liu.hailong6@zte.com.cn>:
mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint
Subsystem: mm/memcg
Hugh Dickins <hughd@google.com>:
mm/memcontrol: fix warning in mem_cgroup_page_lruvec()
Subsystem: mm/kasan
Hailong Liu <liu.hailong6@zte.com.cn>:
arm/kasan: fix the array size of kasan_early_shadow_pte[]
Subsystem: mm/vmalloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/vmalloc.c: fix potential memory leak
Subsystem: mm/migration
Jan Stancek <jstancek@redhat.com>:
mm: migrate: initialize err in do_migrate_pages
Subsystem: mm/hugetlb
Miaohe Lin <linmiaohe@huawei.com>:
mm/hugetlb: fix potential missing huge page size info
Subsystem: MAINTAINERS
Vlastimil Babka <vbabka@suse.cz>:
MAINTAINERS: add Vlastimil as slab allocators maintainer
Subsystem: mm/memory-failure
Oscar Salvador <osalvador@suse.de>:
mm,hwpoison: fix printing of page flags
Subsystem: mm/process_vm_access
Andrew Morton <akpm@linux-foundation.org>:
mm/process_vm_access.c: include compat.h
MAINTAINERS | 1 +
include/linux/kasan.h | 6 +++++-
include/linux/memcontrol.h | 2 +-
mm/hugetlb.c | 2 +-
mm/kasan/init.c | 3 ++-
mm/memory-failure.c | 2 +-
mm/mempolicy.c | 2 +-
mm/page_alloc.c | 31 ++++++++++++++++---------------
mm/process_vm_access.c | 1 +
mm/slub.c | 2 +-
mm/vmalloc.c | 4 +++-
11 files changed, 33 insertions(+), 23 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2021-01-12 23:48 incoming Andrew Morton
@ 2021-01-15 23:32 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2021-01-15 23:32 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, Jan 12, 2021 at 3:48 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 10 patches, based on e609571b5ffa3528bf85292de1ceaddac342bc1c.
Whee. I had completely dropped the ball on this - I had built my usual
"akpm" branch with the patches, but then had completely forgotten
about it after doing my basic build tests.
I tend to leave it for a while to see if people send belated ACK/NAK's
for the patches, but that "for a while" is typically "overnight", not
several days.
So if you ever notice that I haven't merged your patch submission, and
you haven't seen me comment on them, feel free to ping me to remind
me.
Because it might just have gotten lost in the shuffle for some random
reason. Admittedly it's rare - I think this is the first time I just
randomly noticed three days later that I'd never done the actual merge
of the patch-series).
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-29 23:13 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-29 23:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
16 patches, based on dea8dcf2a9fa8cc540136a6cd885c3beece16ec3.
Subsystems affected by this patch series:
mm/selftests
mm/hugetlb
kbuild
checkpatch
mm/pagecache
mm/mremap
mm/kasan
misc
lib
mm/slub
Subsystem: mm/selftests
Harish <harish@linux.ibm.com>:
selftests/vm: fix building protection keys test
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
mm/hugetlb: fix deadlock in hugetlb_cow error path
Subsystem: kbuild
Masahiro Yamada <masahiroy@kernel.org>:
Revert "kbuild: avoid static_assert for genksyms"
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: prefer strscpy to strlcpy
Subsystem: mm/pagecache
Souptick Joarder <jrdr.linux@gmail.com>:
mm: add prototype for __add_to_page_cache_locked()
Baoquan He <bhe@redhat.com>:
mm: memmap defer init doesn't work as expected
Subsystem: mm/mremap
Kalesh Singh <kaleshsingh@google.com>:
mm/mremap.c: fix extent calculation
Nicholas Piggin <npiggin@gmail.com>:
mm: generalise COW SMC TLB flushing race comment
Subsystem: mm/kasan
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: fix null pointer dereference in kasan_record_aux_stack
Subsystem: misc
Randy Dunlap <rdunlap@infradead.org>:
local64.h: make <asm/local64.h> mandatory
Huang Shijie <sjhuang@iluvatar.ai>:
sizes.h: add SZ_8G/SZ_16G/SZ_32G macros
Josh Poimboeuf <jpoimboe@redhat.com>:
kdev_t: always inline major/minor helper functions
Subsystem: lib
Huang Shijie <sjhuang@iluvatar.ai>:
lib/genalloc: fix the overflow when size is too big
Ilya Leoshkevich <iii@linux.ibm.com>:
lib/zlib: fix inflating zlib streams on s390
Randy Dunlap <rdunlap@infradead.org>:
zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c
Subsystem: mm/slub
Roman Gushchin <guro@fb.com>:
mm: slub: call account_slab_page() after slab page initialization
arch/alpha/include/asm/local64.h | 1 -
arch/arc/include/asm/Kbuild | 1 -
arch/arm/include/asm/Kbuild | 1 -
arch/arm64/include/asm/Kbuild | 1 -
arch/csky/include/asm/Kbuild | 1 -
arch/h8300/include/asm/Kbuild | 1 -
arch/hexagon/include/asm/Kbuild | 1 -
arch/ia64/include/asm/local64.h | 1 -
arch/ia64/mm/init.c | 4 ++--
arch/m68k/include/asm/Kbuild | 1 -
arch/microblaze/include/asm/Kbuild | 1 -
arch/mips/include/asm/Kbuild | 1 -
arch/nds32/include/asm/Kbuild | 1 -
arch/openrisc/include/asm/Kbuild | 1 -
arch/parisc/include/asm/Kbuild | 1 -
arch/powerpc/include/asm/Kbuild | 1 -
arch/riscv/include/asm/Kbuild | 1 -
arch/s390/include/asm/Kbuild | 1 -
arch/sh/include/asm/Kbuild | 1 -
arch/sparc/include/asm/Kbuild | 1 -
arch/x86/include/asm/local64.h | 1 -
arch/xtensa/include/asm/Kbuild | 1 -
include/asm-generic/Kbuild | 1 +
include/linux/build_bug.h | 5 -----
include/linux/kdev_t.h | 22 +++++++++++-----------
include/linux/mm.h | 12 ++++++++++--
include/linux/sizes.h | 3 +++
lib/genalloc.c | 25 +++++++++++++------------
lib/zlib_dfltcc/Makefile | 2 +-
lib/zlib_dfltcc/dfltcc.c | 6 +++++-
lib/zlib_dfltcc/dfltcc_deflate.c | 3 +++
lib/zlib_dfltcc/dfltcc_inflate.c | 4 ++--
lib/zlib_dfltcc/dfltcc_syms.c | 17 -----------------
mm/hugetlb.c | 22 +++++++++++++++++++++-
mm/kasan/generic.c | 2 ++
mm/memory.c | 8 +++++---
mm/memory_hotplug.c | 2 +-
mm/mremap.c | 4 +++-
mm/page_alloc.c | 8 +++++---
mm/slub.c | 5 ++---
scripts/checkpatch.pl | 6 ++++++
tools/testing/selftests/vm/Makefile | 10 +++++-----
42 files changed, 101 insertions(+), 91 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-22 19:58 Andrew Morton
2020-12-22 21:43 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-12-22 19:58 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
60 patches, based on 8653b778e454a7708847aeafe689bce07aeeb94e.
Subsystems affected by this patch series:
mm/kasan
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: add hardware tag-based mode for arm64", v11:
kasan: drop unnecessary GPL text from comment headers
kasan: KASAN_VMALLOC depends on KASAN_GENERIC
kasan: group vmalloc code
kasan: shadow declarations only for software modes
kasan: rename (un)poison_shadow to (un)poison_range
kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_*
kasan: only build init.c for software modes
kasan: split out shadow.c from common.c
kasan: define KASAN_MEMORY_PER_SHADOW_PAGE
kasan: rename report and tags files
kasan: don't duplicate config dependencies
kasan: hide invalid free check implementation
kasan: decode stack frame only with KASAN_STACK_ENABLE
kasan, arm64: only init shadow for software modes
kasan, arm64: only use kasan_depth for software modes
kasan, arm64: move initialization message
kasan, arm64: rename kasan_init_tags and mark as __init
kasan: rename addr_has_shadow to addr_has_metadata
kasan: rename print_shadow_for_address to print_memory_metadata
kasan: rename SHADOW layout macros to META
kasan: separate metadata_fetch_row for each mode
kasan: introduce CONFIG_KASAN_HW_TAGS
Vincenzo Frascino <vincenzo.frascino@arm.com>:
arm64: enable armv8.5-a asm-arch option
arm64: mte: add in-kernel MTE helpers
arm64: mte: reset the page tag in page->flags
arm64: mte: add in-kernel tag fault handler
arm64: kasan: allow enabling in-kernel MTE
arm64: mte: convert gcr_user into an exclude mask
arm64: mte: switch GCR_EL1 in kernel entry and exit
kasan, mm: untag page address in free_reserved_area
Andrey Konovalov <andreyknvl@google.com>:
arm64: kasan: align allocations for HW_TAGS
arm64: kasan: add arch layer for memory tagging helpers
kasan: define KASAN_GRANULE_SIZE for HW_TAGS
kasan, x86, s390: update undef CONFIG_KASAN
kasan, arm64: expand CONFIG_KASAN checks
kasan, arm64: implement HW_TAGS runtime
kasan, arm64: print report from tag fault handler
kasan, mm: reset tags when accessing metadata
kasan, arm64: enable CONFIG_KASAN_HW_TAGS
kasan: add documentation for hardware tag-based mode
Vincenzo Frascino <vincenzo.frascino@arm.com>:
kselftest/arm64: check GCR_EL1 after context switch
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: boot parameters for hardware tag-based mode", v4:
kasan: simplify quarantine_put call site
kasan: rename get_alloc/free_info
kasan: introduce set_alloc_info
kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK
kasan: allow VMAP_STACK for HW_TAGS mode
kasan: remove __kasan_unpoison_stack
kasan: inline kasan_reset_tag for tag-based modes
kasan: inline random_tag for HW_TAGS
kasan: open-code kasan_unpoison_slab
kasan: inline (un)poison_range and check_invalid_free
kasan: add and integrate kasan boot parameters
kasan, mm: check kasan_enabled in annotations
kasan, mm: rename kasan_poison_kfree
kasan: don't round_up too much
kasan: simplify assign_tag and set_tag calls
kasan: clarify comment in __kasan_kfree_large
kasan: sanitize objects when metadata doesn't fit
kasan, mm: allow cache merging with no metadata
kasan: update documentation
Documentation/dev-tools/kasan.rst | 274 ++-
arch/Kconfig | 8
arch/arm64/Kconfig | 9
arch/arm64/Makefile | 7
arch/arm64/include/asm/assembler.h | 2
arch/arm64/include/asm/cache.h | 3
arch/arm64/include/asm/esr.h | 1
arch/arm64/include/asm/kasan.h | 17
arch/arm64/include/asm/memory.h | 15
arch/arm64/include/asm/mte-def.h | 16
arch/arm64/include/asm/mte-kasan.h | 67
arch/arm64/include/asm/mte.h | 22
arch/arm64/include/asm/processor.h | 2
arch/arm64/include/asm/string.h | 5
arch/arm64/include/asm/uaccess.h | 23
arch/arm64/kernel/asm-offsets.c | 3
arch/arm64/kernel/cpufeature.c | 3
arch/arm64/kernel/entry.S | 41
arch/arm64/kernel/head.S | 2
arch/arm64/kernel/hibernate.c | 5
arch/arm64/kernel/image-vars.h | 2
arch/arm64/kernel/kaslr.c | 3
arch/arm64/kernel/module.c | 6
arch/arm64/kernel/mte.c | 124 +
arch/arm64/kernel/setup.c | 2
arch/arm64/kernel/sleep.S | 2
arch/arm64/kernel/smp.c | 2
arch/arm64/lib/mte.S | 16
arch/arm64/mm/copypage.c | 9
arch/arm64/mm/fault.c | 59
arch/arm64/mm/kasan_init.c | 41
arch/arm64/mm/mteswap.c | 9
arch/arm64/mm/proc.S | 23
arch/arm64/mm/ptdump.c | 6
arch/s390/boot/string.c | 1
arch/x86/boot/compressed/misc.h | 1
arch/x86/kernel/acpi/wakeup_64.S | 2
include/linux/kasan-checks.h | 2
include/linux/kasan.h | 423 ++++-
include/linux/mm.h | 24
include/linux/moduleloader.h | 3
include/linux/page-flags-layout.h | 2
include/linux/sched.h | 2
include/linux/string.h | 2
init/init_task.c | 2
kernel/fork.c | 4
lib/Kconfig.kasan | 71
lib/test_kasan.c | 2
lib/test_kasan_module.c | 2
mm/kasan/Makefile | 33
mm/kasan/common.c | 1006 +++-----------
mm/kasan/generic.c | 72 -
mm/kasan/generic_report.c | 13
mm/kasan/hw_tags.c | 276 +++
mm/kasan/init.c | 25
mm/kasan/kasan.h | 195 ++
mm/kasan/quarantine.c | 35
mm/kasan/report.c | 363 +----
mm/kasan/report_generic.c | 169 ++
mm/kasan/report_hw_tags.c | 44
mm/kasan/report_sw_tags.c | 22
mm/kasan/shadow.c | 528 +++++++
mm/kasan/sw_tags.c | 34
mm/kasan/tags.c | 7
mm/kasan/tags_report.c | 7
mm/mempool.c | 4
mm/page_alloc.c | 9
mm/page_poison.c | 2
mm/ptdump.c | 13
mm/slab_common.c | 5
mm/slub.c | 29
scripts/Makefile.lib | 2
tools/testing/selftests/arm64/mte/Makefile | 2
tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c | 155 ++
74 files changed, 2869 insertions(+), 1553 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-22 19:58 incoming Andrew Morton
@ 2020-12-22 21:43 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-12-22 21:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, Dec 22, 2020 at 11:58 AM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> 60 patches, based on 8653b778e454a7708847aeafe689bce07aeeb94e.
I see that you enabled renaming in the patches. Lovely.
Can you also enable it in the diffstat?
> 74 files changed, 2869 insertions(+), 1553 deletions(-)
With -M in the diffstat, you should have seen
72 files changed, 2775 insertions(+), 1460 deletions(-)
and if you add "--summary", you'll also see the rename part ofthe file
create/delete summary:
rename mm/kasan/{tags_report.c => report_sw_tags.c} (78%)
which is often nice to see in addition to the line stats..
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-18 22:00 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-18 22:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
78 patches, based on a409ed156a90093a03fe6a93721ddf4c591eac87.
Subsystems affected by this patch series:
mm/memcg
epoll
mm/kasan
mm/cleanups
epoll
Subsystem: mm/memcg
Alex Shi <alex.shi@linux.alibaba.com>:
Patch series "bail out early for memcg disable":
mm/memcg: bail early from swap accounting if memcg disabled
mm/memcg: warning on !memcg after readahead page charged
Wei Yang <richard.weiyang@gmail.com>:
mm/memcg: remove unused definitions
Shakeel Butt <shakeelb@google.com>:
mm, kvm: account kvm_vcpu_mmap to kmemcg
Hui Su <sh_def@163.com>:
mm/memcontrol:rewrite mem_cgroup_page_lruvec()
Subsystem: epoll
Soheil Hassas Yeganeh <soheil@google.com>:
Patch series "simplify ep_poll":
epoll: check for events when removing a timed out thread from the wait queue
epoll: simplify signal handling
epoll: pull fatal signal checks into ep_send_events()
epoll: move eavail next to the list_empty_careful check
epoll: simplify and optimize busy loop logic
epoll: pull all code between fetch_events and send_event into the loop
epoll: replace gotos with a proper loop
epoll: eliminate unnecessary lock for zero timeout
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: add hardware tag-based mode for arm64", v11:
kasan: drop unnecessary GPL text from comment headers
kasan: KASAN_VMALLOC depends on KASAN_GENERIC
kasan: group vmalloc code
kasan: shadow declarations only for software modes
kasan: rename (un)poison_shadow to (un)poison_range
kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_*
kasan: only build init.c for software modes
kasan: split out shadow.c from common.c
kasan: define KASAN_MEMORY_PER_SHADOW_PAGE
kasan: rename report and tags files
kasan: don't duplicate config dependencies
kasan: hide invalid free check implementation
kasan: decode stack frame only with KASAN_STACK_ENABLE
kasan, arm64: only init shadow for software modes
kasan, arm64: only use kasan_depth for software modes
kasan, arm64: move initialization message
kasan, arm64: rename kasan_init_tags and mark as __init
kasan: rename addr_has_shadow to addr_has_metadata
kasan: rename print_shadow_for_address to print_memory_metadata
kasan: rename SHADOW layout macros to META
kasan: separate metadata_fetch_row for each mode
kasan: introduce CONFIG_KASAN_HW_TAGS
Vincenzo Frascino <vincenzo.frascino@arm.com>:
arm64: enable armv8.5-a asm-arch option
arm64: mte: add in-kernel MTE helpers
arm64: mte: reset the page tag in page->flags
arm64: mte: add in-kernel tag fault handler
arm64: kasan: allow enabling in-kernel MTE
arm64: mte: convert gcr_user into an exclude mask
arm64: mte: switch GCR_EL1 in kernel entry and exit
kasan, mm: untag page address in free_reserved_area
Andrey Konovalov <andreyknvl@google.com>:
arm64: kasan: align allocations for HW_TAGS
arm64: kasan: add arch layer for memory tagging helpers
kasan: define KASAN_GRANULE_SIZE for HW_TAGS
kasan, x86, s390: update undef CONFIG_KASAN
kasan, arm64: expand CONFIG_KASAN checks
kasan, arm64: implement HW_TAGS runtime
kasan, arm64: print report from tag fault handler
kasan, mm: reset tags when accessing metadata
kasan, arm64: enable CONFIG_KASAN_HW_TAGS
kasan: add documentation for hardware tag-based mode
Vincenzo Frascino <vincenzo.frascino@arm.com>:
kselftest/arm64: check GCR_EL1 after context switch
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: boot parameters for hardware tag-based mode", v4:
kasan: simplify quarantine_put call site
kasan: rename get_alloc/free_info
kasan: introduce set_alloc_info
kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK
kasan: allow VMAP_STACK for HW_TAGS mode
kasan: remove __kasan_unpoison_stack
kasan: inline kasan_reset_tag for tag-based modes
kasan: inline random_tag for HW_TAGS
kasan: open-code kasan_unpoison_slab
kasan: inline (un)poison_range and check_invalid_free
kasan: add and integrate kasan boot parameters
kasan, mm: check kasan_enabled in annotations
kasan, mm: rename kasan_poison_kfree
kasan: don't round_up too much
kasan: simplify assign_tag and set_tag calls
kasan: clarify comment in __kasan_kfree_large
kasan: sanitize objects when metadata doesn't fit
kasan, mm: allow cache merging with no metadata
kasan: update documentation
Subsystem: mm/cleanups
Colin Ian King <colin.king@canonical.com>:
mm/Kconfig: fix spelling mistake "whats" -> "what's"
Subsystem: epoll
Willem de Bruijn <willemb@google.com>:
Patch series "add epoll_pwait2 syscall", v4:
epoll: convert internal api to timespec64
epoll: add syscall epoll_pwait2
epoll: wire up syscall epoll_pwait2
selftests/filesystems: expand epoll with epoll_pwait2
Documentation/dev-tools/kasan.rst | 274 +-
arch/Kconfig | 8
arch/alpha/kernel/syscalls/syscall.tbl | 1
arch/arm/tools/syscall.tbl | 1
arch/arm64/Kconfig | 9
arch/arm64/Makefile | 7
arch/arm64/include/asm/assembler.h | 2
arch/arm64/include/asm/cache.h | 3
arch/arm64/include/asm/esr.h | 1
arch/arm64/include/asm/kasan.h | 17
arch/arm64/include/asm/memory.h | 15
arch/arm64/include/asm/mte-def.h | 16
arch/arm64/include/asm/mte-kasan.h | 67
arch/arm64/include/asm/mte.h | 22
arch/arm64/include/asm/processor.h | 2
arch/arm64/include/asm/string.h | 5
arch/arm64/include/asm/uaccess.h | 23
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 2
arch/arm64/kernel/asm-offsets.c | 3
arch/arm64/kernel/cpufeature.c | 3
arch/arm64/kernel/entry.S | 41
arch/arm64/kernel/head.S | 2
arch/arm64/kernel/hibernate.c | 5
arch/arm64/kernel/image-vars.h | 2
arch/arm64/kernel/kaslr.c | 3
arch/arm64/kernel/module.c | 6
arch/arm64/kernel/mte.c | 124 +
arch/arm64/kernel/setup.c | 2
arch/arm64/kernel/sleep.S | 2
arch/arm64/kernel/smp.c | 2
arch/arm64/lib/mte.S | 16
arch/arm64/mm/copypage.c | 9
arch/arm64/mm/fault.c | 59
arch/arm64/mm/kasan_init.c | 41
arch/arm64/mm/mteswap.c | 9
arch/arm64/mm/proc.S | 23
arch/arm64/mm/ptdump.c | 6
arch/ia64/kernel/syscalls/syscall.tbl | 1
arch/m68k/kernel/syscalls/syscall.tbl | 1
arch/microblaze/kernel/syscalls/syscall.tbl | 1
arch/mips/kernel/syscalls/syscall_n32.tbl | 1
arch/mips/kernel/syscalls/syscall_n64.tbl | 1
arch/mips/kernel/syscalls/syscall_o32.tbl | 1
arch/parisc/kernel/syscalls/syscall.tbl | 1
arch/powerpc/kernel/syscalls/syscall.tbl | 1
arch/s390/boot/string.c | 1
arch/s390/kernel/syscalls/syscall.tbl | 1
arch/sh/kernel/syscalls/syscall.tbl | 1
arch/sparc/kernel/syscalls/syscall.tbl | 1
arch/x86/boot/compressed/misc.h | 1
arch/x86/entry/syscalls/syscall_32.tbl | 1
arch/x86/entry/syscalls/syscall_64.tbl | 1
arch/x86/kernel/acpi/wakeup_64.S | 2
arch/x86/kvm/x86.c | 2
arch/xtensa/kernel/syscalls/syscall.tbl | 1
fs/eventpoll.c | 359 ++-
include/linux/compat.h | 6
include/linux/kasan-checks.h | 2
include/linux/kasan.h | 423 ++--
include/linux/memcontrol.h | 137 -
include/linux/mm.h | 24
include/linux/mmdebug.h | 13
include/linux/moduleloader.h | 3
include/linux/page-flags-layout.h | 2
include/linux/sched.h | 2
include/linux/string.h | 2
include/linux/syscalls.h | 5
include/uapi/asm-generic/unistd.h | 4
init/init_task.c | 2
kernel/fork.c | 4
kernel/sys_ni.c | 2
lib/Kconfig.kasan | 71
lib/test_kasan.c | 2
lib/test_kasan_module.c | 2
mm/Kconfig | 2
mm/kasan/Makefile | 33
mm/kasan/common.c | 1006 ++--------
mm/kasan/generic.c | 72
mm/kasan/generic_report.c | 13
mm/kasan/hw_tags.c | 294 ++
mm/kasan/init.c | 25
mm/kasan/kasan.h | 204 +-
mm/kasan/quarantine.c | 35
mm/kasan/report.c | 363 +--
mm/kasan/report_generic.c | 169 +
mm/kasan/report_hw_tags.c | 44
mm/kasan/report_sw_tags.c | 22
mm/kasan/shadow.c | 541 +++++
mm/kasan/sw_tags.c | 34
mm/kasan/tags.c | 7
mm/kasan/tags_report.c | 7
mm/memcontrol.c | 53
mm/mempool.c | 4
mm/page_alloc.c | 9
mm/page_poison.c | 2
mm/ptdump.c | 13
mm/slab_common.c | 5
mm/slub.c | 29
scripts/Makefile.lib | 2
tools/testing/selftests/arm64/mte/Makefile | 2
tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c | 155 +
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 72
virt/kvm/coalesced_mmio.c | 2
virt/kvm/kvm_main.c | 2
105 files changed, 3268 insertions(+), 1873 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-16 4:41 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-16 4:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- lots of little subsystems
- a few post-linux-next MM material. Most of this awaits more merging
of other trees.
95 patches, based on 489e9fea66f31086f85d9a18e61e4791d94a56a4.
Subsystems affected by this patch series:
mm/swap
mm/memory-hotplug
alpha
procfs
misc
core-kernel
bitmap
lib
lz4
bitops
checkpatch
nilfs
kdump
rapidio
gcov
bfs
relay
resource
ubsan
reboot
fault-injection
lzo
apparmor
mm/pagemap
mm/cleanups
mm/gup
Subsystem: mm/swap
Zhaoyang Huang <huangzhaoyang@gmail.com>:
mm: fix a race on nr_swap_pages
Subsystem: mm/memory-hotplug
Laurent Dufour <ldufour@linux.ibm.com>:
mm/memory_hotplug: quieting offline operation
Subsystem: alpha
Thomas Gleixner <tglx@linutronix.de>:
alpha: replace bogus in_interrupt()
Subsystem: procfs
Randy Dunlap <rdunlap@infradead.org>:
procfs: delete duplicated words + other fixes
Anand K Mistry <amistry@google.com>:
proc: provide details on indirect branch speculation
Alexey Dobriyan <adobriyan@gmail.com>:
proc: fix lookup in /proc/net subdirectories after setns(2)
Hui Su <sh_def@163.com>:
fs/proc: make pde_get() return nothing
Subsystem: misc
Christophe Leroy <christophe.leroy@csgroup.eu>:
asm-generic: force inlining of get_order() to work around gcc10 poor decision
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: split out mathematical helpers
Subsystem: core-kernel
Hui Su <sh_def@163.com>:
kernel/acct.c: use #elif instead of #end and #elif
Subsystem: bitmap
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
include/linux/bitmap.h: convert bitmap_empty() / bitmap_full() to return boolean
"Ma, Jianpeng" <jianpeng.ma@intel.com>:
bitmap: remove unused function declaration
Subsystem: lib
Geert Uytterhoeven <geert@linux-m68k.org>:
lib/test_free_pages.c: add basic progress indicators
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
Patch series "] lib/stackdepot.c: Replace one-element array with flexible-array member":
lib/stackdepot.c: replace one-element array with flexible-array member
lib/stackdepot.c: use flex_array_size() helper in memcpy()
lib/stackdepot.c: use array_size() helper in jhash2()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
lib/test_lockup.c: minimum fix to get it compiled on PREEMPT_RT
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
lib/list_kunit: follow new file name convention for KUnit tests
lib/linear_ranges_kunit: follow new file name convention for KUnit tests
lib/bits_kunit: follow new file name convention for KUnit tests
lib/cmdline: fix get_option() for strings starting with hyphen
lib/cmdline: allow NULL to be an output for get_option()
lib/cmdline_kunit: add a new test suite for cmdline API
Jakub Jelinek <jakub@redhat.com>:
ilog2: improve ilog2 for constant arguments
Nick Desaulniers <ndesaulniers@google.com>:
lib/string: remove unnecessary #undefs
Daniel Axtens <dja@axtens.net>:
Patch series "Fortify strscpy()", v7:
lib: string.h: detect intra-object overflow in fortified string functions
lkdtm: tests for FORTIFY_SOURCE
Francis Laniel <laniel_francis@privacyrequired.com>:
string.h: add FORTIFY coverage for strscpy()
drivers/misc/lkdtm: add new file in LKDTM to test fortified strscpy
drivers/misc/lkdtm/lkdtm.h: correct wrong filenames in comment
Alexey Dobriyan <adobriyan@gmail.com>:
lib: cleanup kstrto*() usage
Subsystem: lz4
Gao Xiang <hsiangkao@redhat.com>:
lib/lz4: explicitly support in-place decompression
Subsystem: bitops
Syed Nayyar Waris <syednwaris@gmail.com>:
Patch series "Introduce the for_each_set_clump macro", v12:
bitops: introduce the for_each_set_clump macro
lib/test_bitmap.c: add for_each_set_clump test cases
gpio: thunderx: utilize for_each_set_clump macro
gpio: xilinx: utilize generic bitmap_get_value and _set_value
Subsystem: checkpatch
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: add new exception to repeated word check
Aditya Srivastava <yashsri421@gmail.com>:
checkpatch: fix false positives in REPEATED_WORD warning
Łukasz Stelmach <l.stelmach@samsung.com>:
checkpatch: ignore generated CamelCase defines and enum values
Joe Perches <joe@perches.com>:
checkpatch: prefer static const declarations
checkpatch: allow --fix removal of unnecessary break statements
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: extend attributes check to handle more patterns
Tom Rix <trix@redhat.com>:
checkpatch: add a fixer for missing newline at eof
Joe Perches <joe@perches.com>:
checkpatch: update __attribute__((section("name"))) quote removal
Aditya Srivastava <yashsri421@gmail.com>:
checkpatch: add fix option for GERRIT_CHANGE_ID
Joe Perches <joe@perches.com>:
checkpatch: add __alias and __weak to suggested __attribute__ conversions
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: improve email parsing
checkpatch: fix spelling errors and remove repeated word
Aditya Srivastava <yashsri421@gmail.com>:
checkpatch: avoid COMMIT_LOG_LONG_LINE warning for signature tags
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: fix unescaped left brace
Aditya Srivastava <yashsri421@gmail.com>:
checkpatch: add fix option for ASSIGNMENT_CONTINUATIONS
checkpatch: add fix option for LOGICAL_CONTINUATIONS
checkpatch: add fix and improve warning msg for non-standard signature
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: add warning for unnecessary use of %h[xudi] and %hh[xudi]
checkpatch: add warning for lines starting with a '#' in commit log
checkpatch: fix TYPO_SPELLING check for words with apostrophe
Joe Perches <joe@perches.com>:
checkpatch: add printk_once and printk_ratelimit to prefer pr_<level> warning
Subsystem: nilfs
Alex Shi <alex.shi@linux.alibaba.com>:
fs/nilfs2: remove some unused macros to tame gcc
Subsystem: kdump
Alexander Egorenkov <egorenar@linux.ibm.com>:
kdump: append uts_namespace.name offset to VMCOREINFO
Subsystem: rapidio
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
rapidio: remove unused rio_get_asm() and rio_get_device()
Subsystem: gcov
Nick Desaulniers <ndesaulniers@google.com>:
gcov: remove support for GCC < 4.9
Alex Shi <alex.shi@linux.alibaba.com>:
gcov: fix kernel-doc markup issue
Subsystem: bfs
Randy Dunlap <rdunlap@infradead.org>:
bfs: don't use WARNING: string when it's just info.
Subsystem: relay
Jani Nikula <jani.nikula@intel.com>:
Patch series "relay: cleanup and const callbacks", v2:
relay: remove unused buf_mapped and buf_unmapped callbacks
relay: require non-NULL callbacks in relay_open()
relay: make create_buf_file and remove_buf_file callbacks mandatory
relay: allow the use of const callback structs
drm/i915: make relay callbacks const
ath10k: make relay callbacks const
ath11k: make relay callbacks const
ath9k: make relay callbacks const
blktrace: make relay callbacks const
Subsystem: resource
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>:
kernel/resource.c: fix kernel-doc markups
Subsystem: ubsan
Kees Cook <keescook@chromium.org>:
Patch series "Clean up UBSAN Makefile", v2:
ubsan: remove redundant -Wno-maybe-uninitialized
ubsan: move cc-option tests into Kconfig
ubsan: disable object-size sanitizer under GCC
ubsan: disable UBSAN_TRAP for all*config
ubsan: enable for all*config builds
ubsan: remove UBSAN_MISC in favor of individual options
ubsan: expand tests and reporting
Dmitry Vyukov <dvyukov@google.com>:
kcov: don't instrument with UBSAN
Zou Wei <zou_wei@huawei.com>:
lib/ubsan.c: mark type_check_kinds with static keyword
Subsystem: reboot
Matteo Croce <mcroce@microsoft.com>:
reboot: refactor and comment the cpu selection code
reboot: allow to specify reboot mode via sysfs
reboot: remove cf9_safe from allowed types and rename cf9_force
Patch series "reboot: sysfs improvements":
reboot: allow to override reboot type if quirks are found
reboot: hide from sysfs not applicable settings
Subsystem: fault-injection
Barnabás Pőcze <pobrn@protonmail.com>:
fault-injection: handle EI_ETYPE_TRUE
Subsystem: lzo
Jason Yan <yanaijie@huawei.com>:
lib/lzo/lzo1x_compress.c: make lzogeneric1x_1_compress() static
Subsystem: apparmor
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
apparmor: remove duplicate macro list_entry_is_head()
Subsystem: mm/pagemap
Christoph Hellwig <hch@lst.de>:
Patch series "simplify follow_pte a bit":
mm: unexport follow_pte_pmd
mm: simplify follow_pte{,pmd}
Subsystem: mm/cleanups
Haitao Shi <shihaitao1@huawei.com>:
mm: fix some spelling mistakes in comments
Subsystem: mm/gup
Jann Horn <jannh@google.com>:
mmap locking API: don't check locking if the mm isn't live yet
mm/gup: assert that the mmap lock is held in __get_user_pages()
Documentation/ABI/testing/sysfs-kernel-reboot | 32
Documentation/admin-guide/kdump/vmcoreinfo.rst | 6
Documentation/dev-tools/ubsan.rst | 1
Documentation/filesystems/proc.rst | 2
MAINTAINERS | 5
arch/alpha/kernel/process.c | 2
arch/powerpc/kernel/vmlinux.lds.S | 4
arch/s390/pci/pci_mmio.c | 4
drivers/gpio/gpio-thunderx.c | 11
drivers/gpio/gpio-xilinx.c | 61 -
drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 2
drivers/misc/lkdtm/Makefile | 1
drivers/misc/lkdtm/bugs.c | 50 +
drivers/misc/lkdtm/core.c | 3
drivers/misc/lkdtm/fortify.c | 82 ++
drivers/misc/lkdtm/lkdtm.h | 19
drivers/net/wireless/ath/ath10k/spectral.c | 2
drivers/net/wireless/ath/ath11k/spectral.c | 2
drivers/net/wireless/ath/ath9k/common-spectral.c | 2
drivers/rapidio/rio.c | 81 --
fs/bfs/inode.c | 2
fs/dax.c | 9
fs/exec.c | 8
fs/nfs/callback_proc.c | 5
fs/nilfs2/segment.c | 5
fs/proc/array.c | 28
fs/proc/base.c | 2
fs/proc/generic.c | 24
fs/proc/internal.h | 10
fs/proc/proc_net.c | 20
include/asm-generic/bitops/find.h | 19
include/asm-generic/getorder.h | 2
include/linux/bitmap.h | 67 +-
include/linux/bitops.h | 24
include/linux/dcache.h | 1
include/linux/iommu-helper.h | 4
include/linux/kernel.h | 173 -----
include/linux/log2.h | 3
include/linux/math.h | 177 +++++
include/linux/mm.h | 6
include/linux/mm_types.h | 10
include/linux/mmap_lock.h | 16
include/linux/proc_fs.h | 8
include/linux/rcu_node_tree.h | 2
include/linux/relay.h | 29
include/linux/rio_drv.h | 3
include/linux/string.h | 75 +-
include/linux/units.h | 2
kernel/Makefile | 3
kernel/acct.c | 7
kernel/crash_core.c | 1
kernel/fail_function.c | 6
kernel/gcov/gcc_4_7.c | 10
kernel/reboot.c | 308 ++++++++-
kernel/relay.c | 111 ---
kernel/resource.c | 24
kernel/trace/blktrace.c | 2
lib/Kconfig.debug | 11
lib/Kconfig.ubsan | 154 +++-
lib/Makefile | 7
lib/bits_kunit.c | 75 ++
lib/cmdline.c | 20
lib/cmdline_kunit.c | 100 +++
lib/errname.c | 1
lib/error-inject.c | 2
lib/errseq.c | 1
lib/find_bit.c | 17
lib/linear_ranges_kunit.c | 228 +++++++
lib/list-test.c | 748 -----------------------
lib/list_kunit.c | 748 +++++++++++++++++++++++
lib/lz4/lz4_decompress.c | 6
lib/lz4/lz4defs.h | 1
lib/lzo/lzo1x_compress.c | 2
lib/math/div64.c | 4
lib/math/int_pow.c | 2
lib/math/int_sqrt.c | 3
lib/math/reciprocal_div.c | 9
lib/stackdepot.c | 11
lib/string.c | 4
lib/test_bitmap.c | 143 ++++
lib/test_bits.c | 75 --
lib/test_firmware.c | 9
lib/test_free_pages.c | 5
lib/test_kmod.c | 26
lib/test_linear_ranges.c | 228 -------
lib/test_lockup.c | 16
lib/test_ubsan.c | 74 ++
lib/ubsan.c | 2
mm/filemap.c | 2
mm/gup.c | 2
mm/huge_memory.c | 2
mm/khugepaged.c | 2
mm/memblock.c | 2
mm/memory.c | 36 -
mm/memory_hotplug.c | 2
mm/migrate.c | 2
mm/page_ext.c | 2
mm/swapfile.c | 11
scripts/Makefile.ubsan | 49 -
scripts/checkpatch.pl | 495 +++++++++++----
security/apparmor/apparmorfs.c | 3
tools/testing/selftests/lkdtm/tests.txt | 1
102 files changed, 3022 insertions(+), 1899 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-15 20:32 Andrew Morton
2020-12-15 21:00 ` incoming Linus Torvalds
2020-12-15 22:48 ` incoming Linus Torvalds
0 siblings, 2 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-15 20:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
- more MM work: a memcg scalability improvememt
19 patches, based on 148842c98a24e508aecb929718818fbf4c2a6ff3.
Subsystems affected by this patch series:
Alex Shi <alex.shi@linux.alibaba.com>:
Patch series "per memcg lru lock", v21:
mm/thp: move lru_add_page_tail() to huge_memory.c
mm/thp: use head for head page in lru_add_page_tail()
mm/thp: simplify lru_add_page_tail()
mm/thp: narrow lru locking
mm/vmscan: remove unnecessary lruvec adding
mm/rmap: stop store reordering issue on page->mapping
Hugh Dickins <hughd@google.com>:
mm: page_idle_get_page() does not need lru_lock
Alex Shi <alex.shi@linux.alibaba.com>:
mm/memcg: add debug checking in lock_page_memcg
mm/swap.c: fold vm event PGROTATED into pagevec_move_tail_fn
mm/lru: move lock into lru_note_cost
mm/vmscan: remove lruvec reget in move_pages_to_lru
mm/mlock: remove lru_lock on TestClearPageMlocked
mm/mlock: remove __munlock_isolate_lru_page()
mm/lru: introduce TestClearPageLRU()
mm/compaction: do page isolation first in compaction
mm/swap.c: serialize memcg changes in pagevec_lru_move_fn
mm/lru: replace pgdat lru_lock with lruvec lock
Alexander Duyck <alexander.h.duyck@linux.intel.com>:
mm/lru: introduce relock_page_lruvec()
Hugh Dickins <hughd@google.com>:
mm/lru: revise the comments of lru_lock
Documentation/admin-guide/cgroup-v1/memcg_test.rst | 15 -
Documentation/admin-guide/cgroup-v1/memory.rst | 23 -
Documentation/trace/events-kmem.rst | 2
Documentation/vm/unevictable-lru.rst | 22 -
include/linux/memcontrol.h | 110 +++++++
include/linux/mm_types.h | 2
include/linux/mmzone.h | 6
include/linux/page-flags.h | 1
include/linux/swap.h | 4
mm/compaction.c | 98 ++++---
mm/filemap.c | 4
mm/huge_memory.c | 109 ++++---
mm/memcontrol.c | 84 +++++-
mm/mlock.c | 93 ++----
mm/mmzone.c | 1
mm/page_alloc.c | 1
mm/page_idle.c | 4
mm/rmap.c | 12
mm/swap.c | 292 ++++++++-------------
mm/vmscan.c | 239 ++++++++---------
mm/workingset.c | 2
21 files changed, 644 insertions(+), 480 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 20:32 incoming Andrew Morton
@ 2020-12-15 21:00 ` Linus Torvalds
2020-12-15 22:48 ` incoming Linus Torvalds
1 sibling, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-12-15 21:00 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, Dec 15, 2020 at 12:32 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> - more MM work: a memcg scalability improvememt
>
> 19 patches, based on 148842c98a24e508aecb929718818fbf4c2a6ff3.
I'm not seeing patch 10/19 at all.
And patch 19/19 is corrupted and has an attachment with a '^P'
character in it. I could fix it up, but with the missing patch in the
middle I'm not going to even try. 'b4' is also very unhappy about that
patch 19/19.
I don't know what went wrong, but I'll ignore this send - please
re-send the series at your leisure, ok?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 20:32 incoming Andrew Morton
2020-12-15 21:00 ` incoming Linus Torvalds
@ 2020-12-15 22:48 ` Linus Torvalds
2020-12-15 22:49 ` incoming Linus Torvalds
1 sibling, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-12-15 22:48 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, Dec 15, 2020 at 12:32 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> - more MM work: a memcg scalability improvememt
>
> 19 patches, based on 148842c98a24e508aecb929718818fbf4c2a6ff3.
With your re-send, I get all patches, but they don't actually apply cleanly.
Is that base correct?
I get
error: patch failed: mm/huge_memory.c:2750
error: mm/huge_memory.c: patch does not apply
Patch failed at 0004 mm/thp: narrow lru locking
for that patch "[patch 04/19] mm/thp: narrow lru locking", and that's
definitely true: the patch fragment has
@@ -2750,7 +2751,7 @@ int split_huge_page_to_list(struct page
__dec_lruvec_page_state(head, NR_FILE_THPS);
}
- __split_huge_page(page, list, end, flags);
+ __split_huge_page(page, list, end);
ret = 0;
} else {
if (IS_ENABLED(CONFIG_DEBUG_VM) && mapcount) {
but that __dec_lruvec_page_state() conversion was done by your
previous commit series.
So I have the feeling that what you actually mean by "base" isn't
actually really the base for that series at all..
I will try to apply it on top of my merge of your previous series instead.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 22:48 ` incoming Linus Torvalds
@ 2020-12-15 22:49 ` Linus Torvalds
2020-12-15 22:55 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-12-15 22:49 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-MM, mm-commits
On Tue, Dec 15, 2020 at 2:48 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> I will try to apply it on top of my merge of your previous series instead.
Yes, then it applies cleanly. So apparently we just have different
concepts of what really constitutes a "base" for applying your series.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 22:49 ` incoming Linus Torvalds
@ 2020-12-15 22:55 ` Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-15 22:55 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux-MM, mm-commits
On Tue, 15 Dec 2020 14:49:24 -0800 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, Dec 15, 2020 at 2:48 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > I will try to apply it on top of my merge of your previous series instead.
>
> Yes, then it applies cleanly. So apparently we just have different
> concepts of what really constitutes a "base" for applying your series.
>
oop, sorry, yes, the "based on" thing was wrong because I had two
series in flight simultaneously. I've never tried that before..
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-15 3:02 Andrew Morton
2020-12-15 3:25 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-12-15 3:02 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- a few random little subsystems
- almost all of the MM patches which are staged ahead of linux-next
material. I'll trickle to post-linux-next work in as the dependents
get merged up.
200 patches, based on 2c85ebc57b3e1817b6ce1a6b703928e113a90442.
Subsystems affected by this patch series:
kthread
kbuild
ide
ntfs
ocfs2
arch
mm/slab-generic
mm/slab
mm/slub
mm/dax
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/shmem
mm/memcg
mm/pagemap
mm/mremap
mm/hmm
mm/vmalloc
mm/documentation
mm/kasan
mm/pagealloc
mm/memory-failure
mm/hugetlb
mm/vmscan
mm/z3fold
mm/compaction
mm/oom-kill
mm/migration
mm/cma
mm/page-poison
mm/userfaultfd
mm/zswap
mm/zsmalloc
mm/uaccess
mm/zram
mm/cleanups
Subsystem: kthread
Rob Clark <robdclark@chromium.org>:
kthread: add kthread_work tracepoints
Petr Mladek <pmladek@suse.com>:
kthread_worker: document CPU hotplug handling
Subsystem: kbuild
Petr Vorel <petr.vorel@gmail.com>:
uapi: move constants from <linux/kernel.h> to <linux/const.h>
Subsystem: ide
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
ide/falcon: remove in_interrupt() usage
ide: remove BUG_ON(in_interrupt() || irqs_disabled()) from ide_unregister()
Subsystem: ntfs
Alex Shi <alex.shi@linux.alibaba.com>:
fs/ntfs: remove unused varibles
fs/ntfs: remove unused variable attr_len
Subsystem: ocfs2
Tom Rix <trix@redhat.com>:
fs/ocfs2/cluster/tcp.c: remove unneeded break
Mauricio Faria de Oliveira <mfo@canonical.com>:
ocfs2: ratelimit the 'max lookup times reached' notice
Subsystem: arch
Colin Ian King <colin.king@canonical.com>:
arch/Kconfig: fix spelling mistakes
Subsystem: mm/slab-generic
Hui Su <sh_def@163.com>:
mm/slab_common.c: use list_for_each_entry in dump_unreclaimable_slab()
Bartosz Golaszewski <bgolaszewski@baylibre.com>:
Patch series "slab: provide and use krealloc_array()", v3:
mm: slab: clarify krealloc()'s behavior with __GFP_ZERO
mm: slab: provide krealloc_array()
ALSA: pcm: use krealloc_array()
vhost: vringh: use krealloc_array()
pinctrl: use krealloc_array()
edac: ghes: use krealloc_array()
drm: atomic: use krealloc_array()
hwtracing: intel: use krealloc_array()
dma-buf: use krealloc_array()
Vlastimil Babka <vbabka@suse.cz>:
mm, slab, slub: clear the slab_cache field when freeing page
Subsystem: mm/slab
Alexander Popov <alex.popov@linux.com>:
mm/slab: rerform init_on_free earlier
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: use kmem_cache_debug_flags() in deactivate_slab()
Bharata B Rao <bharata@linux.ibm.com>:
mm/slub: let number of online CPUs determine the slub page order
Subsystem: mm/dax
Dan Williams <dan.j.williams@intel.com>:
device-dax/kmem: use struct_size()
Subsystem: mm/debug
Zhenhua Huang <zhenhuah@codeaurora.org>:
mm: fix page_owner initializing issue for arm32
Liam Mark <lmark@codeaurora.org>:
mm/page_owner: record timestamp and pid
Subsystem: mm/pagecache
Kent Overstreet <kent.overstreet@gmail.com>:
Patch series "generic_file_buffered_read() improvements", v2:
mm/filemap/c: break generic_file_buffered_read up into multiple functions
mm/filemap.c: generic_file_buffered_read() now uses find_get_pages_contig
Alex Shi <alex.shi@linux.alibaba.com>:
mm/truncate: add parameter explanation for invalidate_mapping_pagevec
Hailong Liu <carver4lio@163.com>:
mm/filemap.c: remove else after a return
Subsystem: mm/gup
John Hubbard <jhubbard@nvidia.com>:
Patch series "selftests/vm: gup_test, hmm-tests, assorted improvements", v3:
mm/gup_benchmark: rename to mm/gup_test
selftests/vm: use a common gup_test.h
selftests/vm: rename run_vmtests --> run_vmtests.sh
selftests/vm: minor cleanup: Makefile and gup_test.c
selftests/vm: only some gup_test items are really benchmarks
selftests/vm: gup_test: introduce the dump_pages() sub-test
selftests/vm: run_vmtests.sh: update and clean up gup_test invocation
selftests/vm: hmm-tests: remove the libhugetlbfs dependency
selftests/vm: 2x speedup for run_vmtests.sh
Barry Song <song.bao.hua@hisilicon.com>:
mm/gup_test.c: mark gup_test_init as __init function
mm/gup_test: GUP_TEST depends on DEBUG_FS
Jason Gunthorpe <jgg@nvidia.com>:
Patch series "Add a seqcount between gup_fast and copy_page_range()", v4:
mm/gup: reorganize internal_get_user_pages_fast()
mm/gup: prevent gup_fast from racing with COW during fork
mm/gup: remove the vma allocation from gup_longterm_locked()
mm/gup: combine put_compound_head() and unpin_user_page()
Subsystem: mm/swap
Ralph Campbell <rcampbell@nvidia.com>:
mm: handle zone device pages in release_pages()
Miaohe Lin <linmiaohe@huawei.com>:
mm/swapfile.c: use helper function swap_count() in add_swap_count_continuation()
mm/swap_state: skip meaningless swap cache readahead when ra_info.win == 0
mm/swapfile.c: remove unnecessary out label in __swap_duplicate()
mm/swapfile.c: use memset to fill the swap_map with SWAP_HAS_CACHE
Jeff Layton <jlayton@kernel.org>:
mm: remove pagevec_lookup_range_nr_tag()
Subsystem: mm/shmem
Hui Su <sh_def@163.com>:
mm/shmem.c: make shmem_mapping() inline
Randy Dunlap <rdunlap@infradead.org>:
tmpfs: fix Documentation nits
Subsystem: mm/memcg
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: add file_thp, shmem_thp to memory.stat
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: remove unused mod_memcg_obj_state()
Miaohe Lin <linmiaohe@huawei.com>:
mm: memcontrol: eliminate redundant check in __mem_cgroup_insert_exceeded()
Muchun Song <songmuchun@bytedance.com>:
mm: memcg/slab: fix return of child memcg objcg for root memcg
mm: memcg/slab: fix use after free in obj_cgroup_charge
Shakeel Butt <shakeelb@google.com>:
mm/rmap: always do TTU_IGNORE_ACCESS
Alex Shi <alex.shi@linux.alibaba.com>:
mm/memcg: update page struct member in comments
Roman Gushchin <guro@fb.com>:
mm: memcg: fix obsolete code comments
Patch series "mm: memcg: deprecate cgroup v1 non-hierarchical mode", v1:
mm: memcg: deprecate the non-hierarchical mode
docs: cgroup-v1: reflect the deprecation of the non-hierarchical mode
cgroup: remove obsoleted broken_hierarchy and warned_broken_hierarchy
Hui Su <sh_def@163.com>:
mm/page_counter: use page_counter_read in page_counter_set_max
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
mm: memcg: remove obsolete memcg_has_children()
Muchun Song <songmuchun@bytedance.com>:
mm: memcg/slab: rename *_lruvec_slab_state to *_lruvec_kmem_state
Kaixu Xia <kaixuxia@tencent.com>:
mm: memcontrol: sssign boolean values to a bool variable
Alex Shi <alex.shi@linux.alibaba.com>:
mm/memcg: remove incorrect comment
Shakeel Butt <shakeelb@google.com>:
Patch series "memcg: add pagetable comsumption to memory.stat", v2:
mm: move lruvec stats update functions to vmstat.h
mm: memcontrol: account pagetables per node
Subsystem: mm/pagemap
Dan Williams <dan.j.williams@intel.com>:
xen/unpopulated-alloc: consolidate pgmap manipulation
Kalesh Singh <kaleshsingh@google.com>:
Patch series "Speed up mremap on large regions", v4:
kselftests: vm: add mremap tests
mm: speedup mremap on 1GB or larger regions
arm64: mremap speedup - enable HAVE_MOVE_PUD
x86: mremap speedup - Enable HAVE_MOVE_PUD
John Hubbard <jhubbard@nvidia.com>:
mm: cleanup: remove unused tsk arg from __access_remote_vm
Alex Shi <alex.shi@linux.alibaba.com>:
mm/mapping_dirty_helpers: enhance the kernel-doc markups
mm/page_vma_mapped.c: add colon to fix kernel-doc markups error for check_pte
Axel Rasmussen <axelrasmussen@google.com>:
mm: mmap_lock: add tracepoints around lock acquisition
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
sparc: fix handling of page table constructor failure
mm: move free_unref_page to mm/internal.h
Subsystem: mm/mremap
Dmitry Safonov <dima@arista.com>:
Patch series "mremap: move_vma() fixes":
mm/mremap: account memory on do_munmap() failure
mm/mremap: for MREMAP_DONTUNMAP check security_vm_enough_memory_mm()
mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio
vm_ops: rename .split() callback to .may_split()
mremap: check if it's possible to split original vma
mm: forbid splitting special mappings
Subsystem: mm/hmm
Daniel Vetter <daniel.vetter@ffwll.ch>:
mm: track mmu notifiers in fs_reclaim_acquire/release
mm: extract might_alloc() debug check
locking/selftests: add testcases for fs_reclaim
Subsystem: mm/vmalloc
Andrew Morton <akpm@linux-foundation.org>:
mm/vmalloc.c:__vmalloc_area_node(): avoid 32-bit overflow
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: use free_vm_area() if an allocation fails
mm/vmalloc: rework the drain logic
Alex Shi <alex.shi@linux.alibaba.com>:
mm/vmalloc: add 'align' parameter explanation for pvm_determine_end_from_reverse
Baolin Wang <baolin.wang@linux.alibaba.com>:
mm/vmalloc.c: remove unnecessary return statement
Waiman Long <longman@redhat.com>:
mm/vmalloc: Fix unlock order in s_stop()
Subsystem: mm/documentation
Alex Shi <alex.shi@linux.alibaba.com>:
docs/vm: remove unused 3 items explanation for /proc/vmstat
Subsystem: mm/kasan
Vincenzo Frascino <vincenzo.frascino@arm.com>:
mm/vmalloc.c: fix kasan shadow poisoning size
Walter Wu <walter-zh.wu@mediatek.com>:
Patch series "kasan: add workqueue stack for generic KASAN", v5:
workqueue: kasan: record workqueue stack
kasan: print workqueue stack
lib/test_kasan.c: add workqueue test case
kasan: update documentation for generic kasan
Marco Elver <elver@google.com>:
lkdtm: disable KASAN for rodata.o
Subsystem: mm/pagealloc
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "arch, mm: deprecate DISCONTIGMEM", v2:
alpha: switch from DISCONTIGMEM to SPARSEMEM
ia64: remove custom __early_pfn_to_nid()
ia64: remove 'ifdef CONFIG_ZONE_DMA32' statements
ia64: discontig: paging_init(): remove local max_pfn calculation
ia64: split virtual map initialization out of paging_init()
ia64: forbid using VIRTUAL_MEM_MAP with FLATMEM
ia64: make SPARSEMEM default and disable DISCONTIGMEM
arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL
arm, arm64: move free_unused_memmap() to generic mm
arc: use FLATMEM with freeing of unused memory map instead of DISCONTIGMEM
m68k/mm: make node data and node setup depend on CONFIG_DISCONTIGMEM
m68k/mm: enable use of generic memory_model.h for !DISCONTIGMEM
m68k: deprecate DISCONTIGMEM
Patch series "arch, mm: improve robustness of direct map manipulation", v7:
mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
PM: hibernate: make direct map manipulations more explicit
arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
arch, mm: make kernel_page_present() always available
Vlastimil Babka <vbabka@suse.cz>:
Patch series "disable pcplists during memory offline", v3:
mm, page_alloc: clean up pageset high and batch update
mm, page_alloc: calculate pageset high and batch once per zone
mm, page_alloc: remove setup_pageset()
mm, page_alloc: simplify pageset_update()
mm, page_alloc: cache pageset high and batch in struct zone
mm, page_alloc: move draining pcplists to page isolation users
mm, page_alloc: disable pcplists during memory offline
Miaohe Lin <linmiaohe@huawei.com>:
include/linux/page-flags.h: remove unused __[Set|Clear]PagePrivate
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/page-flags: fix comment
mm/page_alloc: add __free_pages() documentation
Zou Wei <zou_wei@huawei.com>:
mm/page_alloc: mark some symbols with static keyword
David Hildenbrand <david@redhat.com>:
mm/page_alloc: clear all pages in post_alloc_hook() with init_on_alloc=1
Lin Feng <linf@wangsu.com>:
init/main: fix broken buffer_init when DEFERRED_STRUCT_PAGE_INIT set
Lorenzo Stoakes <lstoakes@gmail.com>:
mm: page_alloc: refactor setup_per_zone_lowmem_reserve()
Muchun Song <songmuchun@bytedance.com>:
mm/page_alloc: speed up the iteration of max_order
Subsystem: mm/memory-failure
Oscar Salvador <osalvador@suse.de>:
Patch series "HWpoison: further fixes and cleanups", v5:
mm,hwpoison: drain pcplists before bailing out for non-buddy zero-refcount page
mm,hwpoison: take free pages off the buddy freelists
mm,hwpoison: drop unneeded pcplist draining
Patch series "HWPoison: Refactor get page interface", v2:
mm,hwpoison: refactor get_any_page
mm,hwpoison: disable pcplists before grabbing a refcount
mm,hwpoison: remove drain_all_pages from shake_page
mm,memory_failure: always pin the page in madvise_inject_error
mm,hwpoison: return -EBUSY when migration fails
Subsystem: mm/hugetlb
Hui Su <sh_def@163.com>:
mm/hugetlb.c: just use put_page_testzero() instead of page_count()
Ralph Campbell <rcampbell@nvidia.com>:
include/linux/huge_mm.h: remove extern keyword
Alex Shi <alex.shi@linux.alibaba.com>:
khugepaged: add parameter explanations for kernel-doc markup
Liu Xiang <liu.xiang@zlingsmart.com>:
mm: hugetlb: fix type of delta parameter and related local variables in gather_surplus_pages()
Oscar Salvador <osalvador@suse.de>:
mm,hugetlb: remove unneeded initialization
Dan Carpenter <dan.carpenter@oracle.com>:
hugetlb: fix an error code in hugetlb_reserve_pages()
Subsystem: mm/vmscan
Johannes Weiner <hannes@cmpxchg.org>:
mm: don't wake kswapd prematurely when watermark boosting is disabled
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
mm/vmscan: drop unneeded assignment in kswapd()
"logic.yu" <hymmsx.yu@gmail.com>:
mm/vmscan.c: remove the filename in the top of file comment
Muchun Song <songmuchun@bytedance.com>:
mm/page_isolation: do not isolate the max order page
Subsystem: mm/z3fold
Vitaly Wool <vitaly.wool@konsulko.com>:
Patch series "z3fold: stability / rt fixes":
z3fold: simplify freeing slots
z3fold: stricter locking and more careful reclaim
z3fold: remove preempt disabled sections for RT
Subsystem: mm/compaction
Yanfei Xu <yanfei.xu@windriver.com>:
mm/compaction: rename 'start_pfn' to 'iteration_start_pfn' in compact_zone()
Hui Su <sh_def@163.com>:
mm/compaction: move compaction_suitable's comment to right place
mm/compaction: make defer_compaction and compaction_deferred static
Subsystem: mm/oom-kill
Hui Su <sh_def@163.com>:
mm/oom_kill: change comment and rename is_dump_unreclaim_slabs()
Subsystem: mm/migration
Long Li <lonuxli.64@gmail.com>:
mm/migrate.c: fix comment spelling
Ralph Campbell <rcampbell@nvidia.com>:
mm/migrate.c: optimize migrate_vma_pages() mmu notifier
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: support THPs in zero_user_segments
Yang Shi <shy828301@gmail.com>:
Patch series "mm: misc migrate cleanup and improvement", v3:
mm: truncate_complete_page() does not exist any more
mm: migrate: simplify the logic for handling permanent failure
mm: migrate: skip shared exec THP for NUMA balancing
mm: migrate: clean up migrate_prep{_local}
mm: migrate: return -ENOSYS if THP migration is unsupported
Stephen Zhang <starzhangzsd@gmail.com>:
mm: migrate: remove unused parameter in migrate_vma_insert_page()
Subsystem: mm/cma
Lecopzer Chen <lecopzer.chen@mediatek.com>:
mm/cma.c: remove redundant cma_mutex lock
Charan Teja Reddy <charante@codeaurora.org>:
mm: cma: improve pr_debug log in cma_release()
Subsystem: mm/page-poison
Vlastimil Babka <vbabka@suse.cz>:
Patch series "cleanup page poisoning", v3:
mm, page_alloc: do not rely on the order of page_poison and init_on_alloc/free parameters
mm, page_poison: use static key more efficiently
kernel/power: allow hibernation with page_poison sanity checking
mm, page_poison: remove CONFIG_PAGE_POISONING_NO_SANITY
mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO
Subsystem: mm/userfaultfd
Lokesh Gidra <lokeshgidra@google.com>:
Patch series "Control over userfaultfd kernel-fault handling", v6:
userfaultfd: add UFFD_USER_MODE_ONLY
userfaultfd: add user-mode only option to unprivileged_userfaultfd sysctl knob
Axel Rasmussen <axelrasmussen@google.com>:
userfaultfd: selftests: make __{s,u}64 format specifiers portable
Peter Xu <peterx@redhat.com>:
Patch series "userfaultfd: selftests: Small fixes":
userfaultfd/selftests: always dump something in modes
userfaultfd/selftests: fix retval check for userfaultfd_open()
userfaultfd/selftests: hint the test runner on required privilege
Subsystem: mm/zswap
Joe Perches <joe@perches.com>:
mm/zswap: make struct kernel_param_ops definitions const
YueHaibing <yuehaibing@huawei.com>:
mm/zswap: fix passing zero to 'PTR_ERR' warning
Barry Song <song.bao.hua@hisilicon.com>:
mm/zswap: move to use crypto_acomp API for hardware acceleration
Subsystem: mm/zsmalloc
Miaohe Lin <linmiaohe@huawei.com>:
mm/zsmalloc.c: rework the list_add code in insert_zspage()
Subsystem: mm/uaccess
Colin Ian King <colin.king@canonical.com>:
mm/process_vm_access: remove redundant initialization of iov_r
Subsystem: mm/zram
Minchan Kim <minchan@kernel.org>:
zram: support page writeback
zram: add stat to gather incompressible pages since zram set up
Rui Salvaterra <rsalvaterra@gmail.com>:
zram: break the strict dependency from lzo
Subsystem: mm/cleanups
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>:
mm: fix kernel-doc markups
Joe Perches <joe@perches.com>:
Patch series "mm: Convert sysfs sprintf family to sysfs_emit", v2:
mm: use sysfs_emit for struct kobject * uses
mm: huge_memory: convert remaining use of sprintf to sysfs_emit and neatening
mm:backing-dev: use sysfs_emit in macro defining functions
mm: shmem: convert shmem_enabled_show to use sysfs_emit_at
mm: slub: convert sysfs sprintf family to sysfs_emit/sysfs_emit_at
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
mm: fix fall-through warnings for Clang
Alexey Dobriyan <adobriyan@gmail.com>:
mm: cleanup kstrto*() usage
/mmap_lock.h | 107 ++
a/Documentation/admin-guide/blockdev/zram.rst | 6
a/Documentation/admin-guide/cgroup-v1/memcg_test.rst | 8
a/Documentation/admin-guide/cgroup-v1/memory.rst | 42
a/Documentation/admin-guide/cgroup-v2.rst | 11
a/Documentation/admin-guide/mm/transhuge.rst | 15
a/Documentation/admin-guide/sysctl/vm.rst | 15
a/Documentation/core-api/memory-allocation.rst | 4
a/Documentation/core-api/pin_user_pages.rst | 8
a/Documentation/dev-tools/kasan.rst | 5
a/Documentation/filesystems/tmpfs.rst | 8
a/Documentation/vm/memory-model.rst | 3
a/Documentation/vm/page_owner.rst | 12
a/arch/Kconfig | 21
a/arch/alpha/Kconfig | 8
a/arch/alpha/include/asm/mmzone.h | 14
a/arch/alpha/include/asm/page.h | 7
a/arch/alpha/include/asm/pgtable.h | 12
a/arch/alpha/include/asm/sparsemem.h | 18
a/arch/alpha/kernel/setup.c | 1
a/arch/arc/Kconfig | 3
a/arch/arc/include/asm/page.h | 20
a/arch/arc/mm/init.c | 29
a/arch/arm/Kconfig | 12
a/arch/arm/kernel/vdso.c | 9
a/arch/arm/mach-bcm/Kconfig | 1
a/arch/arm/mach-davinci/Kconfig | 1
a/arch/arm/mach-exynos/Kconfig | 1
a/arch/arm/mach-highbank/Kconfig | 1
a/arch/arm/mach-omap2/Kconfig | 1
a/arch/arm/mach-s5pv210/Kconfig | 1
a/arch/arm/mach-tango/Kconfig | 1
a/arch/arm/mm/init.c | 78 -
a/arch/arm64/Kconfig | 9
a/arch/arm64/include/asm/cacheflush.h | 1
a/arch/arm64/include/asm/pgtable.h | 1
a/arch/arm64/kernel/vdso.c | 41
a/arch/arm64/mm/init.c | 68 -
a/arch/arm64/mm/pageattr.c | 12
a/arch/ia64/Kconfig | 11
a/arch/ia64/include/asm/meminit.h | 2
a/arch/ia64/mm/contig.c | 88 --
a/arch/ia64/mm/discontig.c | 44 -
a/arch/ia64/mm/init.c | 14
a/arch/ia64/mm/numa.c | 30
a/arch/m68k/Kconfig.cpu | 31
a/arch/m68k/include/asm/page.h | 2
a/arch/m68k/include/asm/page_mm.h | 7
a/arch/m68k/include/asm/virtconvert.h | 7
a/arch/m68k/mm/init.c | 10
a/arch/mips/vdso/genvdso.c | 4
a/arch/nds32/mm/mm-nds32.c | 6
a/arch/powerpc/Kconfig | 5
a/arch/riscv/Kconfig | 4
a/arch/riscv/include/asm/pgtable.h | 2
a/arch/riscv/include/asm/set_memory.h | 1
a/arch/riscv/mm/pageattr.c | 31
a/arch/s390/Kconfig | 4
a/arch/s390/configs/debug_defconfig | 2
a/arch/s390/configs/defconfig | 2
a/arch/s390/kernel/vdso.c | 11
a/arch/sparc/Kconfig | 4
a/arch/sparc/mm/init_64.c | 2
a/arch/x86/Kconfig | 5
a/arch/x86/entry/vdso/vma.c | 17
a/arch/x86/include/asm/set_memory.h | 1
a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2
a/arch/x86/kernel/tboot.c | 1
a/arch/x86/mm/pat/set_memory.c | 6
a/drivers/base/node.c | 2
a/drivers/block/zram/Kconfig | 42
a/drivers/block/zram/zcomp.c | 2
a/drivers/block/zram/zram_drv.c | 29
a/drivers/block/zram/zram_drv.h | 1
a/drivers/dax/device.c | 4
a/drivers/dax/kmem.c | 2
a/drivers/dma-buf/sync_file.c | 3
a/drivers/edac/ghes_edac.c | 4
a/drivers/firmware/efi/efi.c | 1
a/drivers/gpu/drm/drm_atomic.c | 3
a/drivers/hwtracing/intel_th/msu.c | 2
a/drivers/ide/falconide.c | 2
a/drivers/ide/ide-probe.c | 3
a/drivers/misc/lkdtm/Makefile | 1
a/drivers/pinctrl/pinctrl-utils.c | 2
a/drivers/vhost/vringh.c | 3
a/drivers/virtio/virtio_balloon.c | 6
a/drivers/xen/unpopulated-alloc.c | 14
a/fs/aio.c | 5
a/fs/ntfs/file.c | 5
a/fs/ntfs/inode.c | 2
a/fs/ntfs/logfile.c | 3
a/fs/ocfs2/cluster/tcp.c | 1
a/fs/ocfs2/namei.c | 4
a/fs/proc/kcore.c | 2
a/fs/proc/meminfo.c | 2
a/fs/userfaultfd.c | 20
a/include/linux/cgroup-defs.h | 15
a/include/linux/compaction.h | 12
a/include/linux/fs.h | 2
a/include/linux/gfp.h | 2
a/include/linux/highmem.h | 19
a/include/linux/huge_mm.h | 93 --
a/include/linux/memcontrol.h | 148 ---
a/include/linux/migrate.h | 4
a/include/linux/mm.h | 118 +-
a/include/linux/mm_types.h | 8
a/include/linux/mmap_lock.h | 94 ++
a/include/linux/mmzone.h | 50 -
a/include/linux/page-flags.h | 6
a/include/linux/page_ext.h | 8
a/include/linux/pagevec.h | 3
a/include/linux/poison.h | 4
a/include/linux/rmap.h | 1
a/include/linux/sched/mm.h | 16
a/include/linux/set_memory.h | 5
a/include/linux/shmem_fs.h | 6
a/include/linux/slab.h | 18
a/include/linux/vmalloc.h | 8
a/include/linux/vmstat.h | 104 ++
a/include/trace/events/sched.h | 84 +
a/include/uapi/linux/const.h | 5
a/include/uapi/linux/ethtool.h | 2
a/include/uapi/linux/kernel.h | 9
a/include/uapi/linux/lightnvm.h | 2
a/include/uapi/linux/mroute6.h | 2
a/include/uapi/linux/netfilter/x_tables.h | 2
a/include/uapi/linux/netlink.h | 2
a/include/uapi/linux/sysctl.h | 2
a/include/uapi/linux/userfaultfd.h | 9
a/init/main.c | 6
a/ipc/shm.c | 8
a/kernel/cgroup/cgroup.c | 12
a/kernel/fork.c | 3
a/kernel/kthread.c | 29
a/kernel/power/hibernate.c | 2
a/kernel/power/power.h | 2
a/kernel/power/snapshot.c | 52 +
a/kernel/ptrace.c | 2
a/kernel/workqueue.c | 3
a/lib/locking-selftest.c | 47 +
a/lib/test_kasan_module.c | 29
a/mm/Kconfig | 25
a/mm/Kconfig.debug | 28
a/mm/Makefile | 4
a/mm/backing-dev.c | 8
a/mm/cma.c | 6
a/mm/compaction.c | 29
a/mm/filemap.c | 823 ++++++++++---------
a/mm/gup.c | 329 ++-----
a/mm/gup_benchmark.c | 210 ----
a/mm/gup_test.c | 299 ++++++
a/mm/gup_test.h | 40
a/mm/highmem.c | 52 +
a/mm/huge_memory.c | 86 +
a/mm/hugetlb.c | 28
a/mm/init-mm.c | 1
a/mm/internal.h | 5
a/mm/kasan/generic.c | 3
a/mm/kasan/report.c | 4
a/mm/khugepaged.c | 58 -
a/mm/ksm.c | 50 -
a/mm/madvise.c | 14
a/mm/mapping_dirty_helpers.c | 6
a/mm/memblock.c | 80 +
a/mm/memcontrol.c | 170 +--
a/mm/memory-failure.c | 322 +++----
a/mm/memory.c | 24
a/mm/memory_hotplug.c | 44 -
a/mm/mempolicy.c | 8
a/mm/migrate.c | 183 ++--
a/mm/mm_init.c | 1
a/mm/mmap.c | 22
a/mm/mmap_lock.c | 230 +++++
a/mm/mmu_notifier.c | 7
a/mm/mmzone.c | 14
a/mm/mremap.c | 282 ++++--
a/mm/nommu.c | 8
a/mm/oom_kill.c | 14
a/mm/page_alloc.c | 517 ++++++-----
a/mm/page_counter.c | 4
a/mm/page_ext.c | 10
a/mm/page_isolation.c | 18
a/mm/page_owner.c | 17
a/mm/page_poison.c | 56 -
a/mm/page_vma_mapped.c | 9
a/mm/process_vm_access.c | 2
a/mm/rmap.c | 9
a/mm/shmem.c | 39
a/mm/slab.c | 10
a/mm/slab.h | 9
a/mm/slab_common.c | 10
a/mm/slob.c | 6
a/mm/slub.c | 156 +--
a/mm/swap.c | 12
a/mm/swap_state.c | 7
a/mm/swapfile.c | 14
a/mm/truncate.c | 18
a/mm/vmalloc.c | 105 +-
a/mm/vmscan.c | 21
a/mm/vmstat.c | 6
a/mm/workingset.c | 8
a/mm/z3fold.c | 215 ++--
a/mm/zsmalloc.c | 11
a/mm/zswap.c | 193 +++-
a/sound/core/pcm_lib.c | 4
a/tools/include/linux/poison.h | 6
a/tools/testing/selftests/vm/.gitignore | 4
a/tools/testing/selftests/vm/Makefile | 41
a/tools/testing/selftests/vm/check_config.sh | 31
a/tools/testing/selftests/vm/config | 2
a/tools/testing/selftests/vm/gup_benchmark.c | 143 ---
a/tools/testing/selftests/vm/gup_test.c | 258 +++++
a/tools/testing/selftests/vm/hmm-tests.c | 10
a/tools/testing/selftests/vm/mremap_test.c | 344 +++++++
a/tools/testing/selftests/vm/run_vmtests | 51 -
a/tools/testing/selftests/vm/userfaultfd.c | 94 --
217 files changed, 4817 insertions(+), 3369 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 3:02 incoming Andrew Morton
@ 2020-12-15 3:25 ` Linus Torvalds
2020-12-15 3:30 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-12-15 3:25 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: mm-commits, Linux-MM
On Mon, Dec 14, 2020 at 7:02 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 200 patches, based on 2c85ebc57b3e1817b6ce1a6b703928e113a90442.
I haven't actually processed the patches yet, but I have a question
for Konstantin wrt b4.
All the patches except for _one_ get a nice little green check-mark
next to them when I use 'git am' on this series.
The one that did not was [patch 192/200].
I have no idea why - and it doesn't matter a lot to me, it just stood
out as being different. I'm assuming Andrew has started doing patch
attestation, and that patch failed. But if so, maybe Konstantin wants
to know what went wrong.
Konstantin?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 3:25 ` incoming Linus Torvalds
@ 2020-12-15 3:30 ` Linus Torvalds
2020-12-15 14:04 ` incoming Konstantin Ryabitsev
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-12-15 3:30 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: mm-commits, Linux-MM
On Mon, Dec 14, 2020 at 7:25 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> All the patches except for _one_ get a nice little green check-mark
> next to them when I use 'git am' on this series.
>
> The one that did not was [patch 192/200].
>
> I have no idea why
Hmm. It looks like that patch is the only one in the series with the
">From" marker in the commit message, from the silly "clarify that
this isn't the first line in a new message in mbox format".
And "b4 am" has turned the single ">" into two, making the stupid
marker worse, and actually corrupting the end result.
Coincidence? Or cause?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-12-15 3:30 ` incoming Linus Torvalds
@ 2020-12-15 14:04 ` Konstantin Ryabitsev
0 siblings, 0 replies; 325+ messages in thread
From: Konstantin Ryabitsev @ 2020-12-15 14:04 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, mm-commits, Linux-MM
On Mon, Dec 14, 2020 at 07:30:54PM -0800, Linus Torvalds wrote:
> > All the patches except for _one_ get a nice little green check-mark
> > next to them when I use 'git am' on this series.
> >
> > The one that did not was [patch 192/200].
> >
> > I have no idea why
>
> Hmm. It looks like that patch is the only one in the series with the
> ">From" marker in the commit message, from the silly "clarify that
> this isn't the first line in a new message in mbox format".
>
> And "b4 am" has turned the single ">" into two, making the stupid
> marker worse, and actually corrupting the end result.
It's a bug in b4 that I overlooked. Public-inbox emits mboxrd-formatted
.mbox files, while Python's mailbox.mbox consumes mboxo only. The main
distinction between the two is precisely that mboxrd will convert
">From " into ">>From " in an attempt to avoid corruption during
escape/unescape (it didn't end up fixing the problem 100% and mostly
introduced incompatibilities like this one).
I have a fix in master/stable-0.6.y and I'll release a 0.6.2 before the
end of the week.
Thanks for the report.
-K
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-11 21:35 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-11 21:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
8 patches, based on 33dc9614dc208291d0c4bcdeb5d30d481dcd2c4c.
Subsystems affected by this patch series:
mm/pagecache
proc
selftests
kbuild
mm/kasan
mm/hugetlb
Subsystem: mm/pagecache
Andrew Morton <akpm@linux-foundation.org>:
revert "mm/filemap: add static for function __add_to_page_cache_locked"
Subsystem: proc
Miles Chen <miles.chen@mediatek.com>:
proc: use untagged_addr() for pagemap_read addresses
Subsystem: selftests
Arnd Bergmann <arnd@arndb.de>:
selftest/fpu: avoid clang warning
Subsystem: kbuild
Arnd Bergmann <arnd@arndb.de>:
kbuild: avoid static_assert for genksyms
initramfs: fix clang build failure
elfcore: fix building with clang
Subsystem: mm/kasan
Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>:
kasan: fix object remaining in offline per-cpu quarantine
Subsystem: mm/hugetlb
Gerald Schaefer <gerald.schaefer@linux.ibm.com>:
mm/hugetlb: clear compound_nr before freeing gigantic pages
fs/proc/task_mmu.c | 8 ++++++--
include/linux/build_bug.h | 5 +++++
include/linux/elfcore.h | 22 ++++++++++++++++++++++
init/initramfs.c | 2 +-
kernel/Makefile | 1 -
kernel/elfcore.c | 26 --------------------------
lib/Makefile | 3 ++-
mm/filemap.c | 2 +-
mm/hugetlb.c | 1 +
mm/kasan/quarantine.c | 39 +++++++++++++++++++++++++++++++++++++++
10 files changed, 77 insertions(+), 32 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-12-06 6:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-12-06 6:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
12 patches, based on 33256ce194110874d4bc90078b577c59f9076c59.
Subsystems affected by this patch series:
lib
coredump
mm/memcg
mm/zsmalloc
mm/swap
mailmap
mm/selftests
mm/pagecache
mm/hugetlb
mm/pagemap
Subsystem: lib
Randy Dunlap <rdunlap@infradead.org>:
zlib: export S390 symbols for zlib modules
Subsystem: coredump
Menglong Dong <dong.menglong@zte.com.cn>:
coredump: fix core_pattern parse error
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: fix obj_cgroup_charge() return value handling
Yang Shi <shy828301@gmail.com>:
mm: list_lru: set shrinker map bit when child nr_items is not zero
Subsystem: mm/zsmalloc
Minchan Kim <minchan@kernel.org>:
mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
Subsystem: mm/swap
Qian Cai <qcai@redhat.com>:
mm/swapfile: do not sleep with a spin lock held
Subsystem: mailmap
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
mailmap: add two more addresses of Uwe Kleine-König
Subsystem: mm/selftests
Xingxing Su <suxingxing@loongson.cn>:
tools/testing/selftests/vm: fix build error
Axel Rasmussen <axelrasmussen@google.com>:
userfaultfd: selftests: fix SIGSEGV if huge mmap fails
Subsystem: mm/pagecache
Alex Shi <alex.shi@linux.alibaba.com>:
mm/filemap: add static for function __add_to_page_cache_locked
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb_cgroup: fix offline of hugetlb cgroup with reservations
Subsystem: mm/pagemap
Liu Zixian <liuzixian4@huawei.com>:
mm/mmap.c: fix mmap return value when vma is merged after call_mmap()
.mailmap | 2 +
arch/arm/configs/omap2plus_defconfig | 1
fs/coredump.c | 3 +
include/linux/zsmalloc.h | 1
lib/zlib_dfltcc/dfltcc_inflate.c | 3 +
mm/Kconfig | 13 -------
mm/filemap.c | 2 -
mm/hugetlb_cgroup.c | 8 +---
mm/list_lru.c | 10 ++---
mm/mmap.c | 26 ++++++--------
mm/slab.h | 40 +++++++++++++---------
mm/swapfile.c | 4 +-
mm/zsmalloc.c | 54 -------------------------------
tools/testing/selftests/vm/Makefile | 4 ++
tools/testing/selftests/vm/userfaultfd.c | 25 +++++++++-----
15 files changed, 75 insertions(+), 121 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-11-22 6:16 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-11-22 6:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
8 patches, based on a349e4c659609fd20e4beea89e5c4a4038e33a95.
Subsystems affected by this patch series:
mm/madvise
kbuild
mm/pagemap
mm/readahead
mm/memcg
mm/userfaultfd
vfs-akpm
mm/madvise
Subsystem: mm/madvise
Eric Dumazet <edumazet@google.com>:
mm/madvise: fix memory leak from process_madvise
Subsystem: kbuild
Nick Desaulniers <ndesaulniers@google.com>:
compiler-clang: remove version check for BPF Tracing
Subsystem: mm/pagemap
Dan Williams <dan.j.williams@intel.com>:
mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports
Subsystem: mm/readahead
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: fix readahead_page_batch for retry entries
Subsystem: mm/memcg
Muchun Song <songmuchun@bytedance.com>:
mm: memcg/slab: fix root memcg vmstats
Subsystem: mm/userfaultfd
Gerald Schaefer <gerald.schaefer@linux.ibm.com>:
mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault()
Subsystem: vfs-akpm
Yicong Yang <yangyicong@hisilicon.com>:
libfs: fix error cast of negative value in simple_attr_write()
Subsystem: mm/madvise
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: fix madvise WILLNEED performance problem
arch/ia64/include/asm/sparsemem.h | 6 ++++++
arch/powerpc/include/asm/mmzone.h | 5 +++++
arch/powerpc/include/asm/sparsemem.h | 5 ++---
arch/powerpc/mm/mem.c | 1 +
arch/x86/include/asm/sparsemem.h | 10 ++++++++++
arch/x86/mm/numa.c | 2 ++
drivers/dax/Kconfig | 1 -
fs/libfs.c | 6 ++++--
include/linux/compiler-clang.h | 2 ++
include/linux/memory_hotplug.h | 14 --------------
include/linux/numa.h | 30 +++++++++++++++++++++++++++++-
include/linux/pagemap.h | 2 ++
mm/huge_memory.c | 9 ++++-----
mm/madvise.c | 4 +---
mm/memcontrol.c | 9 +++++++--
mm/memory_hotplug.c | 18 ------------------
16 files changed, 75 insertions(+), 49 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-11-14 6:51 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-11-14 6:51 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
14 patches, based on 9e6a39eae450b81c8b2c8cbbfbdf8218e9b40c81.
Subsystems affected by this patch series:
mm/migration
mm/vmscan
mailmap
mm/slub
mm/gup
kbuild
reboot
kernel/watchdog
mm/memcg
mm/hugetlbfs
panic
ocfs2
Subsystem: mm/migration
Zi Yan <ziy@nvidia.com>:
mm/compaction: count pages and stop correctly during page isolation
mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate
Subsystem: mm/vmscan
Nicholas Piggin <npiggin@gmail.com>:
mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit
Subsystem: mailmap
Dmitry Baryshkov <dbaryshkov@gmail.com>:
mailmap: fix entry for Dmitry Baryshkov/Eremin-Solenikov
Subsystem: mm/slub
Laurent Dufour <ldufour@linux.ibm.com>:
mm/slub: fix panic in slab_alloc_node()
Subsystem: mm/gup
Jason Gunthorpe <jgg@nvidia.com>:
mm/gup: use unpin_user_pages() in __gup_longterm_locked()
Subsystem: kbuild
Arvind Sankar <nivedita@alum.mit.edu>:
compiler.h: fix barrier_data() on clang
Subsystem: reboot
Matteo Croce <mcroce@microsoft.com>:
Patch series "fix parsing of reboot= cmdline", v3:
Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint"
reboot: fix overflow parsing reboot cpu number
Subsystem: kernel/watchdog
Santosh Sivaraj <santosh@fossix.org>:
kernel/watchdog: fix watchdog_allowed_mask not used warning
Subsystem: mm/memcg
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: fix missing wakeup polling thread
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlbfs: fix anon huge page migration race
Subsystem: panic
Christophe Leroy <christophe.leroy@csgroup.eu>:
panic: don't dump stack twice on warn
Subsystem: ocfs2
Wengang Wang <wen.gang.wang@oracle.com>:
ocfs2: initialize ip_next_orphan
.mailmap | 5 +-
fs/ocfs2/super.c | 1
include/asm-generic/barrier.h | 1
include/linux/compiler-clang.h | 6 --
include/linux/compiler-gcc.h | 19 --------
include/linux/compiler.h | 18 +++++++-
include/linux/memcontrol.h | 11 ++++-
kernel/panic.c | 3 -
kernel/reboot.c | 28 ++++++------
kernel/watchdog.c | 4 -
mm/compaction.c | 12 +++--
mm/gup.c | 14 ++++--
mm/hugetlb.c | 90 ++---------------------------------------
mm/memory-failure.c | 36 +++++++---------
mm/migrate.c | 46 +++++++++++---------
mm/rmap.c | 5 --
mm/slub.c | 2
mm/vmscan.c | 5 +-
18 files changed, 119 insertions(+), 187 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-11-02 1:06 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-11-02 1:06 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
15 patches, based on 3cea11cd5e3b00d91caf0b4730194039b45c5891.
Subsystems affected by this patch series:
mm/memremap
mm/memcg
mm/slab-generic
mm/kasan
mm/mempolicy
signals
lib
mm/pagecache
kthread
mm/oom-kill
mm/pagemap
epoll
core-kernel
Subsystem: mm/memremap
Ralph Campbell <rcampbell@nvidia.com>:
mm/mremap_pages: fix static key devmap_managed_key updates
Subsystem: mm/memcg
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb_cgroup: fix reservation accounting
zhongjiang-ali <zhongjiang-ali@linux.alibaba.com>:
mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg
Roman Gushchin <guro@fb.com>:
mm: memcg: link page counters to root if use_hierarchy is false
Subsystem: mm/slab-generic
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: adopt KUNIT tests to SW_TAGS mode
Subsystem: mm/mempolicy
Shijie Luo <luoshijie1@huawei.com>:
mm: mempolicy: fix potential pte_unmap_unlock pte error
Subsystem: signals
Oleg Nesterov <oleg@redhat.com>:
ptrace: fix task_join_group_stop() for the case when current is traced
Subsystem: lib
Vasily Gorbik <gor@linux.ibm.com>:
lib/crc32test: remove extra local_irq_disable/enable
Subsystem: mm/pagecache
Jason Yan <yanaijie@huawei.com>:
mm/truncate.c: make __invalidate_mapping_pages() static
Subsystem: kthread
Zqiang <qiang.zhang@windriver.com>:
kthread_worker: prevent queuing delayed work from timer_fn when it is being canceled
Subsystem: mm/oom-kill
Charles Haithcock <chaithco@redhat.com>:
mm, oom: keep oom_adj under or at upper limit when printing
Subsystem: mm/pagemap
Jason Gunthorpe <jgg@nvidia.com>:
mm: always have io_remap_pfn_range() set pgprot_decrypted()
Subsystem: epoll
Soheil Hassas Yeganeh <soheil@google.com>:
epoll: check ep_events_available() upon timeout
epoll: add a selftest for epoll timeout race
Subsystem: core-kernel
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
kernel/hung_task.c: make type annotations consistent
fs/eventpoll.c | 16 +
fs/proc/base.c | 2
include/linux/mm.h | 9
include/linux/pgtable.h | 4
kernel/hung_task.c | 3
kernel/kthread.c | 3
kernel/signal.c | 19 -
lib/crc32test.c | 4
lib/test_kasan.c | 149 +++++++---
mm/hugetlb.c | 20 -
mm/memcontrol.c | 25 +
mm/mempolicy.c | 6
mm/memremap.c | 39 +-
mm/truncate.c | 2
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 95 ++++++
15 files changed, 290 insertions(+), 106 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-10-17 23:13 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-10-17 23:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
40 patches, based on 9d9af1007bc08971953ae915d88dc9bb21344b53.
Subsystems affected by this patch series:
ia64
mm/memcg
mm/migration
mm/pagemap
mm/gup
mm/madvise
mm/vmalloc
misc
Subsystem: ia64
Krzysztof Kozlowski <krzk@kernel.org>:
ia64: fix build error with !COREDUMP
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm, memcg: rework remote charging API to support nesting
Patch series "mm: kmem: kernel memory accounting in an interrupt context":
mm: kmem: move memcg_kmem_bypass() calls to get_mem/obj_cgroup_from_current()
mm: kmem: remove redundant checks from get_obj_cgroup_from_current()
mm: kmem: prepare remote memcg charging infra for interrupt contexts
mm: kmem: enable kernel memcg accounting from interrupt contexts
Subsystem: mm/migration
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
mm/memory-failure: remove a wrapper for alloc_migration_target()
mm/memory_hotplug: remove a wrapper for alloc_migration_target()
Miaohe Lin <linmiaohe@huawei.com>:
mm/migrate: avoid possible unnecessary process right check in kernel_move_pages()
Subsystem: mm/pagemap
"Liam R. Howlett" <Liam.Howlett@Oracle.com>:
mm/mmap: add inline vma_next() for readability of mmap code
mm/mmap: add inline munmap_vma_range() for code readability
Subsystem: mm/gup
Jann Horn <jannh@google.com>:
mm/gup_benchmark: take the mmap lock around GUP
binfmt_elf: take the mmap lock around find_extend_vma()
mm/gup: assert that the mmap lock is held in __get_user_pages()
John Hubbard <jhubbard@nvidia.com>:
Patch series "selftests/vm: gup_test, hmm-tests, assorted improvements", v2:
mm/gup_benchmark: rename to mm/gup_test
selftests/vm: use a common gup_test.h
selftests/vm: rename run_vmtests --> run_vmtests.sh
selftests/vm: minor cleanup: Makefile and gup_test.c
selftests/vm: only some gup_test items are really benchmarks
selftests/vm: gup_test: introduce the dump_pages() sub-test
selftests/vm: run_vmtests.sh: update and clean up gup_test invocation
selftests/vm: hmm-tests: remove the libhugetlbfs dependency
selftests/vm: 10x speedup for hmm-tests
Subsystem: mm/madvise
Minchan Kim <minchan@kernel.org>:
Patch series "introduce memory hinting API for external process", v9:
mm/madvise: pass mm to do_madvise
pid: move pidfd_get_pid() to pid.c
mm/madvise: introduce process_madvise() syscall: an external memory hinting API
Subsystem: mm/vmalloc
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "remove alloc_vm_area", v4:
mm: update the documentation for vfree
Christoph Hellwig <hch@lst.de>:
mm: add a VM_MAP_PUT_PAGES flag for vmap
mm: add a vmap_pfn function
mm: allow a NULL fn callback in apply_to_page_range
zsmalloc: switch from alloc_vm_area to get_vm_area
drm/i915: use vmap in shmem_pin_map
drm/i915: stop using kmap in i915_gem_object_map
drm/i915: use vmap in i915_gem_object_map
xen/xenbus: use apply_to_page_range directly in xenbus_map_ring_pv
x86/xen: open code alloc_vm_area in arch_gnttab_valloc
mm: remove alloc_vm_area
Patch series "two small vmalloc cleanups":
mm: cleanup the gfp_mask handling in __vmalloc_area_node
mm: remove the filename in the top of file comment in vmalloc.c
Subsystem: misc
Tian Tao <tiantao6@hisilicon.com>:
mm: remove duplicate include statement in mmu.c
Documentation/core-api/pin_user_pages.rst | 8
arch/alpha/kernel/syscalls/syscall.tbl | 1
arch/arm/mm/mmu.c | 1
arch/arm/tools/syscall.tbl | 1
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 2
arch/ia64/kernel/Makefile | 2
arch/ia64/kernel/syscalls/syscall.tbl | 1
arch/m68k/kernel/syscalls/syscall.tbl | 1
arch/microblaze/kernel/syscalls/syscall.tbl | 1
arch/mips/kernel/syscalls/syscall_n32.tbl | 1
arch/mips/kernel/syscalls/syscall_n64.tbl | 1
arch/mips/kernel/syscalls/syscall_o32.tbl | 1
arch/parisc/kernel/syscalls/syscall.tbl | 1
arch/powerpc/kernel/syscalls/syscall.tbl | 1
arch/s390/configs/debug_defconfig | 2
arch/s390/configs/defconfig | 2
arch/s390/kernel/syscalls/syscall.tbl | 1
arch/sh/kernel/syscalls/syscall.tbl | 1
arch/sparc/kernel/syscalls/syscall.tbl | 1
arch/x86/entry/syscalls/syscall_32.tbl | 1
arch/x86/entry/syscalls/syscall_64.tbl | 1
arch/x86/xen/grant-table.c | 27 +-
arch/xtensa/kernel/syscalls/syscall.tbl | 1
drivers/gpu/drm/i915/Kconfig | 1
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 136 ++++------
drivers/gpu/drm/i915/gt/shmem_utils.c | 78 +-----
drivers/xen/xenbus/xenbus_client.c | 30 +-
fs/binfmt_elf.c | 3
fs/buffer.c | 6
fs/io_uring.c | 2
fs/notify/fanotify/fanotify.c | 5
fs/notify/inotify/inotify_fsnotify.c | 5
include/linux/memcontrol.h | 12
include/linux/mm.h | 2
include/linux/pid.h | 1
include/linux/sched/mm.h | 43 +--
include/linux/syscalls.h | 2
include/linux/vmalloc.h | 7
include/uapi/asm-generic/unistd.h | 4
kernel/exit.c | 19 -
kernel/pid.c | 19 +
kernel/sys_ni.c | 1
mm/Kconfig | 24 +
mm/Makefile | 2
mm/gup.c | 2
mm/gup_benchmark.c | 225 ------------------
mm/gup_test.c | 295 +++++++++++++++++++++--
mm/gup_test.h | 40 ++-
mm/madvise.c | 125 ++++++++--
mm/memcontrol.c | 83 ++++--
mm/memory-failure.c | 18 -
mm/memory.c | 16 -
mm/memory_hotplug.c | 46 +--
mm/migrate.c | 71 +++--
mm/mmap.c | 74 ++++-
mm/nommu.c | 7
mm/percpu.c | 3
mm/slab.h | 3
mm/vmalloc.c | 147 +++++------
mm/zsmalloc.c | 10
tools/testing/selftests/vm/.gitignore | 3
tools/testing/selftests/vm/Makefile | 40 ++-
tools/testing/selftests/vm/check_config.sh | 31 ++
tools/testing/selftests/vm/config | 2
tools/testing/selftests/vm/gup_benchmark.c | 143 -----------
tools/testing/selftests/vm/gup_test.c | 260 ++++++++++++++++++--
tools/testing/selftests/vm/hmm-tests.c | 12
tools/testing/selftests/vm/run_vmtests | 334 --------------------------
tools/testing/selftests/vm/run_vmtests.sh | 350 +++++++++++++++++++++++++++-
70 files changed, 1580 insertions(+), 1224 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-10-16 2:40 Andrew Morton
2020-10-16 3:03 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-10-16 2:40 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- most of the rest of mm/
- various other subsystems
156 patches, based on 578a7155c5a1894a789d4ece181abf9d25dc6b0d.
Subsystems affected by this patch series:
mm/dax
mm/debug
mm/thp
mm/readahead
mm/page-poison
mm/util
mm/memory-hotplug
mm/zram
mm/cleanups
misc
core-kernel
get_maintainer
MAINTAINERS
lib
bitops
checkpatch
binfmt
ramfs
autofs
nilfs
rapidio
panic
relay
kgdb
ubsan
romfs
fault-injection
Subsystem: mm/dax
Dan Williams <dan.j.williams@intel.com>:
device-dax/kmem: fix resource release
Subsystem: mm/debug
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "mm/debug_vm_pgtable fixes", v4:
powerpc/mm: add DEBUG_VM WARN for pmd_clear
powerpc/mm: move setting pte specific flags to pfn_pte
mm/debug_vm_pgtable/ppc64: avoid setting top bits in radom value
mm/debug_vm_pgtables/hugevmap: use the arch helper to identify huge vmap support.
mm/debug_vm_pgtable/savedwrite: enable savedwrite test with CONFIG_NUMA_BALANCING
mm/debug_vm_pgtable/THP: mark the pte entry huge before using set_pmd/pud_at
mm/debug_vm_pgtable/set_pte/pmd/pud: don't use set_*_at to update an existing pte entry
mm/debug_vm_pgtable/locks: move non page table modifying test together
mm/debug_vm_pgtable/locks: take correct page table lock
mm/debug_vm_pgtable/thp: use page table depost/withdraw with THP
mm/debug_vm_pgtable/pmd_clear: don't use pmd/pud_clear on pte entries
mm/debug_vm_pgtable/hugetlb: disable hugetlb test on ppc64
mm/debug_vm_pgtable: avoid none pte in pte_clear_test
mm/debug_vm_pgtable: avoid doing memory allocation with pgtable_t mapped.
Subsystem: mm/thp
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Fix read-only THP for non-tmpfs filesystems":
XArray: add xa_get_order
XArray: add xas_split
mm/filemap: fix storing to a THP shadow entry
Patch series "Remove assumptions of THP size":
mm/filemap: fix page cache removal for arbitrary sized THPs
mm/memory: remove page fault assumption of compound page size
mm/page_owner: change split_page_owner to take a count
"Kirill A. Shutemov" <kirill@shutemov.name>:
mm/huge_memory: fix total_mapcount assumption of page size
mm/huge_memory: fix split assumption of page size
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/huge_memory: fix page_trans_huge_mapcount assumption of THP size
mm/huge_memory: fix can_split_huge_page assumption of THP size
mm/rmap: fix assumptions of THP size
mm/truncate: fix truncation for pages of arbitrary size
mm/page-writeback: support tail pages in wait_for_stable_page
mm/vmscan: allow arbitrary sized pages to be paged out
fs: add a filesystem flag for THPs
fs: do not update nr_thps for mappings which support THPs
Huang Ying <ying.huang@intel.com>:
mm: fix a race during THP splitting
Subsystem: mm/readahead
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Readahead patches for 5.9/5.10":
mm/readahead: add DEFINE_READAHEAD
mm/readahead: make page_cache_ra_unbounded take a readahead_control
mm/readahead: make do_page_cache_ra take a readahead_control
David Howells <dhowells@redhat.com>:
mm/readahead: make ondemand_readahead take a readahead_control
mm/readahead: pass readahead_control to force_page_cache_ra
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/readahead: add page_cache_sync_ra and page_cache_async_ra
David Howells <dhowells@redhat.com>:
mm/filemap: fold ra_submit into do_sync_mmap_readahead
mm/readahead: pass a file_ra_state into force_page_cache_ra
Subsystem: mm/page-poison
Naoya Horiguchi <naoya.horiguchi@nec.com>:
Patch series "HWPOISON: soft offline rework", v7:
mm,hwpoison: cleanup unused PageHuge() check
mm, hwpoison: remove recalculating hpage
mm,hwpoison-inject: don't pin for hwpoison_filter
Oscar Salvador <osalvador@suse.de>:
mm,hwpoison: unexport get_hwpoison_page and make it static
mm,hwpoison: refactor madvise_inject_error
mm,hwpoison: kill put_hwpoison_page
mm,hwpoison: unify THP handling for hard and soft offline
mm,hwpoison: rework soft offline for free pages
mm,hwpoison: rework soft offline for in-use pages
mm,hwpoison: refactor soft_offline_huge_page and __soft_offline_page
mm,hwpoison: return 0 if the page is already poisoned in soft-offline
Naoya Horiguchi <naoya.horiguchi@nec.com>:
mm,hwpoison: introduce MF_MSG_UNSPLIT_THP
mm,hwpoison: double-check page count in __get_any_page()
Oscar Salvador <osalvador@suse.de>:
mm,hwpoison: try to narrow window race for free pages
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/page_poison.c: replace bool variable with static key
Miaohe Lin <linmiaohe@huawei.com>:
mm/vmstat.c: use helper macro abs()
Subsystem: mm/util
Bartosz Golaszewski <bgolaszewski@baylibre.com>:
mm/util.c: update the kerneldoc for kstrdup_const()
Jann Horn <jannh@google.com>:
mm/mmu_notifier: fix mmget() assert in __mmu_interval_notifier_insert
Subsystem: mm/memory-hotplug
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: online_pages()/offline_pages() cleanups", v2:
mm/memory_hotplug: inline __offline_pages() into offline_pages()
mm/memory_hotplug: enforce section granularity when onlining/offlining
mm/memory_hotplug: simplify page offlining
mm/page_alloc: simplify __offline_isolated_pages()
mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages()
mm/page_isolation: simplify return value of start_isolate_page_range()
mm/memory_hotplug: simplify page onlining
mm/page_alloc: drop stale pageblock comment in memmap_init_zone*()
mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone()
mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory
Patch series "selective merging of system ram resources", v4:
kernel/resource: make release_mem_region_adjustable() never fail
kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED
mm/memory_hotplug: guard more declarations by CONFIG_MEMORY_HOTPLUG
mm/memory_hotplug: prepare passing flags to add_memory() and friends
mm/memory_hotplug: MEMHP_MERGE_RESOURCE to specify merging of System RAM resources
virtio-mem: try to merge system ram resources
xen/balloon: try to merge system ram resources
hv_balloon: try to merge system ram resources
kernel/resource: make iomem_resource implicit in release_mem_region_adjustable()
Laurent Dufour <ldufour@linux.ibm.com>:
mm: don't panic when links can't be created in sysfs
David Hildenbrand <david@redhat.com>:
Patch series "mm: place pages to the freelist tail when onlining and undoing isolation", v2:
mm/page_alloc: convert "report" flag of __free_one_page() to a proper flag
mm/page_alloc: place pages to tail in __putback_isolated_page()
mm/page_alloc: move pages to tail in move_to_free_list()
mm/page_alloc: place pages to tail in __free_pages_core()
mm/memory_hotplug: update comment regarding zone shuffling
Subsystem: mm/zram
Douglas Anderson <dianders@chromium.org>:
zram: failing to decompress is WARN_ON worthy
Subsystem: mm/cleanups
YueHaibing <yuehaibing@huawei.com>:
mm/slab.h: remove duplicate include
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/page_reporting.c: drop stale list head check in page_reporting_cycle
Ira Weiny <ira.weiny@intel.com>:
mm/highmem.c: clean up endif comments
Yu Zhao <yuzhao@google.com>:
mm: use self-explanatory macros rather than "2"
Miaohe Lin <linmiaohe@huawei.com>:
mm: fix some broken comments
Chen Tao <chentao3@hotmail.com>:
mm: fix some comments formatting
Xiaofei Tan <tanxiaofei@huawei.com>:
mm/workingset.c: fix some doc warnings
Miaohe Lin <linmiaohe@huawei.com>:
mm: use helper function put_write_access()
Mike Rapoport <rppt@linux.ibm.com>:
include/linux/mmzone.h: remove unused early_pfn_valid()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: rename page_order() to buddy_order()
Subsystem: misc
Randy Dunlap <rdunlap@infradead.org>:
fs: configfs: delete repeated words in comments
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: split out min()/max() et al. helpers
Subsystem: core-kernel
Liao Pingfang <liao.pingfang@zte.com.cn>:
kernel/sys.c: replace do_brk with do_brk_flags in comment of prctl_set_mm_map()
Randy Dunlap <rdunlap@infradead.org>:
kernel/: fix repeated words in comments
kernel: acct.c: fix some kernel-doc nits
Subsystem: get_maintainer
Joe Perches <joe@perches.com>:
get_maintainer: add test for file in VCS
Subsystem: MAINTAINERS
Joe Perches <joe@perches.com>:
get_maintainer: exclude MAINTAINERS file(s) from --git-fallback
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>:
MAINTAINERS: jarkko.sakkinen@linux.intel.com -> jarkko@kernel.org
Subsystem: lib
Randy Dunlap <rdunlap@infradead.org>:
lib: bitmap: delete duplicated words
lib: libcrc32c: delete duplicated words
lib: decompress_bunzip2: delete duplicated words
lib: dynamic_queue_limits: delete duplicated words + fix typo
lib: earlycpio: delete duplicated words
lib: radix-tree: delete duplicated words
lib: syscall: delete duplicated words
lib: test_sysctl: delete duplicated words
lib/mpi/mpi-bit.c: fix spello of "functions"
Stephen Boyd <swboyd@chromium.org>:
lib/idr.c: document calling context for IDA APIs mustn't use locks
lib/idr.c: document that ida_simple_{get,remove}() are deprecated
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
lib/scatterlist.c: avoid a double memset
Miaohe Lin <linmiaohe@huawei.com>:
lib/percpu_counter.c: use helper macro abs()
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
include/linux/list.h: add a macro to test if entry is pointing to the head
Dan Carpenter <dan.carpenter@oracle.com>:
lib/test_hmm.c: fix an error code in dmirror_allocate_chunk()
Tobias Jordan <kernel@cdqe.de>:
lib/crc32.c: fix trivial typo in preprocessor condition
Subsystem: bitops
Wei Yang <richard.weiyang@linux.alibaba.com>:
bitops: simplify get_count_order_long()
bitops: use the same mechanism for get_count_order[_long]
Subsystem: checkpatch
Jerome Forissier <jerome@forissier.org>:
checkpatch: add --kconfig-prefix
Joe Perches <joe@perches.com>:
checkpatch: move repeated word test
checkpatch: add test for comma use that should be semicolon
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
const_structs.checkpatch: add phy_ops
Nicolas Boichat <drinkcat@chromium.org>:
checkpatch: warn if trace_printk and friends are called
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
const_structs.checkpatch: add pinctrl_ops and pinmux_ops
Joe Perches <joe@perches.com>:
checkpatch: warn on self-assignments
checkpatch: allow not using -f with files that are in git
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: extend author Signed-off-by check for split From: header
Joe Perches <joe@perches.com>:
checkpatch: emit a warning on embedded filenames
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: fix multi-statement macro checks for while blocks.
Łukasz Stelmach <l.stelmach@samsung.com>:
checkpatch: fix false positive on empty block comment lines
Dwaipayan Ray <dwaipayanray1@gmail.com>:
checkpatch: add new warnings to author signoff checks.
Subsystem: binfmt
Chris Kennelly <ckennelly@google.com>:
Patch series "Selecting Load Addresses According to p_align", v3:
fs/binfmt_elf: use PT_LOAD p_align values for suitable start address
tools/testing/selftests: add self-test for verifying load alignment
Jann Horn <jannh@google.com>:
Patch series "Fix ELF / FDPIC ELF core dumping, and use mmap_lock properly in there", v5:
binfmt_elf_fdpic: stop using dump_emit() on user pointers on !MMU
coredump: let dump_emit() bail out on short writes
coredump: refactor page range dumping into common helper
coredump: rework elf/elf_fdpic vma_dump_size() into common helper
binfmt_elf, binfmt_elf_fdpic: use a VMA list snapshot
mm/gup: take mmap_lock in get_dump_page()
mm: remove the now-unnecessary mmget_still_valid() hack
Subsystem: ramfs
Matthew Wilcox (Oracle) <willy@infradead.org>:
ramfs: fix nommu mmap with gaps in the page cache
Subsystem: autofs
Matthew Wilcox <willy@infradead.org>:
autofs: harden ioctl table
Subsystem: nilfs
Wang Hai <wanghai38@huawei.com>:
nilfs2: fix some kernel-doc warnings for nilfs2
Subsystem: rapidio
Souptick Joarder <jrdr.linux@gmail.com>:
rapidio: fix error handling path
Jing Xiangfeng <jingxiangfeng@huawei.com>:
rapidio: fix the missed put_device() for rio_mport_add_riodev
Subsystem: panic
Alexey Kardashevskiy <aik@ozlabs.ru>:
panic: dump registers on panic_on_warn
Subsystem: relay
Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
kernel/relay.c: drop unneeded initialization
Subsystem: kgdb
Ritesh Harjani <riteshh@linux.ibm.com>:
scripts/gdb/proc: add struct mount & struct super_block addr in lx-mounts command
scripts/gdb/tasks: add headers and improve spacing format
Subsystem: ubsan
Elena Petrova <lenaptr@google.com>:
sched.h: drop in_ubsan field when UBSAN is in trap mode
George Popescu <georgepope@android.com>:
ubsan: introduce CONFIG_UBSAN_LOCAL_BOUNDS for Clang
Subsystem: romfs
Libing Zhou <libing.zhou@nokia-sbell.com>:
ROMFS: support inode blocks calculation
Subsystem: fault-injection
Albert van der Linde <alinde@google.com>:
Patch series "add fault injection to user memory access", v3:
lib, include/linux: add usercopy failure capability
lib, uaccess: add failure injection to usercopy functions
.mailmap | 1
Documentation/admin-guide/kernel-parameters.txt | 1
Documentation/core-api/xarray.rst | 14
Documentation/fault-injection/fault-injection.rst | 7
MAINTAINERS | 6
arch/ia64/mm/init.c | 4
arch/powerpc/include/asm/book3s/64/pgtable.h | 29 +
arch/powerpc/include/asm/nohash/pgtable.h | 5
arch/powerpc/mm/pgtable.c | 5
arch/powerpc/platforms/powernv/memtrace.c | 2
arch/powerpc/platforms/pseries/hotplug-memory.c | 2
drivers/acpi/acpi_memhotplug.c | 3
drivers/base/memory.c | 3
drivers/base/node.c | 33 +-
drivers/block/zram/zram_drv.c | 2
drivers/dax/kmem.c | 50 ++-
drivers/hv/hv_balloon.c | 4
drivers/infiniband/core/uverbs_main.c | 3
drivers/rapidio/devices/rio_mport_cdev.c | 18 -
drivers/s390/char/sclp_cmd.c | 2
drivers/vfio/pci/vfio_pci.c | 38 +-
drivers/virtio/virtio_mem.c | 5
drivers/xen/balloon.c | 4
fs/autofs/dev-ioctl.c | 8
fs/binfmt_elf.c | 267 +++-------------
fs/binfmt_elf_fdpic.c | 176 ++--------
fs/configfs/dir.c | 2
fs/configfs/file.c | 2
fs/coredump.c | 238 +++++++++++++-
fs/ext4/verity.c | 4
fs/f2fs/verity.c | 4
fs/inode.c | 2
fs/nilfs2/bmap.c | 2
fs/nilfs2/cpfile.c | 6
fs/nilfs2/page.c | 1
fs/nilfs2/sufile.c | 4
fs/proc/task_mmu.c | 18 -
fs/ramfs/file-nommu.c | 2
fs/romfs/super.c | 1
fs/userfaultfd.c | 28 -
include/linux/bitops.h | 13
include/linux/blkdev.h | 1
include/linux/bvec.h | 6
include/linux/coredump.h | 13
include/linux/fault-inject-usercopy.h | 22 +
include/linux/fs.h | 28 -
include/linux/idr.h | 13
include/linux/ioport.h | 15
include/linux/jiffies.h | 3
include/linux/kernel.h | 150 ---------
include/linux/list.h | 29 +
include/linux/memory_hotplug.h | 42 +-
include/linux/minmax.h | 153 +++++++++
include/linux/mm.h | 5
include/linux/mmzone.h | 17 -
include/linux/node.h | 16
include/linux/nodemask.h | 2
include/linux/page-flags.h | 6
include/linux/page_owner.h | 6
include/linux/pagemap.h | 111 ++++++
include/linux/sched.h | 2
include/linux/sched/mm.h | 25 -
include/linux/uaccess.h | 12
include/linux/vmstat.h | 2
include/linux/xarray.h | 22 +
include/ras/ras_event.h | 3
kernel/acct.c | 10
kernel/cgroup/cpuset.c | 2
kernel/dma/direct.c | 2
kernel/fork.c | 4
kernel/futex.c | 2
kernel/irq/timings.c | 2
kernel/jump_label.c | 2
kernel/kcsan/encoding.h | 2
kernel/kexec_core.c | 2
kernel/kexec_file.c | 2
kernel/kthread.c | 2
kernel/livepatch/state.c | 2
kernel/panic.c | 12
kernel/pid_namespace.c | 2
kernel/power/snapshot.c | 2
kernel/range.c | 3
kernel/relay.c | 2
kernel/resource.c | 114 +++++--
kernel/smp.c | 2
kernel/sys.c | 2
kernel/user_namespace.c | 2
lib/Kconfig.debug | 7
lib/Kconfig.ubsan | 14
lib/Makefile | 1
lib/bitmap.c | 2
lib/crc32.c | 2
lib/decompress_bunzip2.c | 2
lib/dynamic_queue_limits.c | 4
lib/earlycpio.c | 2
lib/fault-inject-usercopy.c | 39 ++
lib/find_bit.c | 1
lib/hexdump.c | 1
lib/idr.c | 9
lib/iov_iter.c | 5
lib/libcrc32c.c | 2
lib/math/rational.c | 2
lib/math/reciprocal_div.c | 1
lib/mpi/mpi-bit.c | 2
lib/percpu_counter.c | 2
lib/radix-tree.c | 2
lib/scatterlist.c | 2
lib/strncpy_from_user.c | 3
lib/syscall.c | 2
lib/test_hmm.c | 2
lib/test_sysctl.c | 2
lib/test_xarray.c | 65 ++++
lib/usercopy.c | 5
lib/xarray.c | 208 ++++++++++++
mm/Kconfig | 2
mm/compaction.c | 6
mm/debug_vm_pgtable.c | 267 ++++++++--------
mm/filemap.c | 58 ++-
mm/gup.c | 73 ++--
mm/highmem.c | 4
mm/huge_memory.c | 47 +-
mm/hwpoison-inject.c | 18 -
mm/internal.h | 47 +-
mm/khugepaged.c | 2
mm/madvise.c | 52 ---
mm/memory-failure.c | 357 ++++++++++------------
mm/memory.c | 7
mm/memory_hotplug.c | 223 +++++--------
mm/memremap.c | 3
mm/migrate.c | 11
mm/mmap.c | 7
mm/mmu_notifier.c | 2
mm/page-writeback.c | 1
mm/page_alloc.c | 289 +++++++++++------
mm/page_isolation.c | 16
mm/page_owner.c | 10
mm/page_poison.c | 20 -
mm/page_reporting.c | 4
mm/readahead.c | 174 ++++------
mm/rmap.c | 10
mm/shmem.c | 2
mm/shuffle.c | 2
mm/slab.c | 2
mm/slab.h | 1
mm/slub.c | 2
mm/sparse.c | 2
mm/swap_state.c | 2
mm/truncate.c | 6
mm/util.c | 3
mm/vmscan.c | 5
mm/vmstat.c | 8
mm/workingset.c | 2
scripts/Makefile.ubsan | 10
scripts/checkpatch.pl | 238 ++++++++++----
scripts/const_structs.checkpatch | 3
scripts/gdb/linux/proc.py | 15
scripts/gdb/linux/tasks.py | 9
scripts/get_maintainer.pl | 9
tools/testing/selftests/exec/.gitignore | 1
tools/testing/selftests/exec/Makefile | 9
tools/testing/selftests/exec/load_address.c | 68 ++++
161 files changed, 2532 insertions(+), 1864 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-10-13 23:46 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-10-13 23:46 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
181 patches, based on 029f56db6ac248769f2c260bfaf3c3c0e23e904c.
Subsystems affected by this patch series:
kbuild
scripts
ntfs
ocfs2
vfs
mm/slab
mm/slub
mm/kmemleak
mm/dax
mm/debug
mm/pagecache
mm/fadvise
mm/gup
mm/swap
mm/memremap
mm/memcg
mm/selftests
mm/pagemap
mm/mincore
mm/hmm
mm/dma
mm/memory-failure
mm/vmalloc
mm/documentation
mm/kasan
mm/pagealloc
mm/hugetlb
mm/vmscan
mm/z3fold
mm/zbud
mm/compaction
mm/mempolicy
mm/mempool
mm/memblock
mm/oom-kill
mm/migration
Subsystem: kbuild
Nick Desaulniers <ndesaulniers@google.com>:
Patch series "set clang minimum version to 10.0.1", v3:
compiler-clang: add build check for clang 10.0.1
Revert "kbuild: disable clang's default use of -fmerge-all-constants"
Revert "arm64: bti: Require clang >= 10.0.1 for in-kernel BTI support"
Revert "arm64: vdso: Fix compilation with clang older than 8"
Partially revert "ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer"
Marco Elver <elver@google.com>:
kasan: remove mentions of unsupported Clang versions
Nick Desaulniers <ndesaulniers@google.com>:
compiler-gcc: improve version error
compiler.h: avoid escaped section names
export.h: fix section name for CONFIG_TRIM_UNUSED_KSYMS for Clang
Lukas Bulwahn <lukas.bulwahn@gmail.com>:
kbuild: doc: describe proper script invocation
Subsystem: scripts
Wang Qing <wangqing@vivo.com>:
scripts/spelling.txt: increase error-prone spell checking
Naoki Hayama <naoki.hayama@lineo.co.jp>:
scripts/spelling.txt: add "arbitrary" typo
Borislav Petkov <bp@suse.de>:
scripts/decodecode: add the capability to supply the program counter
Subsystem: ntfs
Rustam Kovhaev <rkovhaev@gmail.com>:
ntfs: add check for mft record size in superblock
Subsystem: ocfs2
Randy Dunlap <rdunlap@infradead.org>:
ocfs2: delete repeated words in comments
Gang He <ghe@suse.com>:
ocfs2: fix potential soft lockup during fstrim
Subsystem: vfs
Randy Dunlap <rdunlap@infradead.org>:
fs/xattr.c: fix kernel-doc warnings for setxattr & removexattr
Luo Jiaxing <luojiaxing@huawei.com>:
fs_parse: mark fs_param_bad_value() as static
Subsystem: mm/slab
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/slab.c: clean code by removing redundant if condition
tangjianqiang <wyqt1985@gmail.com>:
include/linux/slab.h: fix a typo error in comment
Subsystem: mm/slub
Abel Wu <wuyun.wu@huawei.com>:
mm/slub.c: branch optimization in free slowpath
mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc
mm/slub: make add_full() condition more explicit
Subsystem: mm/kmemleak
Davidlohr Bueso <dave@stgolabs.net>:
mm/kmemleak: rely on rcu for task stack scanning
Hui Su <sh_def@163.com>:
mm,kmemleak-test.c: move kmemleak-test.c to samples dir
Subsystem: mm/dax
Dan Williams <dan.j.williams@intel.com>:
Patch series "device-dax: Support sub-dividing soft-reserved ranges", v5:
x86/numa: cleanup configuration dependent command-line options
x86/numa: add 'nohmat' option
efi/fake_mem: arrange for a resource entry per efi_fake_mem instance
ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device
resource: report parent to walk_iomem_res_desc() callback
mm/memory_hotplug: introduce default phys_to_target_node() implementation
ACPI: HMAT: attach a device for each soft-reserved range
device-dax: drop the dax_region.pfn_flags attribute
device-dax: move instance creation parameters to 'struct dev_dax_data'
device-dax: make pgmap optional for instance creation
device-dax/kmem: introduce dax_kmem_range()
device-dax/kmem: move resource name tracking to drvdata
device-dax/kmem: replace release_resource() with release_mem_region()
device-dax: add an allocation interface for device-dax instances
device-dax: introduce 'struct dev_dax' typed-driver operations
device-dax: introduce 'seed' devices
drivers/base: make device_find_child_by_name() compatible with sysfs inputs
device-dax: add resize support
mm/memremap_pages: convert to 'struct range'
mm/memremap_pages: support multiple ranges per invocation
device-dax: add dis-contiguous resource support
device-dax: introduce 'mapping' devices
Joao Martins <joao.m.martins@oracle.com>:
device-dax: make align a per-device property
Dan Williams <dan.j.williams@intel.com>:
device-dax: add an 'align' attribute
Joao Martins <joao.m.martins@oracle.com>:
dax/hmem: introduce dax_hmem.region_idle parameter
device-dax: add a range mapping allocation attribute
Subsystem: mm/debug
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/debug.c: do not dereference i_ino blindly
John Hubbard <jhubbard@nvidia.com>:
mm, dump_page: rename head_mapcount() --> head_compound_mapcount()
Subsystem: mm/pagecache
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Return head pages from find_*_entry", v2:
mm: factor find_get_incore_page out of mincore_page
mm: use find_get_incore_page in memcontrol
mm: optimise madvise WILLNEED
proc: optimise smaps for shmem entries
i915: use find_lock_page instead of find_lock_entry
mm: convert find_get_entry to return the head page
mm/shmem: return head page from find_lock_entry
mm: add find_lock_head
mm/filemap: fix filemap_map_pages for THP
Subsystem: mm/fadvise
Yafang Shao <laoar.shao@gmail.com>:
mm, fadvise: improve the expensive remote LRU cache draining after FADV_DONTNEED
Subsystem: mm/gup
Barry Song <song.bao.hua@hisilicon.com>:
mm/gup_benchmark: update the documentation in Kconfig
mm/gup_benchmark: use pin_user_pages for FOLL_LONGTERM flag
mm/gup: don't permit users to call get_user_pages with FOLL_LONGTERM
John Hubbard <jhubbard@nvidia.com>:
mm/gup: protect unpin_user_pages() against npages==-ERRNO
Subsystem: mm/swap
Gao Xiang <hsiangkao@redhat.com>:
swap: rename SWP_FS to SWAP_FS_OPS to avoid ambiguity
Yu Zhao <yuzhao@google.com>:
mm: remove activate_page() from unuse_pte()
mm: remove superfluous __ClearPageActive()
Miaohe Lin <linmiaohe@huawei.com>:
mm/swap.c: fix confusing comment in release_pages()
mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache()
mm/page_io.c: remove useless out label in __swap_writepage()
mm/swap.c: fix incomplete comment in lru_cache_add_inactive_or_unevictable()
mm/swapfile.c: remove unnecessary goto out in _swap_info_get()
mm/swapfile.c: fix potential memory leak in sys_swapon
Subsystem: mm/memremap
Ira Weiny <ira.weiny@intel.com>:
mm/memremap.c: convert devmap static branch to {inc,dec}
Subsystem: mm/memcg
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
mm: memcontrol: use flex_array_size() helper in memcpy()
mm: memcontrol: use the preferred form for passing the size of a structure type
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: fix racy access to page->mem_cgroup in mem_cgroup_from_obj()
Miaohe Lin <linmiaohe@huawei.com>:
mm: memcontrol: correct the comment of mem_cgroup_iter()
Waiman Long <longman@redhat.com>:
Patch series "mm/memcg: Miscellaneous cleanups and streamlining", v2:
mm/memcg: clean up obsolete enum charge_type
mm/memcg: simplify mem_cgroup_get_max()
mm/memcg: unify swap and memsw page counters
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: add the missing numa_stat interface for cgroup v2
Miaohe Lin <linmiaohe@huawei.com>:
mm/page_counter: correct the obsolete func name in the comment of page_counter_try_charge()
mm: memcontrol: reword obsolete comment of mem_cgroup_unmark_under_oom()
Bharata B Rao <bharata@linux.ibm.com>:
mm: memcg/slab: uncharge during kmem_cache_free_bulk()
Ralph Campbell <rcampbell@nvidia.com>:
mm/memcg: fix device private memcg accounting
Subsystem: mm/selftests
John Hubbard <jhubbard@nvidia.com>:
Patch series "selftests/vm: fix some minor aggravating factors in the Makefile":
selftests/vm: fix false build success on the second and later attempts
selftests/vm: fix incorrect gcc invocation in some cases
Subsystem: mm/pagemap
Matthew Wilcox <willy@infradead.org>:
mm: account PMD tables like PTE tables
Yanfei Xu <yanfei.xu@windriver.com>:
mm/memory.c: fix typo in __do_fault() comment
mm/memory.c: replace vmf->vma with variable vma
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/mmap: rename __vma_unlink_common() to __vma_unlink()
mm/mmap: leverage vma_rb_erase_ignore() to implement vma_rb_erase()
Chinwen Chang <chinwen.chang@mediatek.com>:
Patch series "Try to release mmap_lock temporarily in smaps_rollup", v4:
mmap locking API: add mmap_lock_is_contended()
mm: smaps*: extend smap_gather_stats to support specified beginning
mm: proc: smaps_rollup: do not stall write attempts on mmap_lock
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Fix PageDoubleMap":
mm: move PageDoubleMap bit
mm: simplify PageDoubleMap with PF_SECOND policy
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/mmap: leave adjust_next as virtual address instead of page frame number
Randy Dunlap <rdunlap@infradead.org>:
mm/memory.c: fix spello of "function"
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/mmap: not necessary to check mapping separately
mm/mmap: check on file instead of the rb_root_cached of its address_space
Miaohe Lin <linmiaohe@huawei.com>:
mm: use helper function mapping_allow_writable()
mm/mmap.c: use helper function allow_write_access() in __remove_shared_vm_struct()
Liao Pingfang <liao.pingfang@zte.com.cn>:
mm/mmap.c: replace do_brk with do_brk_flags in comment of insert_vm_struct()
Peter Xu <peterx@redhat.com>:
mm: remove src/dst mm parameter in copy_page_range()
Subsystem: mm/mincore
yuleixzhang <yulei.kernel@gmail.com>:
include/linux/huge_mm.h: remove mincore_huge_pmd declaration
Subsystem: mm/hmm
Ralph Campbell <rcampbell@nvidia.com>:
tools/testing/selftests/vm/hmm-tests.c: use the new SKIP() macro
lib/test_hmm.c: remove unused dmirror_zero_page
Subsystem: mm/dma
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
mm/dmapool.c: replace open-coded list_for_each_entry_safe()
mm/dmapool.c: replace hard coded function name with __func__
Subsystem: mm/memory-failure
Xianting Tian <tian.xianting@h3c.com>:
mm/memory-failure: do pgoff calculation before for_each_process()
Alex Shi <alex.shi@linux.alibaba.com>:
mm/memory-failure.c: remove unused macro `writeback'
Subsystem: mm/vmalloc
Hui Su <sh_def@163.com>:
mm/vmalloc.c: update the comment in __vmalloc_area_node()
mm/vmalloc.c: fix the comment of find_vm_area
Subsystem: mm/documentation
Alexander Gordeev <agordeev@linux.ibm.com>:
docs/vm: fix 'mm_count' vs 'mm_users' counter confusion
Subsystem: mm/kasan
Patricia Alfonso <trishalfonso@google.com>:
Patch series "KASAN-KUnit Integration", v14:
kasan/kunit: add KUnit Struct to Current Task
KUnit: KASAN Integration
KASAN: port KASAN Tests to KUnit
KASAN: Testing Documentation
David Gow <davidgow@google.com>:
mm: kasan: do not panic if both panic_on_warn and kasan_multishot set
Subsystem: mm/pagealloc
David Hildenbrand <david@redhat.com>:
Patch series "mm / virtio-mem: support ZONE_MOVABLE", v5:
mm/page_alloc: tweak comments in has_unmovable_pages()
mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate()
mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()
mm/page_isolation: cleanup set_migratetype_isolate()
virtio-mem: don't special-case ZONE_MOVABLE
mm: document semantics of ZONE_MOVABLE
Li Xinhai <lixinhai.lxh@gmail.com>:
mm, isolation: avoid checking unmovable pages across pageblock boundary
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/page_alloc.c: clean code by removing unnecessary initialization
mm/page_alloc.c: micro-optimization remove unnecessary branch
mm/page_alloc.c: fix early params garbage value accesses
mm/page_alloc.c: clean code by merging two functions
Yanfei Xu <yanfei.xu@windriver.com>:
mm/page_alloc.c: __perform_reclaim should return 'unsigned long'
Mateusz Nosek <mateusznosek0@gmail.com>:
mmzone: clean code by removing unused macro parameter
Ralph Campbell <rcampbell@nvidia.com>:
mm: move call to compound_head() in release_pages()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/page_alloc.c: fix freeing non-compound pages
Michal Hocko <mhocko@suse.com>:
include/linux/gfp.h: clarify usage of GFP_ATOMIC in !preemptible contexts
Subsystem: mm/hugetlb
Baoquan He <bhe@redhat.com>:
Patch series "mm/hugetlb: Small cleanup and improvement", v2:
mm/hugetlb.c: make is_hugetlb_entry_hwpoisoned return bool
mm/hugetlb.c: remove the unnecessary non_swap_entry()
doc/vm: fix typo in the hugetlb admin documentation
Wei Yang <richard.weiyang@linux.alibaba.com>:
Patch series "mm/hugetlb: code refine and simplification", v4:
mm/hugetlb: not necessary to coalesce regions recursively
mm/hugetlb: remove VM_BUG_ON(!nrg) in get_file_region_entry_from_cache()
mm/hugetlb: use list_splice to merge two list at once
mm/hugetlb: count file_region to be added when regions_needed != NULL
mm/hugetlb: a page from buddy is not on any list
mm/hugetlb: narrow the hugetlb_lock protection area during preparing huge page
mm/hugetlb: take the free hpage during the iteration directly
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlb: add lockdep check for i_mmap_rwsem held in huge_pmd_share
Subsystem: mm/vmscan
Chunxin Zang <zangchunxin@bytedance.com>:
mm/vmscan: fix infinite loop in drop_slab_node
Hui Su <sh_def@163.com>:
mm/vmscan: fix comments for isolate_lru_page()
Subsystem: mm/z3fold
Hui Su <sh_def@163.com>:
mm/z3fold.c: use xx_zalloc instead xx_alloc and memset
Subsystem: mm/zbud
Xiang Chen <chenxiang66@hisilicon.com>:
mm/zbud: remove redundant initialization
Subsystem: mm/compaction
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/compaction.c: micro-optimization remove unnecessary branch
include/linux/compaction.h: clean code by removing unused enum value
John Hubbard <jhubbard@nvidia.com>:
selftests/vm: 8x compaction_test speedup
Subsystem: mm/mempolicy
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/mempolicy: remove or narrow the lock on current
mm: remove unused alloc_page_vma_node()
Subsystem: mm/mempool
Miaohe Lin <linmiaohe@huawei.com>:
mm/mempool: add 'else' to split mutually exclusive case
Subsystem: mm/memblock
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "memblock: seasonal cleaning^w cleanup", v3:
KVM: PPC: Book3S HV: simplify kvm_cma_reserve()
dma-contiguous: simplify cma_early_percent_memory()
arm, xtensa: simplify initialization of high memory pages
arm64: numa: simplify dummy_numa_init()
h8300, nds32, openrisc: simplify detection of memory extents
riscv: drop unneeded node initialization
mircoblaze: drop unneeded NUMA and sparsemem initializations
memblock: make for_each_memblock_type() iterator private
memblock: make memblock_debug and related functionality private
memblock: reduce number of parameters in for_each_mem_range()
arch, mm: replace for_each_memblock() with for_each_mem_pfn_range()
arch, drivers: replace for_each_membock() with for_each_mem_range()
x86/setup: simplify initrd relocation and reservation
x86/setup: simplify reserve_crashkernel()
memblock: remove unused memblock_mem_size()
memblock: implement for_each_reserved_mem_region() using __next_mem_region()
memblock: use separate iterators for memory and reserved regions
Subsystem: mm/oom-kill
Suren Baghdasaryan <surenb@google.com>:
mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
Subsystem: mm/migration
Ralph Campbell <rcampbell@nvidia.com>:
mm/migrate: remove cpages-- in migrate_vma_finalize()
mm/migrate: remove obsolete comment about device public
.clang-format | 7
Documentation/admin-guide/cgroup-v2.rst | 69 +
Documentation/admin-guide/mm/hugetlbpage.rst | 2
Documentation/dev-tools/kasan.rst | 74 +
Documentation/dev-tools/kmemleak.rst | 2
Documentation/kbuild/makefiles.rst | 20
Documentation/vm/active_mm.rst | 2
Documentation/x86/x86_64/boot-options.rst | 4
MAINTAINERS | 2
Makefile | 9
arch/arm/Kconfig | 2
arch/arm/include/asm/tlb.h | 1
arch/arm/kernel/setup.c | 18
arch/arm/mm/init.c | 59 -
arch/arm/mm/mmu.c | 39
arch/arm/mm/pmsa-v7.c | 23
arch/arm/mm/pmsa-v8.c | 17
arch/arm/xen/mm.c | 7
arch/arm64/Kconfig | 2
arch/arm64/kernel/machine_kexec_file.c | 6
arch/arm64/kernel/setup.c | 4
arch/arm64/kernel/vdso/Makefile | 7
arch/arm64/mm/init.c | 11
arch/arm64/mm/kasan_init.c | 10
arch/arm64/mm/mmu.c | 11
arch/arm64/mm/numa.c | 15
arch/c6x/kernel/setup.c | 9
arch/h8300/kernel/setup.c | 8
arch/microblaze/mm/init.c | 23
arch/mips/cavium-octeon/dma-octeon.c | 14
arch/mips/kernel/setup.c | 31
arch/mips/netlogic/xlp/setup.c | 2
arch/nds32/kernel/setup.c | 8
arch/openrisc/kernel/setup.c | 9
arch/openrisc/mm/init.c | 8
arch/powerpc/kernel/fadump.c | 61 -
arch/powerpc/kexec/file_load_64.c | 16
arch/powerpc/kvm/book3s_hv_builtin.c | 12
arch/powerpc/kvm/book3s_hv_uvmem.c | 14
arch/powerpc/mm/book3s64/hash_utils.c | 16
arch/powerpc/mm/book3s64/radix_pgtable.c | 10
arch/powerpc/mm/kasan/kasan_init_32.c | 8
arch/powerpc/mm/mem.c | 31
arch/powerpc/mm/numa.c | 7
arch/powerpc/mm/pgtable_32.c | 8
arch/riscv/mm/init.c | 36
arch/riscv/mm/kasan_init.c | 10
arch/s390/kernel/setup.c | 27
arch/s390/mm/page-states.c | 6
arch/s390/mm/vmem.c | 7
arch/sh/mm/init.c | 9
arch/sparc/mm/init_64.c | 12
arch/x86/include/asm/numa.h | 8
arch/x86/kernel/e820.c | 16
arch/x86/kernel/setup.c | 56 -
arch/x86/mm/numa.c | 13
arch/x86/mm/numa_emulation.c | 3
arch/x86/xen/enlighten_pv.c | 2
arch/xtensa/mm/init.c | 55 -
drivers/acpi/numa/hmat.c | 76 -
drivers/acpi/numa/srat.c | 9
drivers/base/core.c | 2
drivers/bus/mvebu-mbus.c | 12
drivers/dax/Kconfig | 6
drivers/dax/Makefile | 3
drivers/dax/bus.c | 1237 +++++++++++++++++++++++----
drivers/dax/bus.h | 34
drivers/dax/dax-private.h | 74 +
drivers/dax/device.c | 164 +--
drivers/dax/hmem.c | 56 -
drivers/dax/hmem/Makefile | 8
drivers/dax/hmem/device.c | 100 ++
drivers/dax/hmem/hmem.c | 93 +-
drivers/dax/kmem.c | 236 ++---
drivers/dax/pmem/compat.c | 2
drivers/dax/pmem/core.c | 36
drivers/firmware/efi/x86_fake_mem.c | 12
drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 4
drivers/gpu/drm/nouveau/nouveau_dmem.c | 15
drivers/irqchip/irq-gic-v3-its.c | 2
drivers/nvdimm/badrange.c | 26
drivers/nvdimm/claim.c | 13
drivers/nvdimm/nd.h | 3
drivers/nvdimm/pfn_devs.c | 13
drivers/nvdimm/pmem.c | 27
drivers/nvdimm/region.c | 21
drivers/pci/p2pdma.c | 12
drivers/virtio/virtio_mem.c | 47 -
drivers/xen/unpopulated-alloc.c | 45
fs/fs_parser.c | 2
fs/ntfs/inode.c | 6
fs/ocfs2/alloc.c | 6
fs/ocfs2/localalloc.c | 2
fs/proc/base.c | 3
fs/proc/task_mmu.c | 104 +-
fs/xattr.c | 22
include/acpi/acpi_numa.h | 14
include/kunit/test.h | 5
include/linux/acpi.h | 2
include/linux/compaction.h | 3
include/linux/compiler-clang.h | 8
include/linux/compiler-gcc.h | 2
include/linux/compiler.h | 2
include/linux/dax.h | 8
include/linux/export.h | 2
include/linux/fs.h | 4
include/linux/gfp.h | 6
include/linux/huge_mm.h | 3
include/linux/kasan.h | 6
include/linux/memblock.h | 90 +
include/linux/memcontrol.h | 13
include/linux/memory_hotplug.h | 23
include/linux/memremap.h | 15
include/linux/mm.h | 36
include/linux/mmap_lock.h | 5
include/linux/mmzone.h | 37
include/linux/numa.h | 11
include/linux/oom.h | 1
include/linux/page-flags.h | 42
include/linux/pagemap.h | 43
include/linux/range.h | 6
include/linux/sched.h | 4
include/linux/sched/coredump.h | 1
include/linux/slab.h | 2
include/linux/swap.h | 10
include/linux/swap_slots.h | 2
kernel/dma/contiguous.c | 11
kernel/fork.c | 25
kernel/resource.c | 11
lib/Kconfig.debug | 9
lib/Kconfig.kasan | 31
lib/Makefile | 5
lib/kunit/test.c | 13
lib/test_free_pages.c | 42
lib/test_hmm.c | 65 -
lib/test_kasan.c | 732 ++++++---------
lib/test_kasan_module.c | 111 ++
mm/Kconfig | 4
mm/Makefile | 1
mm/compaction.c | 5
mm/debug.c | 18
mm/dmapool.c | 46 -
mm/fadvise.c | 9
mm/filemap.c | 78 -
mm/gup.c | 44
mm/gup_benchmark.c | 23
mm/huge_memory.c | 4
mm/hugetlb.c | 100 +-
mm/internal.h | 3
mm/kasan/report.c | 34
mm/kmemleak-test.c | 99 --
mm/kmemleak.c | 8
mm/madvise.c | 21
mm/memblock.c | 102 --
mm/memcontrol.c | 262 +++--
mm/memory-failure.c | 5
mm/memory.c | 147 +--
mm/memory_hotplug.c | 10
mm/mempolicy.c | 8
mm/mempool.c | 18
mm/memremap.c | 344 ++++---
mm/migrate.c | 3
mm/mincore.c | 28
mm/mmap.c | 45
mm/oom_kill.c | 2
mm/page_alloc.c | 82 -
mm/page_counter.c | 2
mm/page_io.c | 14
mm/page_isolation.c | 41
mm/shmem.c | 19
mm/slab.c | 4
mm/slab.h | 50 -
mm/slub.c | 33
mm/sparse.c | 10
mm/swap.c | 14
mm/swap_slots.c | 3
mm/swap_state.c | 38
mm/swapfile.c | 12
mm/truncate.c | 58 -
mm/vmalloc.c | 6
mm/vmscan.c | 5
mm/z3fold.c | 3
mm/zbud.c | 1
samples/Makefile | 1
samples/kmemleak/Makefile | 3
samples/kmemleak/kmemleak-test.c | 99 ++
scripts/decodecode | 29
scripts/spelling.txt | 4
tools/testing/nvdimm/dax-dev.c | 28
tools/testing/nvdimm/test/iomap.c | 2
tools/testing/selftests/vm/Makefile | 17
tools/testing/selftests/vm/compaction_test.c | 11
tools/testing/selftests/vm/gup_benchmark.c | 14
tools/testing/selftests/vm/hmm-tests.c | 4
194 files changed, 4273 insertions(+), 2777 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-10-11 6:15 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-10-11 6:15 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
5 patches, based on da690031a5d6d50a361e3f19f3eeabd086a6f20d.
Subsystems affected by this patch series:
MAINTAINERS
mm/pagemap
mm/swap
mm/hugetlb
Subsystem: MAINTAINERS
Kees Cook <keescook@chromium.org>:
MAINTAINERS: change hardening mailing list
Antoine Tenart <atenart@kernel.org>:
MAINTAINERS: Antoine Tenart's email address
Subsystem: mm/pagemap
Miaohe Lin <linmiaohe@huawei.com>:
mm: mmap: Fix general protection fault in unlink_file_vma()
Subsystem: mm/swap
Minchan Kim <minchan@kernel.org>:
mm: validate inode in mapping_set_error()
Subsystem: mm/hugetlb
Vijay Balakrishna <vijayb@linux.microsoft.com>:
mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
.mailmap | 4 +++-
MAINTAINERS | 8 ++++----
include/linux/khugepaged.h | 5 +++++
include/linux/pagemap.h | 3 ++-
mm/khugepaged.c | 13 +++++++++++--
mm/mmap.c | 6 +++++-
mm/page_alloc.c | 3 +++
7 files changed, 33 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-10-03 5:20 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-10-03 5:20 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
3 patches, based on d3d45f8220d60a0b2aaaacf8fb2be4e6ffd9008e.
Subsystems affected by this patch series:
mm/slub
mm/cma
scripts
Subsystem: mm/slub
Eric Farman <farman@linux.ibm.com>:
mm, slub: restore initial kmem_cache flags
Subsystem: mm/cma
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs
Subsystem: scripts
Eric Biggers <ebiggers@google.com>:
scripts/spelling.txt: fix malformed entry
mm/page_alloc.c | 19 ++++++++++++++++---
mm/slub.c | 6 +-----
scripts/spelling.txt | 2 +-
3 files changed, 18 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-09-26 4:17 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-09-26 4:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
9 patches, based on 7c7ec3226f5f33f9c050d85ec20f18419c622ad6.
Subsystems affected by this patch series:
mm/thp
mm/memcg
mm/gup
mm/migration
lib
x86
mm/memory-hotplug
Subsystem: mm/thp
Gao Xiang <hsiangkao@redhat.com>:
mm, THP, swap: fix allocating cluster for swapfile by mistake
Subsystem: mm/memcg
Muchun Song <songmuchun@bytedance.com>:
mm: memcontrol: fix missing suffix of workingset_restore
Subsystem: mm/gup
Vasily Gorbik <gor@linux.ibm.com>:
mm/gup: fix gup_fast with dynamic page table folding
Subsystem: mm/migration
Zi Yan <ziy@nvidia.com>:
mm/migrate: correct thp migration stats
Subsystem: lib
Nick Desaulniers <ndesaulniers@google.com>:
lib/string.c: implement stpcpy
Jason Yan <yanaijie@huawei.com>:
lib/memregion.c: include memregion.h
Subsystem: x86
Mikulas Patocka <mpatocka@redhat.com>:
arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
Subsystem: mm/memory-hotplug
Laurent Dufour <ldufour@linux.ibm.com>:
Patch series "mm: fix memory to node bad links in sysfs", v3:
mm: replace memmap_context by meminit_context
mm: don't rely on system state to detect hot-plug operations
Documentation/admin-guide/cgroup-v2.rst | 25 ++++++---
arch/ia64/mm/init.c | 6 +-
arch/s390/include/asm/pgtable.h | 42 +++++++++++----
arch/x86/lib/usercopy_64.c | 2
drivers/base/node.c | 85 ++++++++++++++++++++------------
include/linux/mm.h | 2
include/linux/mmzone.h | 11 +++-
include/linux/node.h | 11 ++--
include/linux/pgtable.h | 10 +++
lib/memregion.c | 1
lib/string.c | 24 +++++++++
mm/gup.c | 18 +++---
mm/memcontrol.c | 4 -
mm/memory_hotplug.c | 5 +
mm/migrate.c | 7 +-
mm/page_alloc.c | 10 +--
mm/swapfile.c | 2
17 files changed, 181 insertions(+), 84 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-09-19 4:19 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-09-19 4:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
15 patches, based on 92ab97adeefccf375de7ebaad9d5b75d4125fe8b.
Subsystems affected by this patch series:
mailmap
mm/hotfixes
mm/thp
mm/memory-hotplug
misc
kcsan
Subsystem: mailmap
Kees Cook <keescook@chromium.org>:
mailmap: add older email addresses for Kees Cook
Subsystem: mm/hotfixes
Hugh Dickins <hughd@google.com>:
Patch series "mm: fixes to past from future testing":
ksm: reinstate memcg charge on copied pages
mm: migration of hugetlbfs page skip memcg
shmem: shmem_writepage() split unlikely i915 THP
mm: fix check_move_unevictable_pages() on THP
mlock: fix unevictable_pgs event counts on THP
Byron Stanoszek <gandalf@winds.org>:
tmpfs: restore functionality of nr_inodes=0
Muchun Song <songmuchun@bytedance.com>:
kprobes: fix kill kprobe which has been marked as gone
Subsystem: mm/thp
Ralph Campbell <rcampbell@nvidia.com>:
mm/thp: fix __split_huge_pmd_locked() for migration PMD
Christophe Leroy <christophe.leroy@csgroup.eu>:
selftests/vm: fix display of page size in map_hugetlb
Subsystem: mm/memory-hotplug
Pavel Tatashin <pasha.tatashin@soleen.com>:
mm/memory_hotplug: drain per-cpu pages again during memory offline
Subsystem: misc
Tobias Klauser <tklauser@distanz.ch>:
ftrace: let ftrace_enable_sysctl take a kernel pointer buffer
stackleak: let stack_erasing_sysctl take a kernel pointer buffer
fs/fs-writeback.c: adjust dirtytime_interval_handler definition to match prototype
Subsystem: kcsan
Changbin Du <changbin.du@gmail.com>:
kcsan: kconfig: move to menu 'Generic Kernel Debugging Instruments'
.mailmap | 4 ++
fs/fs-writeback.c | 2 -
include/linux/ftrace.h | 3 --
include/linux/stackleak.h | 2 -
kernel/kprobes.c | 9 +++++-
kernel/stackleak.c | 2 -
kernel/trace/ftrace.c | 3 --
lib/Kconfig.debug | 4 --
mm/huge_memory.c | 42 ++++++++++++++++---------------
mm/ksm.c | 4 ++
mm/memory_hotplug.c | 14 ++++++++++
mm/migrate.c | 3 +-
mm/mlock.c | 24 +++++++++++------
mm/page_isolation.c | 8 +++++
mm/shmem.c | 20 +++++++++++---
mm/swap.c | 6 ++--
mm/vmscan.c | 10 +++++--
tools/testing/selftests/vm/map_hugetlb.c | 2 -
18 files changed, 111 insertions(+), 51 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-09-04 23:34 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-09-04 23:34 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
19 patches, based on 59126901f200f5fc907153468b03c64e0081b6e6.
Subsystems affected by this patch series:
mm/memcg
mm/slub
MAINTAINERS
mm/pagemap
ipc
fork
checkpatch
mm/madvise
mm/migration
mm/hugetlb
lib
Subsystem: mm/memcg
Michal Hocko <mhocko@suse.com>:
memcg: fix use-after-free in uncharge_batch
Xunlei Pang <xlpang@linux.alibaba.com>:
mm: memcg: fix memcg reclaim soft lockup
Subsystem: mm/slub
Eugeniu Rosca <erosca@de.adit-jv.com>:
mm: slub: fix conversion of freelist_corrupted()
Subsystem: MAINTAINERS
Robert Richter <rric@kernel.org>:
MAINTAINERS: update Cavium/Marvell entries
Nick Desaulniers <ndesaulniers@google.com>:
MAINTAINERS: add LLVM maintainers
Randy Dunlap <rdunlap@infradead.org>:
MAINTAINERS: IA64: mark Status as Odd Fixes only
Subsystem: mm/pagemap
Joerg Roedel <jroedel@suse.de>:
mm: track page table modifications in __apply_to_page_range()
Subsystem: ipc
Tobias Klauser <tklauser@distanz.ch>:
ipc: adjust proc_ipc_sem_dointvec definition to match prototype
Subsystem: fork
Tobias Klauser <tklauser@distanz.ch>:
fork: adjust sysctl_max_threads definition to match prototype
Subsystem: checkpatch
Mrinal Pandey <mrinalmni@gmail.com>:
checkpatch: fix the usage of capture group ( ... )
Subsystem: mm/madvise
Yang Shi <shy828301@gmail.com>:
mm: madvise: fix vma user-after-free
Subsystem: mm/migration
Alistair Popple <alistair@popple.id.au>:
mm/migrate: fixup setting UFFD_WP flag
mm/rmap: fixup copying of soft dirty and uffd ptes
Ralph Campbell <rcampbell@nvidia.com>:
Patch series "mm/migrate: preserve soft dirty in remove_migration_pte()":
mm/migrate: remove unnecessary is_zone_device_page() check
mm/migrate: preserve soft dirty in remove_migration_pte()
Subsystem: mm/hugetlb
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/hugetlb: try preferred node first when alloc gigantic page from cma
Muchun Song <songmuchun@bytedance.com>:
mm/hugetlb: fix a race between hugetlb sysctl handlers
David Howells <dhowells@redhat.com>:
mm/khugepaged.c: fix khugepaged's request size in collapse_file
Subsystem: lib
Jason Gunthorpe <jgg@nvidia.com>:
include/linux/log2.h: add missing () around n in roundup_pow_of_two()
MAINTAINERS | 32 ++++++++++++++++----------------
include/linux/log2.h | 2 +-
ipc/ipc_sysctl.c | 2 +-
kernel/fork.c | 2 +-
mm/hugetlb.c | 49 +++++++++++++++++++++++++++++++++++++------------
mm/khugepaged.c | 2 +-
mm/madvise.c | 2 +-
mm/memcontrol.c | 6 ++++++
mm/memory.c | 37 ++++++++++++++++++++++++-------------
mm/migrate.c | 31 +++++++++++++++++++------------
mm/rmap.c | 9 +++++++--
mm/slub.c | 12 ++++++------
mm/vmscan.c | 8 ++++++++
scripts/checkpatch.pl | 4 ++--
14 files changed, 130 insertions(+), 68 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-08-21 0:41 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-08-21 0:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
11 patches, based on 7eac66d0456fe12a462e5c14c68e97c7460989da.
Subsystems affected by this patch series:
misc
mm/hugetlb
mm/vmalloc
mm/misc
romfs
relay
uprobes
squashfs
mm/cma
mm/pagealloc
Subsystem: misc
Nick Desaulniers <ndesaulniers@google.com>:
mailmap: add Andi Kleen
Subsystem: mm/hugetlb
Xu Wang <vulab@iscas.ac.cn>:
hugetlb_cgroup: convert comma to semicolon
Hugh Dickins <hughd@google.com>:
khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
Subsystem: mm/vmalloc
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/vunmap: add cond_resched() in vunmap_pmd_range
Subsystem: mm/misc
Leon Romanovsky <leonro@nvidia.com>:
mm/rodata_test.c: fix missing function declaration
Subsystem: romfs
Jann Horn <jannh@google.com>:
romfs: fix uninitialized memory leak in romfs_dev_read()
Subsystem: relay
Wei Yongjun <weiyongjun1@huawei.com>:
kernel/relay.c: fix memleak on destroy relay channel
Subsystem: uprobes
Hugh Dickins <hughd@google.com>:
uprobes: __replace_page() avoid BUG in munlock_vma_page()
Subsystem: squashfs
Phillip Lougher <phillip@squashfs.org.uk>:
squashfs: avoid bio_alloc() failure with 1Mbyte blocks
Subsystem: mm/cma
Doug Berger <opendmb@gmail.com>:
mm: include CMA pages in lowmem_reserve at boot
Subsystem: mm/pagealloc
Charan Teja Reddy <charante@codeaurora.org>:
mm, page_alloc: fix core hung in free_pcppages_bulk()
.mailmap | 1 +
fs/romfs/storage.c | 4 +---
fs/squashfs/block.c | 6 +++++-
kernel/events/uprobes.c | 2 +-
kernel/relay.c | 1 +
mm/hugetlb_cgroup.c | 4 ++--
mm/khugepaged.c | 2 +-
mm/page_alloc.c | 7 ++++++-
mm/rodata_test.c | 1 +
mm/vmalloc.c | 2 ++
10 files changed, 21 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-08-15 0:29 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-08-15 0:29 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
39 patches, based on b923f1247b72fc100b87792fd2129d026bb10e66.
Subsystems affected by this patch series:
mm/hotfixes
lz4
exec
mailmap
mm/thp
autofs
mm/madvise
sysctl
mm/kmemleak
mm/misc
lib
Subsystem: mm/hotfixes
Mike Rapoport <rppt@linux.ibm.com>:
asm-generic: pgalloc.h: use correct #ifdef to enable pud_alloc_one()
Baoquan He <bhe@redhat.com>:
Revert "mm/vmstat.c: do not show lowmem reserve protection information of empty zone"
Subsystem: lz4
Nick Terrell <terrelln@fb.com>:
lz4: fix kernel decompression speed
Subsystem: exec
Kees Cook <keescook@chromium.org>:
Patch series "Fix S_ISDIR execve() errno":
exec: restore EACCES of S_ISDIR execve()
selftests/exec: add file type errno tests
Subsystem: mailmap
Greg Kurz <groug@kaod.org>:
mailmap: add entry for Greg Kurz
Subsystem: mm/thp
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "THP prep patches":
mm: store compound_nr as well as compound_order
mm: move page-flags include to top of file
mm: add thp_order
mm: add thp_size
mm: replace hpage_nr_pages with thp_nr_pages
mm: add thp_head
mm: introduce offset_in_thp
Subsystem: autofs
Randy Dunlap <rdunlap@infradead.org>:
fs: autofs: delete repeated words in comments
Subsystem: mm/madvise
Minchan Kim <minchan@kernel.org>:
Patch series "introduce memory hinting API for external process", v8:
mm/madvise: pass task and mm to do_madvise
pid: move pidfd_get_pid() to pid.c
mm/madvise: introduce process_madvise() syscall: an external memory hinting API
mm/madvise: check fatal signal pending of target process
Subsystem: sysctl
Xiaoming Ni <nixiaoming@huawei.com>:
all arch: remove system call sys_sysctl
Subsystem: mm/kmemleak
Qian Cai <cai@lca.pw>:
mm/kmemleak: silence KCSAN splats in checksum
Subsystem: mm/misc
Qian Cai <cai@lca.pw>:
mm/frontswap: mark various intentional data races
mm/page_io: mark various intentional data races
mm/swap_state: mark various intentional data races
Kirill A. Shutemov <kirill@shutemov.name>:
mm/filemap.c: fix a data race in filemap_fault()
Qian Cai <cai@lca.pw>:
mm/swapfile: fix and annotate various data races
mm/page_counter: fix various data races at memsw
mm/memcontrol: fix a data race in scan count
mm/list_lru: fix a data race in list_lru_count_one
mm/mempool: fix a data race in mempool_free()
mm/rmap: annotate a data race at tlb_flush_batched
mm/swap.c: annotate data races for lru_rotate_pvecs
mm: annotate a data race in page_zonenum()
Romain Naour <romain.naour@gmail.com>:
include/asm-generic/vmlinux.lds.h: align ro_after_init
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
sh: clkfwk: remove r8/r16/r32
sh: use generic strncpy()
Subsystem: lib
Krzysztof Kozlowski <krzk@kernel.org>:
Patch series "iomap: Constify ioreadX() iomem argument", v3:
iomap: constify ioreadX() iomem argument (as in generic implementation)
rtl818x: constify ioreadX() iomem argument (as in generic implementation)
ntb: intel: constify ioreadX() iomem argument (as in generic implementation)
virtio: pci: constify ioreadX() iomem argument (as in generic implementation)
.mailmap | 1
arch/alpha/include/asm/core_apecs.h | 6
arch/alpha/include/asm/core_cia.h | 6
arch/alpha/include/asm/core_lca.h | 6
arch/alpha/include/asm/core_marvel.h | 4
arch/alpha/include/asm/core_mcpcia.h | 6
arch/alpha/include/asm/core_t2.h | 2
arch/alpha/include/asm/io.h | 12 -
arch/alpha/include/asm/io_trivial.h | 16 -
arch/alpha/include/asm/jensen.h | 2
arch/alpha/include/asm/machvec.h | 6
arch/alpha/kernel/core_marvel.c | 2
arch/alpha/kernel/io.c | 12 -
arch/alpha/kernel/syscalls/syscall.tbl | 3
arch/arm/configs/am200epdkit_defconfig | 1
arch/arm/tools/syscall.tbl | 3
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 6
arch/ia64/kernel/syscalls/syscall.tbl | 3
arch/m68k/kernel/syscalls/syscall.tbl | 3
arch/microblaze/kernel/syscalls/syscall.tbl | 3
arch/mips/configs/cu1000-neo_defconfig | 1
arch/mips/kernel/syscalls/syscall_n32.tbl | 3
arch/mips/kernel/syscalls/syscall_n64.tbl | 3
arch/mips/kernel/syscalls/syscall_o32.tbl | 3
arch/parisc/include/asm/io.h | 4
arch/parisc/kernel/syscalls/syscall.tbl | 3
arch/parisc/lib/iomap.c | 72 +++---
arch/powerpc/kernel/iomap.c | 28 +-
arch/powerpc/kernel/syscalls/syscall.tbl | 3
arch/s390/kernel/syscalls/syscall.tbl | 3
arch/sh/configs/dreamcast_defconfig | 1
arch/sh/configs/espt_defconfig | 1
arch/sh/configs/hp6xx_defconfig | 1
arch/sh/configs/landisk_defconfig | 1
arch/sh/configs/lboxre2_defconfig | 1
arch/sh/configs/microdev_defconfig | 1
arch/sh/configs/migor_defconfig | 1
arch/sh/configs/r7780mp_defconfig | 1
arch/sh/configs/r7785rp_defconfig | 1
arch/sh/configs/rts7751r2d1_defconfig | 1
arch/sh/configs/rts7751r2dplus_defconfig | 1
arch/sh/configs/se7206_defconfig | 1
arch/sh/configs/se7343_defconfig | 1
arch/sh/configs/se7619_defconfig | 1
arch/sh/configs/se7705_defconfig | 1
arch/sh/configs/se7750_defconfig | 1
arch/sh/configs/se7751_defconfig | 1
arch/sh/configs/secureedge5410_defconfig | 1
arch/sh/configs/sh03_defconfig | 1
arch/sh/configs/sh7710voipgw_defconfig | 1
arch/sh/configs/sh7757lcr_defconfig | 1
arch/sh/configs/sh7763rdp_defconfig | 1
arch/sh/configs/shmin_defconfig | 1
arch/sh/configs/titan_defconfig | 1
arch/sh/include/asm/string_32.h | 26 --
arch/sh/kernel/iomap.c | 22 -
arch/sh/kernel/syscalls/syscall.tbl | 3
arch/sparc/kernel/syscalls/syscall.tbl | 3
arch/x86/entry/syscalls/syscall_32.tbl | 3
arch/x86/entry/syscalls/syscall_64.tbl | 4
arch/xtensa/kernel/syscalls/syscall.tbl | 3
drivers/mailbox/bcm-pdc-mailbox.c | 2
drivers/net/wireless/realtek/rtl818x/rtl8180/rtl8180.h | 6
drivers/ntb/hw/intel/ntb_hw_gen1.c | 2
drivers/ntb/hw/intel/ntb_hw_gen3.h | 2
drivers/ntb/hw/intel/ntb_hw_intel.h | 2
drivers/nvdimm/btt.c | 4
drivers/nvdimm/pmem.c | 6
drivers/sh/clk/cpg.c | 25 --
drivers/virtio/virtio_pci_modern.c | 6
fs/autofs/dev-ioctl.c | 4
fs/io_uring.c | 2
fs/namei.c | 4
include/asm-generic/iomap.h | 28 +-
include/asm-generic/pgalloc.h | 2
include/asm-generic/vmlinux.lds.h | 1
include/linux/compat.h | 5
include/linux/huge_mm.h | 58 ++++-
include/linux/io-64-nonatomic-hi-lo.h | 4
include/linux/io-64-nonatomic-lo-hi.h | 4
include/linux/memcontrol.h | 2
include/linux/mm.h | 16 -
include/linux/mm_inline.h | 6
include/linux/mm_types.h | 1
include/linux/pagemap.h | 6
include/linux/pid.h | 1
include/linux/syscalls.h | 4
include/linux/sysctl.h | 6
include/uapi/asm-generic/unistd.h | 4
kernel/Makefile | 2
kernel/exit.c | 17 -
kernel/pid.c | 17 +
kernel/sys_ni.c | 3
kernel/sysctl_binary.c | 171 --------------
lib/iomap.c | 30 +-
lib/lz4/lz4_compress.c | 4
lib/lz4/lz4_decompress.c | 18 -
lib/lz4/lz4defs.h | 10
lib/lz4/lz4hc_compress.c | 2
mm/compaction.c | 2
mm/filemap.c | 22 +
mm/frontswap.c | 8
mm/gup.c | 2
mm/internal.h | 4
mm/kmemleak.c | 2
mm/list_lru.c | 2
mm/madvise.c | 190 ++++++++++++++--
mm/memcontrol.c | 10
mm/memory.c | 4
mm/memory_hotplug.c | 7
mm/mempolicy.c | 2
mm/mempool.c | 2
mm/migrate.c | 18 -
mm/mlock.c | 9
mm/page_alloc.c | 5
mm/page_counter.c | 13 -
mm/page_io.c | 12 -
mm/page_vma_mapped.c | 6
mm/rmap.c | 10
mm/swap.c | 21 -
mm/swap_state.c | 10
mm/swapfile.c | 33 +-
mm/vmscan.c | 6
mm/vmstat.c | 12 -
mm/workingset.c | 6
tools/perf/arch/powerpc/entry/syscalls/syscall.tbl | 2
tools/perf/arch/s390/entry/syscalls/syscall.tbl | 2
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 2
tools/testing/selftests/exec/.gitignore | 1
tools/testing/selftests/exec/Makefile | 5
tools/testing/selftests/exec/non-regular.c | 196 +++++++++++++++++
132 files changed, 815 insertions(+), 614 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-08-12 1:29 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-08-12 1:29 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- Most of the rest of MM
- various other subsystems
165 patches, based on 00e4db51259a5f936fec1424b884f029479d3981.
Subsystems affected by this patch series:
mm/memcg
mm/hugetlb
mm/vmscan
mm/proc
mm/compaction
mm/mempolicy
mm/oom-kill
mm/hugetlbfs
mm/migration
mm/thp
mm/cma
mm/util
mm/memory-hotplug
mm/cleanups
mm/uaccess
alpha
misc
sparse
bitmap
lib
lz4
bitops
checkpatch
autofs
minix
nilfs
ufs
fat
signals
kmod
coredump
exec
kdump
rapidio
panic
kcov
kgdb
ipc
mm/migration
mm/gup
mm/pagemap
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
Patch series "mm: memcg accounting of percpu memory", v3:
percpu: return number of released bytes from pcpu_free_area()
mm: memcg/percpu: account percpu memory to memory cgroups
mm: memcg/percpu: per-memcg percpu memory statistics
mm: memcg: charge memcg percpu memory to the parent cgroup
kselftests: cgroup: add perpcu memory accounting test
Subsystem: mm/hugetlb
Muchun Song <songmuchun@bytedance.com>:
mm/hugetlb: add mempolicy check in the reservation routine
Subsystem: mm/vmscan
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
Patch series "workingset protection/detection on the anonymous LRU list", v7:
mm/vmscan: make active/inactive ratio as 1:1 for anon lru
mm/vmscan: protect the workingset on anonymous LRU
mm/workingset: prepare the workingset detection infrastructure for anon LRU
mm/swapcache: support to handle the shadow entries
mm/swap: implement workingset detection for anonymous LRU
mm/vmscan: restore active/inactive ratio for anonymous LRU
Subsystem: mm/proc
Michal Koutný <mkoutny@suse.com>:
/proc/PID/smaps: consistent whitespace output format
Subsystem: mm/compaction
Nitin Gupta <nigupta@nvidia.com>:
mm: proactive compaction
mm: fix compile error due to COMPACTION_HPAGE_ORDER
mm: use unsigned types for fragmentation score
Alex Shi <alex.shi@linux.alibaba.com>:
mm/compaction: correct the comments of compact_defer_shift
Subsystem: mm/mempolicy
Krzysztof Kozlowski <krzk@kernel.org>:
mm: mempolicy: fix kerneldoc of numa_map_to_online_node()
Wenchao Hao <haowenchao22@gmail.com>:
mm/mempolicy.c: check parameters first in kernel_get_mempolicy
Yanfei Xu <yanfei.xu@windriver.com>:
include/linux/mempolicy.h: fix typo
Subsystem: mm/oom-kill
Yafang Shao <laoar.shao@gmail.com>:
mm, oom: make the calculation of oom badness more accurate
Michal Hocko <mhocko@suse.com>:
doc, mm: sync up oom_score_adj documentation
doc, mm: clarify /proc/<pid>/oom_score value range
Yafang Shao <laoar.shao@gmail.com>:
mm, oom: show process exiting information in __oom_kill_process()
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlbfs: prevent filesystem stacking of hugetlbfs
hugetlbfs: remove call to huge_pte_alloc without i_mmap_rwsem
Subsystem: mm/migration
Ralph Campbell <rcampbell@nvidia.com>:
Patch series "mm/migrate: optimize migrate_vma_setup() for holes":
mm/migrate: optimize migrate_vma_setup() for holes
mm/migrate: add migrate-shared test for migrate_vma_*()
Subsystem: mm/thp
Yang Shi <yang.shi@linux.alibaba.com>:
mm: thp: remove debug_cow switch
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/vmstat: add events for THP migration without split
Subsystem: mm/cma
Jianqun Xu <jay.xu@rock-chips.com>:
mm/cma.c: fix NULL pointer dereference when cma could not be activated
Barry Song <song.bao.hua@hisilicon.com>:
Patch series "mm: fix the names of general cma and hugetlb cma", v2:
mm: cma: fix the name of CMA areas
mm: hugetlb: fix the name of hugetlb CMA
Mike Kravetz <mike.kravetz@oracle.com>:
cma: don't quit at first error when activating reserved areas
Subsystem: mm/util
Waiman Long <longman@redhat.com>:
include/linux/sched/mm.h: optimize current_gfp_context()
Krzysztof Kozlowski <krzk@kernel.org>:
mm: mmu_notifier: fix and extend kerneldoc
Subsystem: mm/memory-hotplug
Daniel Jordan <daniel.m.jordan@oracle.com>:
x86/mm: use max memory block size on bare metal
Jia He <justin.he@arm.com>:
mm/memory_hotplug: introduce default dummy memory_add_physaddr_to_nid()
mm/memory_hotplug: fix unpaired mem_hotplug_begin/done
Charan Teja Reddy <charante@codeaurora.org>:
mm, memory_hotplug: update pcp lists everytime onlining a memory block
Subsystem: mm/cleanups
Randy Dunlap <rdunlap@infradead.org>:
mm: drop duplicated words in <linux/pgtable.h>
mm: drop duplicated words in <linux/mm.h>
include/linux/highmem.h: fix duplicated words in a comment
include/linux/frontswap.h: drop duplicated word in a comment
include/linux/memcontrol.h: drop duplicate word and fix spello
Arvind Sankar <nivedita@alum.mit.edu>:
sh/mm: drop unused MAX_PHYSADDR_BITS
sparc: drop unused MAX_PHYSADDR_BITS
Randy Dunlap <rdunlap@infradead.org>:
mm/compaction.c: delete duplicated word
mm/filemap.c: delete duplicated word
mm/hmm.c: delete duplicated word
mm/hugetlb.c: delete duplicated words
mm/memcontrol.c: delete duplicated words
mm/memory.c: delete duplicated words
mm/migrate.c: delete duplicated word
mm/nommu.c: delete duplicated words
mm/page_alloc.c: delete or fix duplicated words
mm/shmem.c: delete duplicated word
mm/slab_common.c: delete duplicated word
mm/usercopy.c: delete duplicated word
mm/vmscan.c: delete or fix duplicated words
mm/zpool.c: delete duplicated word and fix grammar
mm/zsmalloc.c: fix duplicated words
Subsystem: mm/uaccess
Christoph Hellwig <hch@lst.de>:
Patch series "clean up address limit helpers", v2:
syscalls: use uaccess_kernel in addr_limit_user_check
nds32: use uaccess_kernel in show_regs
riscv: include <asm/pgtable.h> in <asm/uaccess.h>
uaccess: remove segment_eq
uaccess: add force_uaccess_{begin,end} helpers
exec: use force_uaccess_begin during exec and exit
Subsystem: alpha
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>:
alpha: fix annotation of io{read,write}{16,32}be()
Subsystem: misc
Randy Dunlap <rdunlap@infradead.org>:
include/linux/compiler-clang.h: drop duplicated word in a comment
include/linux/exportfs.h: drop duplicated word in a comment
include/linux/async_tx.h: drop duplicated word in a comment
include/linux/xz.h: drop duplicated word
Christoph Hellwig <hch@lst.de>:
kernel: add a kernel_wait helper
Feng Tang <feng.tang@intel.com>:
./Makefile: add debug option to enable function aligned on 32 bytes
Arvind Sankar <nivedita@alum.mit.edu>:
kernel.h: remove duplicate include of asm/div64.h
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
include/: replace HTTP links with HTTPS ones
Matthew Wilcox <willy@infradead.org>:
include/linux/poison.h: remove obsolete comment
Subsystem: sparse
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>:
sparse: group the defines by functionality
Subsystem: bitmap
Stefano Brivio <sbrivio@redhat.com>:
Patch series "lib: Fix bitmap_cut() for overlaps, add test":
lib/bitmap.c: fix bitmap_cut() for partial overlapping case
lib/test_bitmap.c: add test for bitmap_cut()
Subsystem: lib
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>:
lib/generic-radix-tree.c: remove unneeded __rcu
Geert Uytterhoeven <geert@linux-m68k.org>:
lib/test_bitops: do the full test during module init
Wei Yongjun <weiyongjun1@huawei.com>:
lib/test_lockup.c: make symbol 'test_works' static
Tiezhu Yang <yangtiezhu@loongson.cn>:
lib/Kconfig.debug: make TEST_LOCKUP depend on module
lib/test_lockup.c: fix return value of test_lockup_init()
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
lib/: replace HTTP links with HTTPS ones
"Kars Mulder" <kerneldev@karsmulder.nl>:
kstrto*: correct documentation references to simple_strto*()
kstrto*: do not describe simple_strto*() as obsolete/replaced
Subsystem: lz4
Nick Terrell <terrelln@fb.com>:
lz4: fix kernel decompression speed
Subsystem: bitops
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
lib/test_bits.c: add tests of GENMASK
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: add test for possible misuse of IS_ENABLED() without CONFIG_
checkpatch: add --fix option for ASSIGN_IN_IF
Quentin Monnet <quentin@isovalent.com>:
checkpatch: fix CONST_STRUCT when const_structs.checkpatch is missing
Joe Perches <joe@perches.com>:
checkpatch: add test for repeated words
checkpatch: remove missing switch/case break test
Subsystem: autofs
Randy Dunlap <rdunlap@infradead.org>:
autofs: fix doubled word
Subsystem: minix
Eric Biggers <ebiggers@google.com>:
Patch series "fs/minix: fix syzbot bugs and set s_maxbytes":
fs/minix: check return value of sb_getblk()
fs/minix: don't allow getting deleted inodes
fs/minix: reject too-large maximum file size
fs/minix: set s_maxbytes correctly
fs/minix: fix block limit check for V1 filesystems
fs/minix: remove expected error message in block_to_path()
Subsystem: nilfs
Eric Biggers <ebiggers@google.com>:
Patch series "nilfs2 updates":
nilfs2: only call unlock_new_inode() if I_NEW
Joe Perches <joe@perches.com>:
nilfs2: convert __nilfs_msg to integrate the level and format
nilfs2: use a more common logging style
Subsystem: ufs
Colin Ian King <colin.king@canonical.com>:
fs/ufs: avoid potential u32 multiplication overflow
Subsystem: fat
Yubo Feng <fengyubo3@huawei.com>:
fatfs: switch write_lock to read_lock in fat_ioctl_get_attributes
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
VFAT/FAT/MSDOS FILESYSTEM: replace HTTP links with HTTPS ones
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
fat: fix fat_ra_init() for data clusters == 0
Subsystem: signals
Helge Deller <deller@gmx.de>:
fs/signalfd.c: fix inconsistent return codes for signalfd4
Subsystem: kmod
Tiezhu Yang <yangtiezhu@loongson.cn>:
Patch series "kmod/umh: a few fixes":
selftests: kmod: use variable NAME in kmod_test_0001()
kmod: remove redundant "be an" in the comment
test_kmod: avoid potential double free in trigger_config_run_type()
Subsystem: coredump
Lepton Wu <ytht.net@gmail.com>:
coredump: add %f for executable filename
Subsystem: exec
Kees Cook <keescook@chromium.org>:
Patch series "Relocate execve() sanity checks", v2:
exec: change uselib(2) IS_SREG() failure to EACCES
exec: move S_ISREG() check earlier
exec: move path_noexec() check earlier
Subsystem: kdump
Vijay Balakrishna <vijayb@linux.microsoft.com>:
kdump: append kernel build-id string to VMCOREINFO
Subsystem: rapidio
"Gustavo A. R. Silva" <gustavoars@kernel.org>:
drivers/rapidio/devices/rio_mport_cdev.c: use struct_size() helper
drivers/rapidio/rio-scan.c: use struct_size() helper
rapidio/rio_mport_cdev: use array_size() helper in copy_{from,to}_user()
Subsystem: panic
Tiezhu Yang <yangtiezhu@loongson.cn>:
kernel/panic.c: make oops_may_print() return bool
lib/Kconfig.debug: fix typo in the help text of CONFIG_PANIC_TIMEOUT
Yue Hu <huyue2@yulong.com>:
panic: make print_oops_end_marker() static
Subsystem: kcov
Marco Elver <elver@google.com>:
kcov: unconditionally add -fno-stack-protector to compiler options
Wei Yongjun <weiyongjun1@huawei.com>:
kcov: make some symbols static
Subsystem: kgdb
Nick Desaulniers <ndesaulniers@google.com>:
scripts/gdb: fix python 3.8 SyntaxWarning
Subsystem: ipc
Alexey Dobriyan <adobriyan@gmail.com>:
ipc: uninline functions
Liao Pingfang <liao.pingfang@zte.com.cn>:
ipc/shm.c: remove the superfluous break
Subsystem: mm/migration
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
Patch series "clean-up the migration target allocation functions", v5:
mm/page_isolation: prefer the node of the source page
mm/migrate: move migration helper from .h to .c
mm/hugetlb: unify migration callbacks
mm/migrate: clear __GFP_RECLAIM to make the migration callback consistent with regular THP allocations
mm/migrate: introduce a standard migration target allocation function
mm/mempolicy: use a standard migration target allocation callback
mm/page_alloc: remove a wrapper for alloc_migration_target()
Subsystem: mm/gup
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
mm/gup: restrict CMA region by using allocation scope API
mm/hugetlb: make hugetlb migration callback CMA aware
mm/gup: use a standard migration target allocation callback
Subsystem: mm/pagemap
Peter Xu <peterx@redhat.com>:
Patch series "mm: Page fault accounting cleanups", v5:
mm: do page fault accounting in handle_mm_fault
mm/alpha: use general page fault accounting
mm/arc: use general page fault accounting
mm/arm: use general page fault accounting
mm/arm64: use general page fault accounting
mm/csky: use general page fault accounting
mm/hexagon: use general page fault accounting
mm/ia64: use general page fault accounting
mm/m68k: use general page fault accounting
mm/microblaze: use general page fault accounting
mm/mips: use general page fault accounting
mm/nds32: use general page fault accounting
mm/nios2: use general page fault accounting
mm/openrisc: use general page fault accounting
mm/parisc: use general page fault accounting
mm/powerpc: use general page fault accounting
mm/riscv: use general page fault accounting
mm/s390: use general page fault accounting
mm/sh: use general page fault accounting
mm/sparc32: use general page fault accounting
mm/sparc64: use general page fault accounting
mm/x86: use general page fault accounting
mm/xtensa: use general page fault accounting
mm: clean up the last pieces of page fault accountings
mm/gup: remove task_struct pointer for all gup code
Documentation/admin-guide/cgroup-v2.rst | 4
Documentation/admin-guide/sysctl/kernel.rst | 3
Documentation/admin-guide/sysctl/vm.rst | 15 +
Documentation/filesystems/proc.rst | 11 -
Documentation/vm/page_migration.rst | 27 +++
Makefile | 4
arch/alpha/include/asm/io.h | 8
arch/alpha/include/asm/uaccess.h | 2
arch/alpha/mm/fault.c | 10 -
arch/arc/include/asm/segment.h | 3
arch/arc/kernel/process.c | 2
arch/arc/mm/fault.c | 20 --
arch/arm/include/asm/uaccess.h | 4
arch/arm/kernel/signal.c | 2
arch/arm/mm/fault.c | 27 ---
arch/arm64/include/asm/uaccess.h | 2
arch/arm64/kernel/sdei.c | 2
arch/arm64/mm/fault.c | 31 ---
arch/arm64/mm/numa.c | 10 -
arch/csky/include/asm/segment.h | 2
arch/csky/mm/fault.c | 15 -
arch/h8300/include/asm/segment.h | 2
arch/hexagon/mm/vm_fault.c | 11 -
arch/ia64/include/asm/uaccess.h | 2
arch/ia64/mm/fault.c | 11 -
arch/ia64/mm/numa.c | 2
arch/m68k/include/asm/segment.h | 2
arch/m68k/include/asm/tlbflush.h | 6
arch/m68k/mm/fault.c | 16 -
arch/microblaze/include/asm/uaccess.h | 2
arch/microblaze/mm/fault.c | 11 -
arch/mips/include/asm/uaccess.h | 2
arch/mips/kernel/unaligned.c | 27 +--
arch/mips/mm/fault.c | 16 -
arch/nds32/include/asm/uaccess.h | 2
arch/nds32/kernel/process.c | 2
arch/nds32/mm/alignment.c | 7
arch/nds32/mm/fault.c | 21 --
arch/nios2/include/asm/uaccess.h | 2
arch/nios2/mm/fault.c | 16 -
arch/openrisc/include/asm/uaccess.h | 2
arch/openrisc/mm/fault.c | 11 -
arch/parisc/include/asm/uaccess.h | 2
arch/parisc/mm/fault.c | 10 -
arch/powerpc/include/asm/uaccess.h | 3
arch/powerpc/mm/copro_fault.c | 7
arch/powerpc/mm/fault.c | 13 -
arch/riscv/include/asm/uaccess.h | 6
arch/riscv/mm/fault.c | 18 --
arch/s390/include/asm/uaccess.h | 2
arch/s390/kvm/interrupt.c | 2
arch/s390/kvm/kvm-s390.c | 2
arch/s390/kvm/priv.c | 8
arch/s390/mm/fault.c | 18 --
arch/s390/mm/gmap.c | 4
arch/sh/include/asm/segment.h | 3
arch/sh/include/asm/sparsemem.h | 4
arch/sh/kernel/traps_32.c | 12 -
arch/sh/mm/fault.c | 13 -
arch/sh/mm/init.c | 9 -
arch/sparc/include/asm/sparsemem.h | 1
arch/sparc/include/asm/uaccess_32.h | 2
arch/sparc/include/asm/uaccess_64.h | 2
arch/sparc/mm/fault_32.c | 15 -
arch/sparc/mm/fault_64.c | 13 -
arch/um/kernel/trap.c | 6
arch/x86/include/asm/uaccess.h | 2
arch/x86/mm/fault.c | 19 --
arch/x86/mm/init_64.c | 9 +
arch/x86/mm/numa.c | 1
arch/xtensa/include/asm/uaccess.h | 2
arch/xtensa/mm/fault.c | 17 -
drivers/firmware/arm_sdei.c | 5
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 2
drivers/infiniband/core/umem_odp.c | 2
drivers/iommu/amd/iommu_v2.c | 2
drivers/iommu/intel/svm.c | 3
drivers/rapidio/devices/rio_mport_cdev.c | 7
drivers/rapidio/rio-scan.c | 8
drivers/vfio/vfio_iommu_type1.c | 4
fs/coredump.c | 17 +
fs/exec.c | 38 ++--
fs/fat/Kconfig | 2
fs/fat/fatent.c | 3
fs/fat/file.c | 4
fs/hugetlbfs/inode.c | 6
fs/minix/inode.c | 48 ++++-
fs/minix/itree_common.c | 8
fs/minix/itree_v1.c | 16 -
fs/minix/itree_v2.c | 15 -
fs/minix/minix.h | 1
fs/namei.c | 10 -
fs/nilfs2/alloc.c | 38 ++--
fs/nilfs2/btree.c | 42 ++--
fs/nilfs2/cpfile.c | 10 -
fs/nilfs2/dat.c | 14 -
fs/nilfs2/direct.c | 14 -
fs/nilfs2/gcinode.c | 2
fs/nilfs2/ifile.c | 4
fs/nilfs2/inode.c | 32 +--
fs/nilfs2/ioctl.c | 37 ++--
fs/nilfs2/mdt.c | 2
fs/nilfs2/namei.c | 6
fs/nilfs2/nilfs.h | 18 +-
fs/nilfs2/page.c | 11 -
fs/nilfs2/recovery.c | 32 +--
fs/nilfs2/segbuf.c | 2
fs/nilfs2/segment.c | 38 ++--
fs/nilfs2/sufile.c | 29 +--
fs/nilfs2/super.c | 73 ++++----
fs/nilfs2/sysfs.c | 29 +--
fs/nilfs2/the_nilfs.c | 85 ++++-----
fs/open.c | 6
fs/proc/base.c | 11 +
fs/proc/task_mmu.c | 4
fs/signalfd.c | 10 -
fs/ufs/super.c | 2
include/asm-generic/uaccess.h | 4
include/clocksource/timer-ti-dm.h | 2
include/linux/async_tx.h | 2
include/linux/btree.h | 2
include/linux/compaction.h | 6
include/linux/compiler-clang.h | 2
include/linux/compiler_types.h | 44 ++---
include/linux/crash_core.h | 6
include/linux/delay.h | 2
include/linux/dma/k3-psil.h | 2
include/linux/dma/k3-udma-glue.h | 2
include/linux/dma/ti-cppi5.h | 2
include/linux/exportfs.h | 2
include/linux/frontswap.h | 2
include/linux/fs.h | 10 +
include/linux/generic-radix-tree.h | 2
include/linux/highmem.h | 2
include/linux/huge_mm.h | 7
include/linux/hugetlb.h | 53 ++++--
include/linux/irqchip/irq-omap-intc.h | 2
include/linux/jhash.h | 2
include/linux/kernel.h | 12 -
include/linux/leds-ti-lmu-common.h | 2
include/linux/memcontrol.h | 12 +
include/linux/mempolicy.h | 18 +-
include/linux/migrate.h | 42 +---
include/linux/mm.h | 20 +-
include/linux/mmzone.h | 17 +
include/linux/oom.h | 4
include/linux/pgtable.h | 12 -
include/linux/platform_data/davinci-cpufreq.h | 2
include/linux/platform_data/davinci_asp.h | 2
include/linux/platform_data/elm.h | 2
include/linux/platform_data/gpio-davinci.h | 2
include/linux/platform_data/gpmc-omap.h | 2
include/linux/platform_data/mtd-davinci-aemif.h | 2
include/linux/platform_data/omap-twl4030.h | 2
include/linux/platform_data/uio_pruss.h | 2
include/linux/platform_data/usb-omap.h | 2
include/linux/poison.h | 4
include/linux/sched/mm.h | 8
include/linux/sched/task.h | 1
include/linux/soc/ti/k3-ringacc.h | 2
include/linux/soc/ti/knav_qmss.h | 2
include/linux/soc/ti/ti-msgmgr.h | 2
include/linux/swap.h | 25 ++
include/linux/syscalls.h | 2
include/linux/uaccess.h | 20 ++
include/linux/vm_event_item.h | 3
include/linux/wkup_m3_ipc.h | 2
include/linux/xxhash.h | 2
include/linux/xz.h | 4
include/linux/zlib.h | 2
include/soc/arc/aux.h | 2
include/trace/events/migrate.h | 17 +
include/uapi/linux/auto_dev-ioctl.h | 2
include/uapi/linux/elf.h | 2
include/uapi/linux/map_to_7segment.h | 2
include/uapi/linux/types.h | 2
include/uapi/linux/usb/ch9.h | 2
ipc/sem.c | 3
ipc/shm.c | 4
kernel/Makefile | 2
kernel/crash_core.c | 50 +++++
kernel/events/callchain.c | 5
kernel/events/core.c | 5
kernel/events/uprobes.c | 8
kernel/exit.c | 18 +-
kernel/futex.c | 2
kernel/kcov.c | 6
kernel/kmod.c | 5
kernel/kthread.c | 5
kernel/panic.c | 4
kernel/stacktrace.c | 5
kernel/sysctl.c | 11 +
kernel/umh.c | 29 ---
lib/Kconfig.debug | 27 ++-
lib/Makefile | 1
lib/bitmap.c | 4
lib/crc64.c | 2
lib/decompress_bunzip2.c | 2
lib/decompress_unlzma.c | 6
lib/kstrtox.c | 20 --
lib/lz4/lz4_compress.c | 4
lib/lz4/lz4_decompress.c | 18 +-
lib/lz4/lz4defs.h | 10 +
lib/lz4/lz4hc_compress.c | 2
lib/math/rational.c | 2
lib/rbtree.c | 2
lib/test_bitmap.c | 58 ++++++
lib/test_bitops.c | 18 +-
lib/test_bits.c | 75 ++++++++
lib/test_kmod.c | 2
lib/test_lockup.c | 6
lib/ts_bm.c | 2
lib/xxhash.c | 2
lib/xz/xz_crc32.c | 2
lib/xz/xz_dec_bcj.c | 2
lib/xz/xz_dec_lzma2.c | 2
lib/xz/xz_lzma2.h | 2
lib/xz/xz_stream.h | 2
mm/cma.c | 40 +---
mm/cma.h | 4
mm/compaction.c | 207 +++++++++++++++++++++--
mm/filemap.c | 2
mm/gup.c | 195 ++++++----------------
mm/hmm.c | 5
mm/huge_memory.c | 23 --
mm/hugetlb.c | 93 ++++------
mm/internal.h | 9 -
mm/khugepaged.c | 2
mm/ksm.c | 3
mm/maccess.c | 22 +-
mm/memcontrol.c | 42 +++-
mm/memory-failure.c | 7
mm/memory.c | 107 +++++++++---
mm/memory_hotplug.c | 30 ++-
mm/mempolicy.c | 49 +----
mm/migrate.c | 151 ++++++++++++++---
mm/mmu_notifier.c | 9 -
mm/nommu.c | 4
mm/oom_kill.c | 24 +-
mm/page_alloc.c | 14 +
mm/page_isolation.c | 21 --
mm/percpu-internal.h | 55 ++++++
mm/percpu-km.c | 5
mm/percpu-stats.c | 36 ++--
mm/percpu-vm.c | 5
mm/percpu.c | 208 +++++++++++++++++++++---
mm/process_vm_access.c | 2
mm/rmap.c | 2
mm/shmem.c | 5
mm/slab_common.c | 2
mm/swap.c | 13 -
mm/swap_state.c | 80 +++++++--
mm/swapfile.c | 4
mm/usercopy.c | 2
mm/userfaultfd.c | 2
mm/vmscan.c | 36 ++--
mm/vmstat.c | 32 +++
mm/workingset.c | 23 +-
mm/zpool.c | 8
mm/zsmalloc.c | 2
scripts/checkpatch.pl | 116 +++++++++----
scripts/gdb/linux/rbtree.py | 4
security/tomoyo/domain.c | 2
tools/testing/selftests/cgroup/test_kmem.c | 70 +++++++-
tools/testing/selftests/kmod/kmod.sh | 4
tools/testing/selftests/vm/hmm-tests.c | 35 ++++
virt/kvm/async_pf.c | 2
virt/kvm/kvm_main.c | 2
268 files changed, 2481 insertions(+), 1551 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-08-07 6:16 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-08-07 6:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- A few MM hotfixes
- kthread, tools, scripts, ntfs and ocfs2
- Some of MM
163 patches, based on d6efb3ac3e6c19ab722b28bdb9252bae0b9676b6.
Subsystems affected by this patch series:
mm/pagemap
mm/hofixes
mm/pagealloc
kthread
tools
scripts
ntfs
ocfs2
mm/slab-generic
mm/slab
mm/slub
mm/kcsan
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/shmem
mm/memcg
mm/pagemap
mm/mremap
mm/mincore
mm/sparsemem
mm/vmalloc
mm/kasan
mm/pagealloc
mm/hugetlb
mm/vmscan
Subsystem: mm/pagemap
Yang Shi <yang.shi@linux.alibaba.com>:
mm/memory.c: avoid access flag update TLB flush for retried page fault
Subsystem: mm/hofixes
Ralph Campbell <rcampbell@nvidia.com>:
mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER
Subsystem: mm/pagealloc
David Hildenbrand <david@redhat.com>:
mm/shuffle: don't move pages between zones and don't read garbage memmaps
Subsystem: kthread
Peter Zijlstra <peterz@infradead.org>:
mm: fix kthread_use_mm() vs TLB invalidate
Ilias Stamatis <stamatis.iliass@gmail.com>:
kthread: remove incorrect comment in kthread_create_on_cpu()
Subsystem: tools
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
tools/: replace HTTP links with HTTPS ones
Gaurav Singh <gaurav1086@gmail.com>:
tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference
Subsystem: scripts
Jialu Xu <xujialu@vimux.org>:
scripts/tags.sh: collect compiled source precisely
Nikolay Borisov <nborisov@suse.com>:
scripts/bloat-o-meter: Support comparing library archives
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
scripts/decode_stacktrace.sh: skip missing symbols
scripts/decode_stacktrace.sh: guess basepath if not specified
scripts/decode_stacktrace.sh: guess path to modules
scripts/decode_stacktrace.sh: guess path to vmlinux by release name
Joe Perches <joe@perches.com>:
const_structs.checkpatch: add regulator_ops
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ntfs
Luca Stefani <luca.stefani.ge1@gmail.com>:
ntfs: fix ntfs_test_inode and ntfs_init_locked_inode function type
Subsystem: ocfs2
Gang He <ghe@suse.com>:
ocfs2: fix remounting needed after setfacl command
Randy Dunlap <rdunlap@infradead.org>:
ocfs2: suballoc.h: delete a duplicated word
Junxiao Bi <junxiao.bi@oracle.com>:
ocfs2: change slot number type s16 to u16
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
ocfs2: replace HTTP links with HTTPS ones
Pavel Machek <pavel@ucw.cz>:
ocfs2: fix unbalanced locking
Subsystem: mm/slab-generic
Waiman Long <longman@redhat.com>:
mm, treewide: rename kzfree() to kfree_sensitive()
William Kucharski <william.kucharski@oracle.com>:
mm: ksize() should silently accept a NULL pointer
Subsystem: mm/slab
Kees Cook <keescook@chromium.org>:
Patch series "mm: Expand CONFIG_SLAB_FREELIST_HARDENED to include SLAB":
mm/slab: expand CONFIG_SLAB_FREELIST_HARDENED to include SLAB
mm/slab: add naive detection of double free
Long Li <lonuxli.64@gmail.com>:
mm, slab: check GFP_SLAB_BUG_MASK before alloc_pages in kmalloc_order
Xiao Yang <yangx.jy@cn.fujitsu.com>:
mm/slab.c: update outdated kmem_list3 in a comment
Subsystem: mm/slub
Vlastimil Babka <vbabka@suse.cz>:
Patch series "slub_debug fixes and improvements":
mm, slub: extend slub_debug syntax for multiple blocks
mm, slub: make some slub_debug related attributes read-only
mm, slub: remove runtime allocation order changes
mm, slub: make remaining slub_debug related attributes read-only
mm, slub: make reclaim_account attribute read-only
mm, slub: introduce static key for slub_debug()
mm, slub: introduce kmem_cache_debug_flags()
mm, slub: extend checks guarded by slub_debug static key
mm, slab/slub: move and improve cache_from_obj()
mm, slab/slub: improve error reporting and overhead of cache_from_obj()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/slub.c: drop lockdep_assert_held() from put_map()
Subsystem: mm/kcsan
Marco Elver <elver@google.com>:
mm, kcsan: instrument SLAB/SLUB free with "ASSERT_EXCLUSIVE_ACCESS"
Subsystem: mm/debug
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/debug_vm_pgtable: Add some more tests", v5:
mm/debug_vm_pgtable: add tests validating arch helpers for core MM features
mm/debug_vm_pgtable: add tests validating advanced arch page table helpers
mm/debug_vm_pgtable: add debug prints for individual tests
Documentation/mm: add descriptions for arch page table helpers
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Improvements for dump_page()", v2:
mm/debug: handle page->mapping better in dump_page
mm/debug: dump compound page information on a second line
mm/debug: print head flags in dump_page
mm/debug: switch dump_page to get_kernel_nofault
mm/debug: print the inode number in dump_page
mm/debug: print hashed address of struct page
John Hubbard <jhubbard@nvidia.com>:
mm, dump_page: do not crash with bad compound_mapcount()
Subsystem: mm/pagecache
Yang Shi <yang.shi@linux.alibaba.com>:
mm: filemap: clear idle flag for writes
mm: filemap: add missing FGP_ flags in kerneldoc comment for pagecache_get_page
Subsystem: mm/gup
Tang Yizhou <tangyizhou@huawei.com>:
mm/gup.c: fix the comment of return value for populate_vma_page_range()
Subsystem: mm/swap
Zhen Lei <thunder.leizhen@huawei.com>:
Patch series "clean up some functions in mm/swap_slots.c":
mm/swap_slots.c: simplify alloc_swap_slot_cache()
mm/swap_slots.c: simplify enable_swap_slots_cache()
mm/swap_slots.c: remove redundant check for swap_slot_cache_initialized
Krzysztof Kozlowski <krzk@kernel.org>:
mm: swap: fix kerneldoc of swap_vma_readahead()
Xianting Tian <xianting_tian@126.com>:
mm/page_io.c: use blk_io_schedule() for avoiding task hung in sync io
Subsystem: mm/shmem
Chris Down <chris@chrisdown.name>:
Patch series "tmpfs: inode: Reduce risk of inum overflow", v7:
tmpfs: per-superblock i_ino support
tmpfs: support 64-bit inums per-sb
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: kmem: make memcg_kmem_enabled() irreversible
Patch series "The new cgroup slab memory controller", v7:
mm: memcg: factor out memcg- and lruvec-level changes out of __mod_lruvec_state()
mm: memcg: prepare for byte-sized vmstat items
mm: memcg: convert vmstat slab counters to bytes
mm: slub: implement SLUB version of obj_to_index()
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: decouple reference counting from page accounting
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: obj_cgroup API
mm: memcg/slab: allocate obj_cgroups for non-root slab pages
mm: memcg/slab: save obj_cgroup for non-root slab objects
mm: memcg/slab: charge individual slab objects instead of pages
mm: memcg/slab: deprecate memory.kmem.slabinfo
mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h
mm: memcg/slab: use a single set of kmem_caches for all accounted allocations
mm: memcg/slab: simplify memcg cache creation
mm: memcg/slab: remove memcg_kmem_get_cache()
mm: memcg/slab: deprecate slab_root_caches
mm: memcg/slab: remove redundant check in memcg_accumulate_slabinfo()
mm: memcg/slab: use a single set of kmem_caches for all allocations
kselftests: cgroup: add kernel memory accounting tests
tools/cgroup: add memcg_slabinfo.py tool
Shakeel Butt <shakeelb@google.com>:
mm: memcontrol: account kernel stack per node
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: remove unused argument by charge_slab_page()
mm: slab: rename (un)charge_slab_page() to (un)account_slab_page()
mm: kmem: switch to static_branch_likely() in memcg_kmem_enabled()
mm: memcontrol: avoid workload stalls when lowering memory.high
Chris Down <chris@chrisdown.name>:
Patch series "mm, memcg: reclaim harder before high throttling", v2:
mm, memcg: reclaim more aggressively before high allocator throttling
mm, memcg: unify reclaim retry limits with page allocator
Yafang Shao <laoar.shao@gmail.com>:
Patch series "mm, memcg: memory.{low,min} reclaim fix & cleanup", v4:
mm, memcg: avoid stale protection values when cgroup is above protection
Chris Down <chris@chrisdown.name>:
mm, memcg: decouple e{low,min} state mutations from protection checks
Yafang Shao <laoar.shao@gmail.com>:
memcg, oom: check memcg margin for parallel oom
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: restore proper dirty throttling when memory.high changes
mm: memcontrol: don't count limit-setting reclaim as memory pressure
Michal Koutný <mkoutny@suse.com>:
mm/page_counter.c: fix protection usage propagation
Subsystem: mm/pagemap
Ralph Campbell <rcampbell@nvidia.com>:
mm: remove redundant check non_swap_entry()
Alex Zhang <zhangalex@google.com>:
mm/memory.c: make remap_pfn_range() reject unaligned addr
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: cleanup usage of <asm/pgalloc.h>":
mm: remove unneeded includes of <asm/pgalloc.h>
opeinrisc: switch to generic version of pte allocation
xtensa: switch to generic version of pte allocation
asm-generic: pgalloc: provide generic pmd_alloc_one() and pmd_free_one()
asm-generic: pgalloc: provide generic pud_alloc_one() and pud_free_one()
asm-generic: pgalloc: provide generic pgd_free()
mm: move lib/ioremap.c to mm/
Joerg Roedel <jroedel@suse.de>:
mm: move p?d_alloc_track to separate header file
Zhen Lei <thunder.leizhen@huawei.com>:
mm/mmap: optimize a branch judgment in ksys_mmap_pgoff()
Feng Tang <feng.tang@intel.com>:
Patch series "make vm_committed_as_batch aware of vm overcommit policy", v6:
proc/meminfo: avoid open coded reading of vm_committed_as
mm/util.c: make vm_memory_committed() more accurate
percpu_counter: add percpu_counter_sync()
mm: adjust vm_committed_as_batch according to vm overcommit policy
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "arm64: Enable vmemmap mapping from device memory", v4:
mm/sparsemem: enable vmem_altmap support in vmemmap_populate_basepages()
mm/sparsemem: enable vmem_altmap support in vmemmap_alloc_block_buf()
arm64/mm: enable vmem_altmap support for vmemmap mappings
Miaohe Lin <linmiaohe@huawei.com>:
mm: mmap: merge vma after call_mmap() if possible
Peter Collingbourne <pcc@google.com>:
mm: remove unnecessary wrapper function do_mmap_pgoff()
Subsystem: mm/mremap
Wei Yang <richard.weiyang@linux.alibaba.com>:
Patch series "mm/mremap: cleanup move_page_tables() a little", v5:
mm/mremap: it is sure to have enough space when extent meets requirement
mm/mremap: calculate extent in one place
mm/mremap: start addresses are properly aligned
Subsystem: mm/mincore
Ricardo Cañuelo <ricardo.canuelo@collabora.com>:
selftests: add mincore() tests
Subsystem: mm/sparsemem
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/sparse: never partially remove memmap for early section
mm/sparse: only sub-section aligned range would be populated
Mike Rapoport <rppt@linux.ibm.com>:
mm/sparse: cleanup the code surrounding memory_present()
Subsystem: mm/vmalloc
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
vmalloc: convert to XArray
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: simplify merge_or_add_vmap_area()
mm/vmalloc: simplify augment_tree_propagate_check()
mm/vmalloc: switch to "propagate()" callback
mm/vmalloc: update the header about KVA rework
Mike Rapoport <rppt@linux.ibm.com>:
mm: vmalloc: remove redundant assignment in unmap_kernel_range_noflush()
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc.c: remove BUG() from the find_va_links()
Subsystem: mm/kasan
Marco Elver <elver@google.com>:
kasan: improve and simplify Kconfig.kasan
kasan: update required compiler versions in documentation
Walter Wu <walter-zh.wu@mediatek.com>:
Patch series "kasan: memorize and print call_rcu stack", v8:
rcu: kasan: record and print call_rcu() call stack
kasan: record and print the free track
kasan: add tests for call_rcu stack recording
kasan: update documentation for generic kasan
Vincenzo Frascino <vincenzo.frascino@arm.com>:
kasan: remove kasan_unpoison_stack_above_sp_to()
Walter Wu <walter-zh.wu@mediatek.com>:
lib/test_kasan.c: fix KASAN unit tests for tag-based KASAN
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kasan: support stack instrumentation for tag-based mode", v2:
kasan: don't tag stacks allocated with pagealloc
efi: provide empty efi_enter_virtual_mode implementation
kasan, arm64: don't instrument functions that enable kasan
kasan: allow enabling stack tagging for tag-based mode
kasan: adjust kasan_stack_oob for tag-based mode
Subsystem: mm/pagealloc
Vlastimil Babka <vbabka@suse.cz>:
mm, page_alloc: use unlikely() in task_capc()
Jaewon Kim <jaewon31.kim@samsung.com>:
page_alloc: consider highatomic reserve in watermark fast
Charan Teja Reddy <charante@codeaurora.org>:
mm, page_alloc: skip ->waternark_boost for atomic order-0 allocations
David Hildenbrand <david@redhat.com>:
mm: remove vm_total_pages
mm/page_alloc: remove nr_free_pagecache_pages()
mm/memory_hotplug: document why shuffle_zone() is relevant
mm/shuffle: remove dynamic reconfiguration
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/page_alloc.c: replace the definition of NR_MIGRATETYPE_BITS with PB_migratetype_bits
mm/page_alloc.c: extract the common part in pfn_to_bitidx()
mm/page_alloc.c: simplify pageblock bitmap access
mm/page_alloc.c: remove unnecessary end_bitidx for [set|get]_pfnblock_flags_mask()
Qian Cai <cai@lca.pw>:
mm/page_alloc: silence a KASAN false positive
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/page_alloc: fallbacks at most has 3 elements
Muchun Song <songmuchun@bytedance.com>:
mm/page_alloc.c: skip setting nodemask when we are in interrupt
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
Subsystem: mm/hugetlb
"Alexander A. Klimov" <grandmaster@al2klimov.de>:
mm: thp: replace HTTP links with HTTPS ones
Peter Xu <peterx@redhat.com>:
mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
Hugh Dickins <hughd@google.com>:
khugepaged: collapse_pte_mapped_thp() flush the right range
khugepaged: collapse_pte_mapped_thp() protect the pmd lock
khugepaged: retract_page_tables() remember to test exit
khugepaged: khugepaged_test_exit() check mmget_still_valid()
Subsystem: mm/vmscan
dylan-meiners <spacct.spacct@gmail.com>:
mm/vmscan.c: fix typo
Shakeel Butt <shakeelb@google.com>:
mm: vmscan: consistent update to pgrefill
Documentation/admin-guide/kernel-parameters.txt | 2
Documentation/dev-tools/kasan.rst | 10
Documentation/filesystems/dlmfs.rst | 2
Documentation/filesystems/ocfs2.rst | 2
Documentation/filesystems/tmpfs.rst | 18
Documentation/vm/arch_pgtable_helpers.rst | 258 +++++
Documentation/vm/memory-model.rst | 9
Documentation/vm/slub.rst | 51 -
arch/alpha/include/asm/pgalloc.h | 21
arch/alpha/include/asm/tlbflush.h | 1
arch/alpha/kernel/core_irongate.c | 1
arch/alpha/kernel/core_marvel.c | 1
arch/alpha/kernel/core_titan.c | 1
arch/alpha/kernel/machvec_impl.h | 2
arch/alpha/kernel/smp.c | 1
arch/alpha/mm/numa.c | 1
arch/arc/mm/fault.c | 1
arch/arc/mm/init.c | 1
arch/arm/include/asm/pgalloc.h | 12
arch/arm/include/asm/tlb.h | 1
arch/arm/kernel/machine_kexec.c | 1
arch/arm/kernel/smp.c | 1
arch/arm/kernel/suspend.c | 1
arch/arm/mach-omap2/omap-mpuss-lowpower.c | 1
arch/arm/mm/hugetlbpage.c | 1
arch/arm/mm/init.c | 9
arch/arm/mm/mmu.c | 1
arch/arm64/include/asm/pgalloc.h | 39
arch/arm64/kernel/setup.c | 2
arch/arm64/kernel/smp.c | 1
arch/arm64/mm/hugetlbpage.c | 1
arch/arm64/mm/init.c | 6
arch/arm64/mm/ioremap.c | 1
arch/arm64/mm/mmu.c | 63 -
arch/csky/include/asm/pgalloc.h | 7
arch/csky/kernel/smp.c | 1
arch/hexagon/include/asm/pgalloc.h | 7
arch/ia64/include/asm/pgalloc.h | 24
arch/ia64/include/asm/tlb.h | 1
arch/ia64/kernel/process.c | 1
arch/ia64/kernel/smp.c | 1
arch/ia64/kernel/smpboot.c | 1
arch/ia64/mm/contig.c | 1
arch/ia64/mm/discontig.c | 4
arch/ia64/mm/hugetlbpage.c | 1
arch/ia64/mm/tlb.c | 1
arch/m68k/include/asm/mmu_context.h | 2
arch/m68k/include/asm/sun3_pgalloc.h | 7
arch/m68k/kernel/dma.c | 2
arch/m68k/kernel/traps.c | 3
arch/m68k/mm/cache.c | 2
arch/m68k/mm/fault.c | 1
arch/m68k/mm/kmap.c | 2
arch/m68k/mm/mcfmmu.c | 1
arch/m68k/mm/memory.c | 1
arch/m68k/sun3x/dvma.c | 2
arch/microblaze/include/asm/pgalloc.h | 6
arch/microblaze/include/asm/tlbflush.h | 1
arch/microblaze/kernel/process.c | 1
arch/microblaze/kernel/signal.c | 1
arch/microblaze/mm/init.c | 3
arch/mips/include/asm/pgalloc.h | 19
arch/mips/kernel/setup.c | 8
arch/mips/loongson64/numa.c | 1
arch/mips/sgi-ip27/ip27-memory.c | 2
arch/mips/sgi-ip32/ip32-memory.c | 1
arch/nds32/mm/mm-nds32.c | 2
arch/nios2/include/asm/pgalloc.h | 7
arch/openrisc/include/asm/pgalloc.h | 33
arch/openrisc/include/asm/tlbflush.h | 1
arch/openrisc/kernel/or32_ksyms.c | 1
arch/parisc/include/asm/mmu_context.h | 1
arch/parisc/include/asm/pgalloc.h | 12
arch/parisc/kernel/cache.c | 1
arch/parisc/kernel/pci-dma.c | 1
arch/parisc/kernel/process.c | 1
arch/parisc/kernel/signal.c | 1
arch/parisc/kernel/smp.c | 1
arch/parisc/mm/hugetlbpage.c | 1
arch/parisc/mm/init.c | 5
arch/parisc/mm/ioremap.c | 2
arch/powerpc/include/asm/tlb.h | 1
arch/powerpc/mm/book3s64/hash_hugetlbpage.c | 1
arch/powerpc/mm/book3s64/hash_pgtable.c | 1
arch/powerpc/mm/book3s64/hash_tlb.c | 1
arch/powerpc/mm/book3s64/radix_hugetlbpage.c | 1
arch/powerpc/mm/init_32.c | 1
arch/powerpc/mm/init_64.c | 4
arch/powerpc/mm/kasan/8xx.c | 1
arch/powerpc/mm/kasan/book3s_32.c | 1
arch/powerpc/mm/mem.c | 3
arch/powerpc/mm/nohash/40x.c | 1
arch/powerpc/mm/nohash/8xx.c | 1
arch/powerpc/mm/nohash/fsl_booke.c | 1
arch/powerpc/mm/nohash/kaslr_booke.c | 1
arch/powerpc/mm/nohash/tlb.c | 1
arch/powerpc/mm/numa.c | 1
arch/powerpc/mm/pgtable.c | 1
arch/powerpc/mm/pgtable_64.c | 1
arch/powerpc/mm/ptdump/hashpagetable.c | 2
arch/powerpc/mm/ptdump/ptdump.c | 1
arch/powerpc/platforms/pseries/cmm.c | 1
arch/riscv/include/asm/pgalloc.h | 18
arch/riscv/mm/fault.c | 1
arch/riscv/mm/init.c | 3
arch/s390/crypto/prng.c | 4
arch/s390/include/asm/tlb.h | 1
arch/s390/include/asm/tlbflush.h | 1
arch/s390/kernel/machine_kexec.c | 1
arch/s390/kernel/ptrace.c | 1
arch/s390/kvm/diag.c | 1
arch/s390/kvm/priv.c | 1
arch/s390/kvm/pv.c | 1
arch/s390/mm/cmm.c | 1
arch/s390/mm/init.c | 1
arch/s390/mm/mmap.c | 1
arch/s390/mm/pgtable.c | 1
arch/sh/include/asm/pgalloc.h | 4
arch/sh/kernel/idle.c | 1
arch/sh/kernel/machine_kexec.c | 1
arch/sh/mm/cache-sh3.c | 1
arch/sh/mm/cache-sh7705.c | 1
arch/sh/mm/hugetlbpage.c | 1
arch/sh/mm/init.c | 7
arch/sh/mm/ioremap_fixed.c | 1
arch/sh/mm/numa.c | 3
arch/sh/mm/tlb-sh3.c | 1
arch/sparc/include/asm/ide.h | 1
arch/sparc/include/asm/tlb_64.h | 1
arch/sparc/kernel/leon_smp.c | 1
arch/sparc/kernel/process_32.c | 1
arch/sparc/kernel/signal_32.c | 1
arch/sparc/kernel/smp_32.c | 1
arch/sparc/kernel/smp_64.c | 1
arch/sparc/kernel/sun4m_irq.c | 1
arch/sparc/mm/highmem.c | 1
arch/sparc/mm/init_64.c | 1
arch/sparc/mm/io-unit.c | 1
arch/sparc/mm/iommu.c | 1
arch/sparc/mm/tlb.c | 1
arch/um/include/asm/pgalloc.h | 9
arch/um/include/asm/pgtable-3level.h | 3
arch/um/kernel/mem.c | 17
arch/x86/ia32/ia32_aout.c | 1
arch/x86/include/asm/mmu_context.h | 1
arch/x86/include/asm/pgalloc.h | 42
arch/x86/kernel/alternative.c | 1
arch/x86/kernel/apic/apic.c | 1
arch/x86/kernel/mpparse.c | 1
arch/x86/kernel/traps.c | 1
arch/x86/mm/fault.c | 1
arch/x86/mm/hugetlbpage.c | 1
arch/x86/mm/init_32.c | 2
arch/x86/mm/init_64.c | 12
arch/x86/mm/kaslr.c | 1
arch/x86/mm/pgtable_32.c | 1
arch/x86/mm/pti.c | 1
arch/x86/platform/uv/bios_uv.c | 1
arch/x86/power/hibernate.c | 2
arch/xtensa/include/asm/pgalloc.h | 46
arch/xtensa/kernel/xtensa_ksyms.c | 1
arch/xtensa/mm/cache.c | 1
arch/xtensa/mm/fault.c | 1
crypto/adiantum.c | 2
crypto/ahash.c | 4
crypto/api.c | 2
crypto/asymmetric_keys/verify_pefile.c | 4
crypto/deflate.c | 2
crypto/drbg.c | 10
crypto/ecc.c | 8
crypto/ecdh.c | 2
crypto/gcm.c | 2
crypto/gf128mul.c | 4
crypto/jitterentropy-kcapi.c | 2
crypto/rng.c | 2
crypto/rsa-pkcs1pad.c | 6
crypto/seqiv.c | 2
crypto/shash.c | 2
crypto/skcipher.c | 2
crypto/testmgr.c | 6
crypto/zstd.c | 2
drivers/base/node.c | 10
drivers/block/xen-blkback/common.h | 1
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 2
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c | 2
drivers/crypto/amlogic/amlogic-gxl-cipher.c | 4
drivers/crypto/atmel-ecc.c | 2
drivers/crypto/caam/caampkc.c | 28
drivers/crypto/cavium/cpt/cptvf_main.c | 6
drivers/crypto/cavium/cpt/cptvf_reqmanager.c | 12
drivers/crypto/cavium/nitrox/nitrox_lib.c | 4
drivers/crypto/cavium/zip/zip_crypto.c | 6
drivers/crypto/ccp/ccp-crypto-rsa.c | 6
drivers/crypto/ccree/cc_aead.c | 4
drivers/crypto/ccree/cc_buffer_mgr.c | 4
drivers/crypto/ccree/cc_cipher.c | 6
drivers/crypto/ccree/cc_hash.c | 8
drivers/crypto/ccree/cc_request_mgr.c | 2
drivers/crypto/marvell/cesa/hash.c | 2
drivers/crypto/marvell/octeontx/otx_cptvf_main.c | 6
drivers/crypto/marvell/octeontx/otx_cptvf_reqmgr.h | 2
drivers/crypto/nx/nx.c | 4
drivers/crypto/virtio/virtio_crypto_algs.c | 12
drivers/crypto/virtio/virtio_crypto_core.c | 2
drivers/iommu/ipmmu-vmsa.c | 1
drivers/md/dm-crypt.c | 32
drivers/md/dm-integrity.c | 6
drivers/misc/ibmvmc.c | 6
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 2
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 6
drivers/net/ppp/ppp_mppe.c | 6
drivers/net/wireguard/noise.c | 4
drivers/net/wireguard/peer.c | 2
drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 2
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 6
drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 6
drivers/net/wireless/intersil/orinoco/wext.c | 4
drivers/s390/crypto/ap_bus.h | 4
drivers/staging/ks7010/ks_hostif.c | 2
drivers/staging/rtl8723bs/core/rtw_security.c | 2
drivers/staging/wlan-ng/p80211netdev.c | 2
drivers/target/iscsi/iscsi_target_auth.c | 2
drivers/xen/balloon.c | 1
drivers/xen/privcmd.c | 1
fs/Kconfig | 21
fs/aio.c | 6
fs/binfmt_elf_fdpic.c | 1
fs/cifs/cifsencrypt.c | 2
fs/cifs/connect.c | 10
fs/cifs/dfs_cache.c | 2
fs/cifs/misc.c | 8
fs/crypto/inline_crypt.c | 5
fs/crypto/keyring.c | 6
fs/crypto/keysetup_v1.c | 4
fs/ecryptfs/keystore.c | 4
fs/ecryptfs/messaging.c | 2
fs/hugetlbfs/inode.c | 2
fs/ntfs/dir.c | 2
fs/ntfs/inode.c | 27
fs/ntfs/inode.h | 4
fs/ntfs/mft.c | 4
fs/ocfs2/Kconfig | 6
fs/ocfs2/acl.c | 2
fs/ocfs2/blockcheck.c | 2
fs/ocfs2/dlmglue.c | 8
fs/ocfs2/ocfs2.h | 4
fs/ocfs2/suballoc.c | 4
fs/ocfs2/suballoc.h | 2
fs/ocfs2/super.c | 4
fs/proc/meminfo.c | 10
include/asm-generic/pgalloc.h | 80 +
include/asm-generic/tlb.h | 1
include/crypto/aead.h | 2
include/crypto/akcipher.h | 2
include/crypto/gf128mul.h | 2
include/crypto/hash.h | 2
include/crypto/internal/acompress.h | 2
include/crypto/kpp.h | 2
include/crypto/skcipher.h | 2
include/linux/efi.h | 4
include/linux/fs.h | 17
include/linux/huge_mm.h | 2
include/linux/kasan.h | 4
include/linux/memcontrol.h | 209 +++-
include/linux/mm.h | 86 -
include/linux/mm_types.h | 5
include/linux/mman.h | 4
include/linux/mmu_notifier.h | 13
include/linux/mmzone.h | 54 -
include/linux/pageblock-flags.h | 30
include/linux/percpu_counter.h | 4
include/linux/sched/mm.h | 8
include/linux/shmem_fs.h | 3
include/linux/slab.h | 11
include/linux/slab_def.h | 9
include/linux/slub_def.h | 31
include/linux/swap.h | 2
include/linux/vmstat.h | 14
init/Kconfig | 9
init/main.c | 2
ipc/shm.c | 2
kernel/fork.c | 54 -
kernel/kthread.c | 8
kernel/power/snapshot.c | 2
kernel/rcu/tree.c | 2
kernel/scs.c | 2
kernel/sysctl.c | 2
lib/Kconfig.kasan | 39
lib/Makefile | 1
lib/ioremap.c | 287 -----
lib/mpi/mpiutil.c | 6
lib/percpu_counter.c | 19
lib/test_kasan.c | 87 +
mm/Kconfig | 6
mm/Makefile | 2
mm/debug.c | 103 +-
mm/debug_vm_pgtable.c | 666 +++++++++++++
mm/filemap.c | 9
mm/gup.c | 3
mm/huge_memory.c | 14
mm/hugetlb.c | 25
mm/ioremap.c | 289 +++++
mm/kasan/common.c | 41
mm/kasan/generic.c | 43
mm/kasan/generic_report.c | 1
mm/kasan/kasan.h | 25
mm/kasan/quarantine.c | 1
mm/kasan/report.c | 54 -
mm/kasan/tags.c | 37
mm/khugepaged.c | 75 -
mm/memcontrol.c | 832 ++++++++++-------
mm/memory.c | 15
mm/memory_hotplug.c | 11
mm/migrate.c | 6
mm/mm_init.c | 20
mm/mmap.c | 45
mm/mremap.c | 19
mm/nommu.c | 6
mm/oom_kill.c | 2
mm/page-writeback.c | 6
mm/page_alloc.c | 226 ++--
mm/page_counter.c | 6
mm/page_io.c | 2
mm/pgalloc-track.h | 51 +
mm/shmem.c | 133 ++
mm/shuffle.c | 46
mm/shuffle.h | 17
mm/slab.c | 129 +-
mm/slab.h | 755 ++++++---------
mm/slab_common.c | 829 ++--------------
mm/slob.c | 12
mm/slub.c | 680 ++++---------
mm/sparse-vmemmap.c | 62 -
mm/sparse.c | 31
mm/swap_slots.c | 45
mm/swap_state.c | 2
mm/util.c | 52 +
mm/vmalloc.c | 176 +--
mm/vmscan.c | 39
mm/vmstat.c | 38
mm/workingset.c | 6
net/atm/mpoa_caches.c | 4
net/bluetooth/ecdh_helper.c | 6
net/bluetooth/smp.c | 24
net/core/sock.c | 2
net/ipv4/tcp_fastopen.c | 2
net/mac80211/aead_api.c | 4
net/mac80211/aes_gmac.c | 2
net/mac80211/key.c | 2
net/mac802154/llsec.c | 20
net/sctp/auth.c | 2
net/sunrpc/auth_gss/gss_krb5_crypto.c | 4
net/sunrpc/auth_gss/gss_krb5_keys.c | 6
net/sunrpc/auth_gss/gss_krb5_mech.c | 2
net/tipc/crypto.c | 10
net/wireless/core.c | 2
net/wireless/ibss.c | 4
net/wireless/lib80211_crypt_tkip.c | 2
net/wireless/lib80211_crypt_wep.c | 2
net/wireless/nl80211.c | 24
net/wireless/sme.c | 6
net/wireless/util.c | 2
net/wireless/wext-sme.c | 2
scripts/Makefile.kasan | 3
scripts/bloat-o-meter | 2
scripts/coccinelle/free/devm_free.cocci | 4
scripts/coccinelle/free/ifnullfree.cocci | 4
scripts/coccinelle/free/kfree.cocci | 6
scripts/coccinelle/free/kfreeaddr.cocci | 2
scripts/const_structs.checkpatch | 1
scripts/decode_stacktrace.sh | 85 +
scripts/spelling.txt | 19
scripts/tags.sh | 18
security/apparmor/domain.c | 4
security/apparmor/include/file.h | 2
security/apparmor/policy.c | 24
security/apparmor/policy_ns.c | 6
security/apparmor/policy_unpack.c | 14
security/keys/big_key.c | 6
security/keys/dh.c | 14
security/keys/encrypted-keys/encrypted.c | 14
security/keys/trusted-keys/trusted_tpm1.c | 34
security/keys/user_defined.c | 6
tools/cgroup/memcg_slabinfo.py | 226 ++++
tools/include/linux/jhash.h | 2
tools/lib/rbtree.c | 2
tools/lib/traceevent/event-parse.h | 2
tools/testing/ktest/examples/README | 2
tools/testing/ktest/examples/crosstests.conf | 2
tools/testing/selftests/Makefile | 1
tools/testing/selftests/cgroup/.gitignore | 1
tools/testing/selftests/cgroup/Makefile | 2
tools/testing/selftests/cgroup/cgroup_util.c | 2
tools/testing/selftests/cgroup/test_kmem.c | 382 +++++++
tools/testing/selftests/mincore/.gitignore | 2
tools/testing/selftests/mincore/Makefile | 6
tools/testing/selftests/mincore/mincore_selftest.c | 361 +++++++
397 files changed, 5547 insertions(+), 4072 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-07-24 4:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-07-24 4:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
15 patches, based on f37e99aca03f63aa3f2bd13ceaf769455d12c4b0.
Subsystems affected by this patch series:
mm/pagemap
mm/shmem
mm/hotfixes
mm/memcg
mm/hugetlb
mailmap
squashfs
scripts
io-mapping
MAINTAINERS
gdb
Subsystem: mm/pagemap
Yang Shi <yang.shi@linux.alibaba.com>:
mm/memory.c: avoid access flag update TLB flush for retried page fault
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
mm/mmap.c: close race between munmap() and expand_upwards()/downwards()
Subsystem: mm/shmem
Chengguang Xu <cgxu519@mykernel.net>:
vfs/xattr: mm/shmem: kernfs: release simple xattr entry in a right way
Subsystem: mm/hotfixes
Tom Rix <trix@redhat.com>:
mm: initialize return of vm_insert_pages
Bhupesh Sharma <bhsharma@redhat.com>:
mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages()
Subsystem: mm/memcg
Hugh Dickins <hughd@google.com>:
mm/memcg: fix refcount error while moving and swapping
Muchun Song <songmuchun@bytedance.com>:
mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
Subsystem: mm/hugetlb
Barry Song <song.bao.hua@hisilicon.com>:
mm/hugetlb: avoid hardcoding while checking if cma is enabled
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
khugepaged: fix null-pointer dereference due to race
Subsystem: mailmap
Mike Rapoport <rppt@linux.ibm.com>:
mailmap: add entry for Mike Rapoport
Subsystem: squashfs
Phillip Lougher <phillip@squashfs.org.uk>:
squashfs: fix length field overlap check in metadata reading
Subsystem: scripts
Pi-Hsun Shih <pihsun@chromium.org>:
scripts/decode_stacktrace: strip basepath from all paths
Subsystem: io-mapping
"Michael J. Ruhl" <michael.j.ruhl@intel.com>:
io-mapping: indicate mapping failure
Subsystem: MAINTAINERS
Andrey Konovalov <andreyknvl@google.com>:
MAINTAINERS: add KCOV section
Subsystem: gdb
Stefano Garzarella <sgarzare@redhat.com>:
scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
.mailmap | 3 +++
MAINTAINERS | 11 +++++++++++
fs/squashfs/block.c | 2 +-
include/linux/io-mapping.h | 5 ++++-
include/linux/xattr.h | 3 ++-
mm/hugetlb.c | 15 ++++++++++-----
mm/khugepaged.c | 3 +++
mm/memcontrol.c | 13 ++++++++++---
mm/memory.c | 9 +++++++--
mm/mmap.c | 16 ++++++++++++++--
mm/shmem.c | 2 +-
mm/slab_common.c | 35 ++++++++++++++++++++++++++++-------
scripts/decode_stacktrace.sh | 4 ++--
scripts/gdb/linux/symbols.py | 2 +-
14 files changed, 97 insertions(+), 26 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-07-03 22:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-07-03 22:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
5 patches, based on cdd3bb54332f82295ed90cd0c09c78cd0c0ee822.
Subsystems affected by this patch series:
mm/hugetlb
samples
mm/cma
mm/vmalloc
mm/pagealloc
Subsystem: mm/hugetlb
Mike Kravetz <mike.kravetz@oracle.com>:
mm/hugetlb.c: fix pages per hugetlb calculation
Subsystem: samples
Kees Cook <keescook@chromium.org>:
samples/vfs: avoid warning in statx override
Subsystem: mm/cma
Barry Song <song.bao.hua@hisilicon.com>:
mm/cma.c: use exact_nid true to fix possible per-numa cma leak
Subsystem: mm/vmalloc
Christoph Hellwig <hch@lst.de>:
vmalloc: fix the owner argument for the new __vmalloc_node_range callers
Subsystem: mm/pagealloc
Joel Savitz <jsavitz@redhat.com>:
mm/page_alloc: fix documentation error
arch/arm64/kernel/probes/kprobes.c | 2 +-
arch/x86/hyperv/hv_init.c | 3 ++-
kernel/module.c | 2 +-
mm/cma.c | 4 ++--
mm/hugetlb.c | 2 +-
mm/page_alloc.c | 2 +-
samples/vfs/test-statx.c | 2 ++
7 files changed, 10 insertions(+), 7 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-26 3:28 Andrew Morton
2020-06-26 6:51 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-06-26 3:28 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
32 patches, based on 908f7d12d3ba51dfe0449b9723199b423f97ca9a.
Subsystems affected by this patch series:
hotfixes
mm/pagealloc
kexec
ocfs2
lib
misc
mm/slab
mm/slab
mm/slub
mm/swap
mm/pagemap
mm/vmalloc
mm/memcg
mm/gup
mm/thp
mm/vmscan
x86
mm/memory-hotplug
MAINTAINERS
Subsystem: hotfixes
Stafford Horne <shorne@gmail.com>:
openrisc: fix boot oops when DEBUG_VM is enabled
Michal Hocko <mhocko@suse.com>:
mm: do_swap_page(): fix up the error code
Subsystem: mm/pagealloc
Vlastimil Babka <vbabka@suse.cz>:
mm, compaction: make capture control handling safe wrt interrupts
Subsystem: kexec
Lianbo Jiang <lijiang@redhat.com>:
kexec: do not verify the signature without the lockdown or mandatory signature
Subsystem: ocfs2
Junxiao Bi <junxiao.bi@oracle.com>:
Patch series "ocfs2: fix nfsd over ocfs2 issues", v2:
ocfs2: avoid inode removal while nfsd is accessing it
ocfs2: load global_inode_alloc
ocfs2: fix panic on nfs server over ocfs2
ocfs2: fix value of OCFS2_INVALID_SLOT
Subsystem: lib
Randy Dunlap <rdunlap@infradead.org>:
lib: fix test_hmm.c reference after free
Subsystem: misc
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
linux/bits.h: fix unsigned less than zero warnings
Subsystem: mm/slab
Waiman Long <longman@redhat.com>:
mm, slab: fix sign conversion problem in memcg_uncharge_slab()
Subsystem: mm/slab
Waiman Long <longman@redhat.com>:
mm/slab: use memzero_explicit() in kzfree()
Subsystem: mm/slub
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
slub: cure list_slab_objects() from double fix
Subsystem: mm/swap
Hugh Dickins <hughd@google.com>:
mm: fix swap cache node allocation mask
Subsystem: mm/pagemap
Arjun Roy <arjunroy@google.com>:
mm/memory.c: properly pte_offset_map_lock/unlock in vm_insert_pages()
Christophe Leroy <christophe.leroy@csgroup.eu>:
mm/debug_vm_pgtable: fix build failure with powerpc 8xx
Stephen Rothwell <sfr@canb.auug.org.au>:
make asm-generic/cacheflush.h more standalone
Nathan Chancellor <natechancellor@gmail.com>:
media: omap3isp: remove cacheflush.h
Subsystem: mm/vmalloc
Masanari Iida <standby24x7@gmail.com>:
mm/vmalloc.c: fix a warning while make xmldocs
Subsystem: mm/memcg
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: handle div0 crash race condition in memory.low
Muchun Song <songmuchun@bytedance.com>:
mm/memcontrol.c: add missed css_put()
Chris Down <chris@chrisdown.name>:
mm/memcontrol.c: prevent missed memory.low load tears
Subsystem: mm/gup
Souptick Joarder <jrdr.linux@gmail.com>:
docs: mm/gup: minor documentation update
Subsystem: mm/thp
Yang Shi <yang.shi@linux.alibaba.com>:
doc: THP CoW fault no longer allocate THP
Subsystem: mm/vmscan
Johannes Weiner <hannes@cmpxchg.org>:
Patch series "fix for "mm: balance LRU lists based on relative thrashing" patchset":
mm: workingset: age nonresident information alongside anonymous pages
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
mm/swap: fix for "mm: workingset: age nonresident information alongside anonymous pages"
mm/memory: fix IO cost for anonymous page
Subsystem: x86
Christoph Hellwig <hch@lst.de>:
Patch series "fix a hyperv W^X violation and remove vmalloc_exec":
x86/hyperv: allocate the hypercall page with only read and execute bits
arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page
mm: remove vmalloc_exec
Subsystem: mm/memory-hotplug
Ben Widawsky <ben.widawsky@intel.com>:
mm/memory_hotplug.c: fix false softlockup during pfn range removal
Subsystem: MAINTAINERS
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>:
MAINTAINERS: update info for sparse
Documentation/admin-guide/cgroup-v2.rst | 4 +-
Documentation/admin-guide/mm/transhuge.rst | 3 -
Documentation/core-api/pin_user_pages.rst | 2 -
MAINTAINERS | 4 +-
arch/arm64/kernel/probes/kprobes.c | 12 +------
arch/openrisc/kernel/dma.c | 5 +++
arch/x86/hyperv/hv_init.c | 4 +-
arch/x86/include/asm/pgtable_types.h | 2 +
drivers/media/platform/omap3isp/isp.c | 2 -
drivers/media/platform/omap3isp/ispvideo.c | 1
fs/ocfs2/dlmglue.c | 17 ++++++++++
fs/ocfs2/ocfs2.h | 1
fs/ocfs2/ocfs2_fs.h | 4 +-
fs/ocfs2/suballoc.c | 9 +++--
include/asm-generic/cacheflush.h | 5 +++
include/linux/bits.h | 3 +
include/linux/mmzone.h | 4 +-
include/linux/swap.h | 1
include/linux/vmalloc.h | 1
kernel/kexec_file.c | 36 ++++------------------
kernel/module.c | 4 +-
lib/test_hmm.c | 3 -
mm/compaction.c | 17 ++++++++--
mm/debug_vm_pgtable.c | 4 +-
mm/memcontrol.c | 18 ++++++++---
mm/memory.c | 33 +++++++++++++-------
mm/memory_hotplug.c | 13 ++++++--
mm/nommu.c | 17 ----------
mm/slab.h | 4 +-
mm/slab_common.c | 2 -
mm/slub.c | 19 ++---------
mm/swap.c | 3 -
mm/swap_state.c | 4 +-
mm/vmalloc.c | 21 -------------
mm/vmscan.c | 3 +
mm/workingset.c | 46 +++++++++++++++++------------
36 files changed, 168 insertions(+), 163 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-26 3:28 incoming Andrew Morton
@ 2020-06-26 6:51 ` Linus Torvalds
2020-06-26 7:31 ` incoming Linus Torvalds
2020-06-26 17:39 ` incoming Konstantin Ryabitsev
0 siblings, 2 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-06-26 6:51 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: Linux-MM, mm-commits
On Thu, Jun 25, 2020 at 8:28 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 32 patches, based on 908f7d12d3ba51dfe0449b9723199b423f97ca9a.
You didn't cc lkml, so now none of the nice 'b4' automation seems to
work for this series..
Yes, this cover-letter went to linux-mm (which is on lore), but the
individual patches didn't.
Konstantin, maybe mm-commits could be on lore too and then they'd have
been caught that way?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-26 6:51 ` incoming Linus Torvalds
@ 2020-06-26 7:31 ` Linus Torvalds
2020-06-26 17:39 ` incoming Konstantin Ryabitsev
1 sibling, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-06-26 7:31 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: Linux-MM, mm-commits
On Thu, Jun 25, 2020 at 11:51 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> You didn't cc lkml, so now none of the nice 'b4' automation seems to
> work for this series..
Note that I've picked them up the old-fashioned way, so don't re-send them.
So more of a note for "please, next time..."
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-26 6:51 ` incoming Linus Torvalds
2020-06-26 7:31 ` incoming Linus Torvalds
@ 2020-06-26 17:39 ` Konstantin Ryabitsev
2020-06-26 17:40 ` incoming Konstantin Ryabitsev
1 sibling, 1 reply; 325+ messages in thread
From: Konstantin Ryabitsev @ 2020-06-26 17:39 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, Linux-MM, mm-commits
On Thu, Jun 25, 2020 at 11:51:06PM -0700, Linus Torvalds wrote:
> On Thu, Jun 25, 2020 at 8:28 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > 32 patches, based on 908f7d12d3ba51dfe0449b9723199b423f97ca9a.
>
> You didn't cc lkml, so now none of the nice 'b4' automation seems to
> work for this series..
>
> Yes, this cover-letter went to linux-mm (which is on lore), but the
> individual patches didn't.
>
> Konstantin, maybe mm-commits could be on lore too and then they'd have
> been caught that way?
Yes, I already have a request from Kees for linux-mm addition, so that
should show up in archives before long.
-K
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-26 17:39 ` incoming Konstantin Ryabitsev
@ 2020-06-26 17:40 ` Konstantin Ryabitsev
0 siblings, 0 replies; 325+ messages in thread
From: Konstantin Ryabitsev @ 2020-06-26 17:40 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, Linux-MM, mm-commits
On Fri, 26 Jun 2020 at 13:39, Konstantin Ryabitsev
<konstantin@linuxfoundation.org> wrote:
> > Konstantin, maybe mm-commits could be on lore too and then they'd have
> > been caught that way?
>
> Yes, I already have a request from Kees for linux-mm addition, so that
> should show up in archives before long.
correction: mm-commits, that is
-K
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-12 0:30 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-12 0:30 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
A few fixes and stragglers.
5 patches, based on 623f6dc593eaf98b91916836785278eddddaacf8.
Subsystems affected by this patch series:
mm/memory-failure
ocfs2
lib/lzo
misc
Subsystem: mm/memory-failure
Naoya Horiguchi <nao.horiguchi@gmail.com>:
Patch series "hwpoison: fixes signaling on memory error":
mm/memory-failure: prioritize prctl(PR_MCE_KILL) over vm.memory_failure_early_kill
mm/memory-failure: send SIGBUS(BUS_MCEERR_AR) only to current thread
Subsystem: ocfs2
Tom Seewald <tseewald@gmail.com>:
ocfs2: fix build failure when TCP/IP is disabled
Subsystem: lib/lzo
Dave Rodgman <dave.rodgman@arm.com>:
lib/lzo: fix ambiguous encoding bug in lzo-rle
Subsystem: misc
Christoph Hellwig <hch@lst.de>:
amdgpu: a NULL ->mm does not mean a thread is a kthread
Documentation/lzo.txt | 8 ++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 2 -
fs/ocfs2/Kconfig | 2 -
lib/lzo/lzo1x_compress.c | 13 ++++++++
mm/memory-failure.c | 43 +++++++++++++++++------------
5 files changed, 47 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-11 1:40 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-11 1:40 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- various hotfixes and minor things
- hch's use_mm/unuse_mm clearnups
- new syscall process_madvise(): perform madvise() on a process other
than self
25 patches, based on 6f630784cc0d92fb58ea326e2bc01aa056279ecb.
Subsystems affected by this patch series:
mm/hugetlb
scripts
kcov
lib
nilfs
checkpatch
lib
mm/debug
ocfs2
lib
misc
mm/madvise
Subsystem: mm/hugetlb
Dan Carpenter <dan.carpenter@oracle.com>:
khugepaged: selftests: fix timeout condition in wait_for_scan()
Subsystem: scripts
SeongJae Park <sjpark@amazon.de>:
scripts/spelling: add a few more typos
Subsystem: kcov
Andrey Konovalov <andreyknvl@google.com>:
kcov: check kcov_softirq in kcov_remote_stop()
Subsystem: lib
Joe Perches <joe@perches.com>:
lib/lz4/lz4_decompress.c: document deliberate use of `&'
Subsystem: nilfs
Ryusuke Konishi <konishi.ryusuke@gmail.com>:
nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
Subsystem: checkpatch
Tim Froidcoeur <tim.froidcoeur@tessares.net>:
checkpatch: correct check for kernel parameters doc
Subsystem: lib
Alexander Gordeev <agordeev@linux.ibm.com>:
lib: fix bitmap_parse() on 64-bit big endian archs
Subsystem: mm/debug
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/debug_vm_pgtable: fix kernel crash by checking for THP support
Subsystem: ocfs2
Keyur Patel <iamkeyur96@gmail.com>:
ocfs2: fix spelling mistake and grammar
Ben Widawsky <ben.widawsky@intel.com>:
mm: add comments on pglist_data zones
Subsystem: lib
Wei Yang <richard.weiyang@gmail.com>:
lib: test get_count_order/long in test_bitops.c
Subsystem: misc
Walter Wu <walter-zh.wu@mediatek.com>:
stacktrace: cleanup inconsistent variable type
Christoph Hellwig <hch@lst.de>:
Patch series "improve use_mm / unuse_mm", v2:
kernel: move use_mm/unuse_mm to kthread.c
kernel: move use_mm/unuse_mm to kthread.c
kernel: better document the use_mm/unuse_mm API contract
kernel: set USER_DS in kthread_use_mm
Subsystem: mm/madvise
Minchan Kim <minchan@kernel.org>:
Patch series "introduce memory hinting API for external process", v7:
mm/madvise: pass task and mm to do_madvise
mm/madvise: introduce process_madvise() syscall: an external memory hinting API
mm/madvise: check fatal signal pending of target process
pid: move pidfd_get_pid() to pid.c
mm/madvise: support both pid and pidfd for process_madvise
Oleksandr Natalenko <oleksandr@redhat.com>:
mm/madvise: allow KSM hints for remote API
Minchan Kim <minchan@kernel.org>:
mm: support vector address ranges for process_madvise
mm: use only pidfd for process_madvise syscall
YueHaibing <yuehaibing@huawei.com>:
mm/madvise.c: remove duplicated include
arch/alpha/kernel/syscalls/syscall.tbl | 1
arch/arm/tools/syscall.tbl | 1
arch/arm64/include/asm/unistd.h | 2
arch/arm64/include/asm/unistd32.h | 4
arch/ia64/kernel/syscalls/syscall.tbl | 1
arch/m68k/kernel/syscalls/syscall.tbl | 1
arch/microblaze/kernel/syscalls/syscall.tbl | 1
arch/mips/kernel/syscalls/syscall_n32.tbl | 3
arch/mips/kernel/syscalls/syscall_n64.tbl | 1
arch/mips/kernel/syscalls/syscall_o32.tbl | 3
arch/parisc/kernel/syscalls/syscall.tbl | 3
arch/powerpc/kernel/syscalls/syscall.tbl | 3
arch/powerpc/platforms/powernv/vas-fault.c | 4
arch/s390/kernel/syscalls/syscall.tbl | 3
arch/sh/kernel/syscalls/syscall.tbl | 1
arch/sparc/kernel/syscalls/syscall.tbl | 3
arch/x86/entry/syscalls/syscall_32.tbl | 3
arch/x86/entry/syscalls/syscall_64.tbl | 5
arch/xtensa/kernel/syscalls/syscall.tbl | 1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 5
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c | 1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c | 1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 2
drivers/gpu/drm/i915/gvt/kvmgt.c | 2
drivers/usb/gadget/function/f_fs.c | 10
drivers/usb/gadget/legacy/inode.c | 6
drivers/vfio/vfio_iommu_type1.c | 6
drivers/vhost/vhost.c | 8
fs/aio.c | 1
fs/io-wq.c | 15 -
fs/io_uring.c | 11
fs/nilfs2/segment.c | 2
fs/ocfs2/mmap.c | 2
include/linux/compat.h | 10
include/linux/kthread.h | 9
include/linux/mm.h | 3
include/linux/mmu_context.h | 5
include/linux/mmzone.h | 14
include/linux/pid.h | 1
include/linux/stacktrace.h | 2
include/linux/syscalls.h | 16 -
include/uapi/asm-generic/unistd.h | 7
kernel/exit.c | 17 -
kernel/kcov.c | 26 +
kernel/kthread.c | 95 +++++-
kernel/pid.c | 17 +
kernel/sys_ni.c | 2
lib/Kconfig.debug | 10
lib/bitmap.c | 9
lib/lz4/lz4_decompress.c | 3
lib/test_bitops.c | 53 +++
mm/Makefile | 2
mm/debug_vm_pgtable.c | 6
mm/madvise.c | 295 ++++++++++++++------
mm/mmu_context.c | 64 ----
mm/oom_kill.c | 6
mm/vmacache.c | 4
scripts/checkpatch.pl | 4
scripts/spelling.txt | 9
tools/testing/selftests/vm/khugepaged.c | 2
62 files changed, 526 insertions(+), 285 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-09 4:29 Andrew Morton
2020-06-09 16:58 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-06-09 4:29 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- a kernel-wide sweep of show_stack()
- pagetable cleanups
- abstract out accesses to mmap_sem - prep for mmap_sem scalability work
- hch's user acess work
93 patches, based on abfbb29297c27e3f101f348dc9e467b0fe70f919:
Subsystems affected by this patch series:
debug
mm/pagemap
mm/maccess
mm/documentation
Subsystem: debug
Dmitry Safonov <dima@arista.com>:
Patch series "Add log level to show_stack()", v3:
kallsyms/printk: add loglvl to print_ip_sym()
alpha: add show_stack_loglvl()
arc: add show_stack_loglvl()
arm/asm: add loglvl to c_backtrace()
arm: add loglvl to unwind_backtrace()
arm: add loglvl to dump_backtrace()
arm: wire up dump_backtrace_{entry,stm}
arm: add show_stack_loglvl()
arm64: add loglvl to dump_backtrace()
arm64: add show_stack_loglvl()
c6x: add show_stack_loglvl()
csky: add show_stack_loglvl()
h8300: add show_stack_loglvl()
hexagon: add show_stack_loglvl()
ia64: pass log level as arg into ia64_do_show_stack()
ia64: add show_stack_loglvl()
m68k: add show_stack_loglvl()
microblaze: add loglvl to microblaze_unwind_inner()
microblaze: add loglvl to microblaze_unwind()
microblaze: add show_stack_loglvl()
mips: add show_stack_loglvl()
nds32: add show_stack_loglvl()
nios2: add show_stack_loglvl()
openrisc: add show_stack_loglvl()
parisc: add show_stack_loglvl()
powerpc: add show_stack_loglvl()
riscv: add show_stack_loglvl()
s390: add show_stack_loglvl()
sh: add loglvl to dump_mem()
sh: remove needless printk()
sh: add loglvl to printk_address()
sh: add loglvl to show_trace()
sh: add show_stack_loglvl()
sparc: add show_stack_loglvl()
um/sysrq: remove needless variable sp
um: add show_stack_loglvl()
unicore32: remove unused pmode argument in c_backtrace()
unicore32: add loglvl to c_backtrace()
unicore32: add show_stack_loglvl()
x86: add missing const qualifiers for log_lvl
x86: add show_stack_loglvl()
xtensa: add loglvl to show_trace()
xtensa: add show_stack_loglvl()
sysrq: use show_stack_loglvl()
x86/amd_gart: print stacktrace for a leak with KERN_ERR
power: use show_stack_loglvl()
kdb: don't play with console_loglevel
sched: print stack trace with KERN_INFO
kernel: use show_stack_loglvl()
kernel: rename show_stack_loglvl() => show_stack()
Subsystem: mm/pagemap
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: consolidate definitions of page table accessors", v2:
mm: don't include asm/pgtable.h if linux/mm.h is already included
mm: introduce include/linux/pgtable.h
mm: reorder includes after introduction of linux/pgtable.h
csky: replace definitions of __pXd_offset() with pXd_index()
m68k/mm/motorola: move comment about page table allocation funcitons
m68k/mm: move {cache,nocahe}_page() definitions close to their user
x86/mm: simplify init_trampoline() and surrounding logic
mm: pgtable: add shortcuts for accessing kernel PMD and PTE
mm: consolidate pte_index() and pte_offset_*() definitions
Michel Lespinasse <walken@google.com>:
mmap locking API: initial implementation as rwsem wrappers
MMU notifier: use the new mmap locking API
DMA reservations: use the new mmap locking API
mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
mmap locking API: convert mmap_sem call sites missed by coccinelle
mmap locking API: convert nested write lock sites
mmap locking API: add mmap_read_trylock_non_owner()
mmap locking API: add MMAP_LOCK_INITIALIZER
mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked()
mmap locking API: rename mmap_sem to mmap_lock
mmap locking API: convert mmap_sem API comments
mmap locking API: convert mmap_sem comments
Subsystem: mm/maccess
Christoph Hellwig <hch@lst.de>:
Patch series "clean up and streamline probe_kernel_* and friends", v4:
maccess: unexport probe_kernel_write()
maccess: remove various unused weak aliases
maccess: remove duplicate kerneldoc comments
maccess: clarify kerneldoc comments
maccess: update the top of file comment
maccess: rename strncpy_from_unsafe_user to strncpy_from_user_nofault
maccess: rename strncpy_from_unsafe_strict to strncpy_from_kernel_nofault
maccess: rename strnlen_unsafe_user to strnlen_user_nofault
maccess: remove probe_read_common and probe_write_common
maccess: unify the probe kernel arch hooks
bpf: factor out a bpf_trace_copy_string helper
bpf: handle the compat string in bpf_trace_copy_string better
Andrew Morton <akpm@linux-foundation.org>:
bpf:bpf_seq_printf(): handle potentially unsafe format string better
Christoph Hellwig <hch@lst.de>:
bpf: rework the compat kernel probe handling
tracing/kprobes: handle mixed kernel/userspace probes better
maccess: remove strncpy_from_unsafe
maccess: always use strict semantics for probe_kernel_read
maccess: move user access routines together
maccess: allow architectures to provide kernel probing directly
x86: use non-set_fs based maccess routines
maccess: return -ERANGE when probe_kernel_read() fails
Subsystem: mm/documentation
Luis Chamberlain <mcgrof@kernel.org>:
include/linux/cache.h: expand documentation over __read_mostly
Documentation/admin-guide/mm/numa_memory_policy.rst | 10
Documentation/admin-guide/mm/userfaultfd.rst | 2
Documentation/filesystems/locking.rst | 2
Documentation/vm/hmm.rst | 6
Documentation/vm/transhuge.rst | 4
arch/alpha/boot/bootp.c | 1
arch/alpha/boot/bootpz.c | 1
arch/alpha/boot/main.c | 1
arch/alpha/include/asm/io.h | 1
arch/alpha/include/asm/pgtable.h | 16
arch/alpha/kernel/process.c | 1
arch/alpha/kernel/proto.h | 4
arch/alpha/kernel/ptrace.c | 1
arch/alpha/kernel/setup.c | 1
arch/alpha/kernel/smp.c | 1
arch/alpha/kernel/sys_alcor.c | 1
arch/alpha/kernel/sys_cabriolet.c | 1
arch/alpha/kernel/sys_dp264.c | 1
arch/alpha/kernel/sys_eb64p.c | 1
arch/alpha/kernel/sys_eiger.c | 1
arch/alpha/kernel/sys_jensen.c | 1
arch/alpha/kernel/sys_marvel.c | 1
arch/alpha/kernel/sys_miata.c | 1
arch/alpha/kernel/sys_mikasa.c | 1
arch/alpha/kernel/sys_nautilus.c | 1
arch/alpha/kernel/sys_noritake.c | 1
arch/alpha/kernel/sys_rawhide.c | 1
arch/alpha/kernel/sys_ruffian.c | 1
arch/alpha/kernel/sys_rx164.c | 1
arch/alpha/kernel/sys_sable.c | 1
arch/alpha/kernel/sys_sio.c | 1
arch/alpha/kernel/sys_sx164.c | 1
arch/alpha/kernel/sys_takara.c | 1
arch/alpha/kernel/sys_titan.c | 1
arch/alpha/kernel/sys_wildfire.c | 1
arch/alpha/kernel/traps.c | 40
arch/alpha/mm/fault.c | 12
arch/alpha/mm/init.c | 1
arch/arc/include/asm/bug.h | 3
arch/arc/include/asm/pgtable.h | 24
arch/arc/kernel/process.c | 4
arch/arc/kernel/stacktrace.c | 29
arch/arc/kernel/troubleshoot.c | 6
arch/arc/mm/fault.c | 6
arch/arc/mm/highmem.c | 14
arch/arc/mm/tlbex.S | 4
arch/arm/include/asm/bug.h | 3
arch/arm/include/asm/efi.h | 3
arch/arm/include/asm/fixmap.h | 4
arch/arm/include/asm/idmap.h | 2
arch/arm/include/asm/pgtable-2level.h | 1
arch/arm/include/asm/pgtable-3level.h | 7
arch/arm/include/asm/pgtable-nommu.h | 3
arch/arm/include/asm/pgtable.h | 25
arch/arm/include/asm/traps.h | 3
arch/arm/include/asm/unwind.h | 3
arch/arm/kernel/head.S | 4
arch/arm/kernel/machine_kexec.c | 1
arch/arm/kernel/module.c | 1
arch/arm/kernel/process.c | 4
arch/arm/kernel/ptrace.c | 1
arch/arm/kernel/smp.c | 1
arch/arm/kernel/suspend.c | 4
arch/arm/kernel/swp_emulate.c | 4
arch/arm/kernel/traps.c | 61
arch/arm/kernel/unwind.c | 7
arch/arm/kernel/vdso.c | 2
arch/arm/kernel/vmlinux.lds.S | 4
arch/arm/lib/backtrace-clang.S | 9
arch/arm/lib/backtrace.S | 14
arch/arm/lib/uaccess_with_memcpy.c | 16
arch/arm/mach-ebsa110/core.c | 1
arch/arm/mach-footbridge/common.c | 1
arch/arm/mach-imx/mm-imx21.c | 1
arch/arm/mach-imx/mm-imx27.c | 1
arch/arm/mach-imx/mm-imx3.c | 1
arch/arm/mach-integrator/core.c | 4
arch/arm/mach-iop32x/i2c.c | 1
arch/arm/mach-iop32x/iq31244.c | 1
arch/arm/mach-iop32x/iq80321.c | 1
arch/arm/mach-iop32x/n2100.c | 1
arch/arm/mach-ixp4xx/common.c | 1
arch/arm/mach-keystone/platsmp.c | 4
arch/arm/mach-sa1100/assabet.c | 3
arch/arm/mach-sa1100/hackkit.c | 4
arch/arm/mach-tegra/iomap.h | 2
arch/arm/mach-zynq/common.c | 4
arch/arm/mm/copypage-v4mc.c | 1
arch/arm/mm/copypage-v6.c | 1
arch/arm/mm/copypage-xscale.c | 1
arch/arm/mm/dump.c | 1
arch/arm/mm/fault-armv.c | 1
arch/arm/mm/fault.c | 9
arch/arm/mm/highmem.c | 4
arch/arm/mm/idmap.c | 4
arch/arm/mm/ioremap.c | 31
arch/arm/mm/mm.h | 8
arch/arm/mm/mmu.c | 7
arch/arm/mm/pageattr.c | 1
arch/arm/mm/proc-arm1020.S | 4
arch/arm/mm/proc-arm1020e.S | 4
arch/arm/mm/proc-arm1022.S | 4
arch/arm/mm/proc-arm1026.S | 4
arch/arm/mm/proc-arm720.S | 4
arch/arm/mm/proc-arm740.S | 4
arch/arm/mm/proc-arm7tdmi.S | 4
arch/arm/mm/proc-arm920.S | 4
arch/arm/mm/proc-arm922.S | 4
arch/arm/mm/proc-arm925.S | 4
arch/arm/mm/proc-arm926.S | 4
arch/arm/mm/proc-arm940.S | 4
arch/arm/mm/proc-arm946.S | 4
arch/arm/mm/proc-arm9tdmi.S | 4
arch/arm/mm/proc-fa526.S | 4
arch/arm/mm/proc-feroceon.S | 4
arch/arm/mm/proc-mohawk.S | 4
arch/arm/mm/proc-sa110.S | 4
arch/arm/mm/proc-sa1100.S | 4
arch/arm/mm/proc-v6.S | 4
arch/arm/mm/proc-v7.S | 4
arch/arm/mm/proc-xsc3.S | 4
arch/arm/mm/proc-xscale.S | 4
arch/arm/mm/pv-fixup-asm.S | 4
arch/arm64/include/asm/io.h | 4
arch/arm64/include/asm/kernel-pgtable.h | 2
arch/arm64/include/asm/kvm_mmu.h | 4
arch/arm64/include/asm/mmu_context.h | 4
arch/arm64/include/asm/pgtable.h | 40
arch/arm64/include/asm/stacktrace.h | 3
arch/arm64/include/asm/stage2_pgtable.h | 2
arch/arm64/include/asm/vmap_stack.h | 4
arch/arm64/kernel/acpi.c | 4
arch/arm64/kernel/head.S | 4
arch/arm64/kernel/hibernate.c | 5
arch/arm64/kernel/kaslr.c | 4
arch/arm64/kernel/process.c | 2
arch/arm64/kernel/ptrace.c | 1
arch/arm64/kernel/smp.c | 1
arch/arm64/kernel/suspend.c | 4
arch/arm64/kernel/traps.c | 37
arch/arm64/kernel/vdso.c | 8
arch/arm64/kernel/vmlinux.lds.S | 3
arch/arm64/kvm/mmu.c | 14
arch/arm64/mm/dump.c | 1
arch/arm64/mm/fault.c | 9
arch/arm64/mm/kasan_init.c | 3
arch/arm64/mm/mmu.c | 8
arch/arm64/mm/pageattr.c | 1
arch/arm64/mm/proc.S | 4
arch/c6x/include/asm/pgtable.h | 3
arch/c6x/kernel/traps.c | 28
arch/csky/include/asm/io.h | 2
arch/csky/include/asm/pgtable.h | 37
arch/csky/kernel/module.c | 1
arch/csky/kernel/ptrace.c | 5
arch/csky/kernel/stacktrace.c | 20
arch/csky/kernel/vdso.c | 4
arch/csky/mm/fault.c | 10
arch/csky/mm/highmem.c | 2
arch/csky/mm/init.c | 7
arch/csky/mm/tlb.c | 1
arch/h8300/include/asm/pgtable.h | 1
arch/h8300/kernel/process.c | 1
arch/h8300/kernel/setup.c | 1
arch/h8300/kernel/signal.c | 1
arch/h8300/kernel/traps.c | 26
arch/h8300/mm/fault.c | 1
arch/h8300/mm/init.c | 1
arch/h8300/mm/memory.c | 1
arch/hexagon/include/asm/fixmap.h | 4
arch/hexagon/include/asm/pgtable.h | 55
arch/hexagon/kernel/traps.c | 39
arch/hexagon/kernel/vdso.c | 4
arch/hexagon/mm/uaccess.c | 2
arch/hexagon/mm/vm_fault.c | 9
arch/ia64/include/asm/pgtable.h | 34
arch/ia64/include/asm/ptrace.h | 1
arch/ia64/include/asm/uaccess.h | 2
arch/ia64/kernel/efi.c | 1
arch/ia64/kernel/entry.S | 4
arch/ia64/kernel/head.S | 5
arch/ia64/kernel/irq_ia64.c | 4
arch/ia64/kernel/ivt.S | 4
arch/ia64/kernel/kprobes.c | 4
arch/ia64/kernel/mca.c | 2
arch/ia64/kernel/mca_asm.S | 4
arch/ia64/kernel/perfmon.c | 8
arch/ia64/kernel/process.c | 37
arch/ia64/kernel/ptrace.c | 1
arch/ia64/kernel/relocate_kernel.S | 6
arch/ia64/kernel/setup.c | 4
arch/ia64/kernel/smp.c | 1
arch/ia64/kernel/smpboot.c | 1
arch/ia64/kernel/uncached.c | 4
arch/ia64/kernel/vmlinux.lds.S | 4
arch/ia64/mm/contig.c | 1
arch/ia64/mm/fault.c | 17
arch/ia64/mm/init.c | 12
arch/m68k/68000/m68EZ328.c | 2
arch/m68k/68000/m68VZ328.c | 4
arch/m68k/68000/timers.c | 1
arch/m68k/amiga/config.c | 1
arch/m68k/apollo/config.c | 1
arch/m68k/atari/atasound.c | 1
arch/m68k/atari/stram.c | 1
arch/m68k/bvme6000/config.c | 1
arch/m68k/include/asm/mcf_pgtable.h | 63
arch/m68k/include/asm/motorola_pgalloc.h | 8
arch/m68k/include/asm/motorola_pgtable.h | 84 -
arch/m68k/include/asm/pgtable_mm.h | 1
arch/m68k/include/asm/pgtable_no.h | 2
arch/m68k/include/asm/sun3_pgtable.h | 24
arch/m68k/include/asm/sun3xflop.h | 4
arch/m68k/kernel/head.S | 4
arch/m68k/kernel/process.c | 1
arch/m68k/kernel/ptrace.c | 1
arch/m68k/kernel/setup_no.c | 1
arch/m68k/kernel/signal.c | 1
arch/m68k/kernel/sys_m68k.c | 14
arch/m68k/kernel/traps.c | 27
arch/m68k/kernel/uboot.c | 1
arch/m68k/mac/config.c | 1
arch/m68k/mm/fault.c | 10
arch/m68k/mm/init.c | 2
arch/m68k/mm/mcfmmu.c | 1
arch/m68k/mm/motorola.c | 65
arch/m68k/mm/sun3kmap.c | 1
arch/m68k/mm/sun3mmu.c | 1
arch/m68k/mvme147/config.c | 1
arch/m68k/mvme16x/config.c | 1
arch/m68k/q40/config.c | 1
arch/m68k/sun3/config.c | 1
arch/m68k/sun3/dvma.c | 1
arch/m68k/sun3/mmu_emu.c | 1
arch/m68k/sun3/sun3dvma.c | 1
arch/m68k/sun3x/dvma.c | 1
arch/m68k/sun3x/prom.c | 1
arch/microblaze/include/asm/pgalloc.h | 4
arch/microblaze/include/asm/pgtable.h | 23
arch/microblaze/include/asm/uaccess.h | 2
arch/microblaze/include/asm/unwind.h | 3
arch/microblaze/kernel/hw_exception_handler.S | 4
arch/microblaze/kernel/module.c | 4
arch/microblaze/kernel/setup.c | 4
arch/microblaze/kernel/signal.c | 9
arch/microblaze/kernel/stacktrace.c | 4
arch/microblaze/kernel/traps.c | 28
arch/microblaze/kernel/unwind.c | 46
arch/microblaze/mm/fault.c | 17
arch/microblaze/mm/init.c | 9
arch/microblaze/mm/pgtable.c | 4
arch/mips/fw/arc/memory.c | 1
arch/mips/include/asm/fixmap.h | 3
arch/mips/include/asm/mach-generic/floppy.h | 1
arch/mips/include/asm/mach-jazz/floppy.h | 1
arch/mips/include/asm/pgtable-32.h | 22
arch/mips/include/asm/pgtable-64.h | 32
arch/mips/include/asm/pgtable.h | 2
arch/mips/jazz/irq.c | 4
arch/mips/jazz/jazzdma.c | 1
arch/mips/jazz/setup.c | 4
arch/mips/kernel/module.c | 1
arch/mips/kernel/process.c | 1
arch/mips/kernel/ptrace.c | 1
arch/mips/kernel/ptrace32.c | 1
arch/mips/kernel/smp-bmips.c | 1
arch/mips/kernel/traps.c | 58
arch/mips/kernel/vdso.c | 4
arch/mips/kvm/mips.c | 4
arch/mips/kvm/mmu.c | 20
arch/mips/kvm/tlb.c | 1
arch/mips/kvm/trap_emul.c | 2
arch/mips/lib/dump_tlb.c | 1
arch/mips/lib/r3k_dump_tlb.c | 1
arch/mips/mm/c-octeon.c | 1
arch/mips/mm/c-r3k.c | 11
arch/mips/mm/c-r4k.c | 11
arch/mips/mm/c-tx39.c | 11
arch/mips/mm/fault.c | 12
arch/mips/mm/highmem.c | 2
arch/mips/mm/init.c | 1
arch/mips/mm/page.c | 1
arch/mips/mm/pgtable-32.c | 1
arch/mips/mm/pgtable-64.c | 1
arch/mips/mm/sc-ip22.c | 1
arch/mips/mm/sc-mips.c | 1
arch/mips/mm/sc-r5k.c | 1
arch/mips/mm/tlb-r3k.c | 1
arch/mips/mm/tlb-r4k.c | 1
arch/mips/mm/tlbex.c | 4
arch/mips/sgi-ip27/ip27-init.c | 1
arch/mips/sgi-ip27/ip27-timer.c | 1
arch/mips/sgi-ip32/ip32-memory.c | 1
arch/nds32/include/asm/highmem.h | 3
arch/nds32/include/asm/pgtable.h | 22
arch/nds32/kernel/head.S | 4
arch/nds32/kernel/module.c | 2
arch/nds32/kernel/traps.c | 33
arch/nds32/kernel/vdso.c | 6
arch/nds32/mm/fault.c | 17
arch/nds32/mm/init.c | 13
arch/nds32/mm/proc.c | 7
arch/nios2/include/asm/pgtable.h | 24
arch/nios2/kernel/module.c | 1
arch/nios2/kernel/nios2_ksyms.c | 4
arch/nios2/kernel/traps.c | 35
arch/nios2/mm/fault.c | 14
arch/nios2/mm/init.c | 5
arch/nios2/mm/pgtable.c | 1
arch/nios2/mm/tlb.c | 1
arch/openrisc/include/asm/io.h | 3
arch/openrisc/include/asm/pgtable.h | 33
arch/openrisc/include/asm/tlbflush.h | 1
arch/openrisc/kernel/asm-offsets.c | 1
arch/openrisc/kernel/entry.S | 4
arch/openrisc/kernel/head.S | 4
arch/openrisc/kernel/or32_ksyms.c | 4
arch/openrisc/kernel/process.c | 1
arch/openrisc/kernel/ptrace.c | 1
arch/openrisc/kernel/setup.c | 1
arch/openrisc/kernel/traps.c | 27
arch/openrisc/mm/fault.c | 12
arch/openrisc/mm/init.c | 1
arch/openrisc/mm/ioremap.c | 4
arch/openrisc/mm/tlb.c | 1
arch/parisc/include/asm/io.h | 2
arch/parisc/include/asm/mmu_context.h | 1
arch/parisc/include/asm/pgtable.h | 33
arch/parisc/kernel/asm-offsets.c | 4
arch/parisc/kernel/entry.S | 4
arch/parisc/kernel/head.S | 4
arch/parisc/kernel/module.c | 1
arch/parisc/kernel/pacache.S | 4
arch/parisc/kernel/pci-dma.c | 2
arch/parisc/kernel/pdt.c | 4
arch/parisc/kernel/ptrace.c | 1
arch/parisc/kernel/smp.c | 1
arch/parisc/kernel/traps.c | 42
arch/parisc/lib/memcpy.c | 14
arch/parisc/mm/fault.c | 10
arch/parisc/mm/fixmap.c | 6
arch/parisc/mm/init.c | 1
arch/powerpc/include/asm/book3s/32/pgtable.h | 20
arch/powerpc/include/asm/book3s/64/pgtable.h | 43
arch/powerpc/include/asm/fixmap.h | 4
arch/powerpc/include/asm/io.h | 1
arch/powerpc/include/asm/kup.h | 2
arch/powerpc/include/asm/nohash/32/pgtable.h | 17
arch/powerpc/include/asm/nohash/64/pgtable-4k.h | 4
arch/powerpc/include/asm/nohash/64/pgtable.h | 22
arch/powerpc/include/asm/nohash/pgtable.h | 2
arch/powerpc/include/asm/pgtable.h | 28
arch/powerpc/include/asm/pkeys.h | 2
arch/powerpc/include/asm/tlb.h | 2
arch/powerpc/kernel/asm-offsets.c | 1
arch/powerpc/kernel/btext.c | 4
arch/powerpc/kernel/fpu.S | 3
arch/powerpc/kernel/head_32.S | 4
arch/powerpc/kernel/head_40x.S | 4
arch/powerpc/kernel/head_44x.S | 4
arch/powerpc/kernel/head_8xx.S | 4
arch/powerpc/kernel/head_fsl_booke.S | 4
arch/powerpc/kernel/io-workarounds.c | 4
arch/powerpc/kernel/irq.c | 4
arch/powerpc/kernel/mce_power.c | 4
arch/powerpc/kernel/paca.c | 4
arch/powerpc/kernel/process.c | 30
arch/powerpc/kernel/prom.c | 4
arch/powerpc/kernel/prom_init.c | 4
arch/powerpc/kernel/rtas_pci.c | 4
arch/powerpc/kernel/setup-common.c | 4
arch/powerpc/kernel/setup_32.c | 4
arch/powerpc/kernel/setup_64.c | 4
arch/powerpc/kernel/signal_32.c | 1
arch/powerpc/kernel/signal_64.c | 1
arch/powerpc/kernel/smp.c | 4
arch/powerpc/kernel/stacktrace.c | 2
arch/powerpc/kernel/traps.c | 1
arch/powerpc/kernel/vdso.c | 7
arch/powerpc/kvm/book3s_64_mmu_radix.c | 4
arch/powerpc/kvm/book3s_hv.c | 6
arch/powerpc/kvm/book3s_hv_nested.c | 4
arch/powerpc/kvm/book3s_hv_rm_xics.c | 4
arch/powerpc/kvm/book3s_hv_rm_xive.c | 4
arch/powerpc/kvm/book3s_hv_uvmem.c | 18
arch/powerpc/kvm/e500_mmu_host.c | 4
arch/powerpc/kvm/fpu.S | 4
arch/powerpc/lib/code-patching.c | 1
arch/powerpc/mm/book3s32/hash_low.S | 4
arch/powerpc/mm/book3s32/mmu.c | 2
arch/powerpc/mm/book3s32/tlb.c | 6
arch/powerpc/mm/book3s64/hash_hugetlbpage.c | 1
arch/powerpc/mm/book3s64/hash_native.c | 4
arch/powerpc/mm/book3s64/hash_pgtable.c | 5
arch/powerpc/mm/book3s64/hash_utils.c | 4
arch/powerpc/mm/book3s64/iommu_api.c | 4
arch/powerpc/mm/book3s64/radix_hugetlbpage.c | 1
arch/powerpc/mm/book3s64/radix_pgtable.c | 1
arch/powerpc/mm/book3s64/slb.c | 4
arch/powerpc/mm/book3s64/subpage_prot.c | 16
arch/powerpc/mm/copro_fault.c | 4
arch/powerpc/mm/fault.c | 23
arch/powerpc/mm/hugetlbpage.c | 1
arch/powerpc/mm/init-common.c | 4
arch/powerpc/mm/init_32.c | 1
arch/powerpc/mm/init_64.c | 1
arch/powerpc/mm/kasan/8xx.c | 4
arch/powerpc/mm/kasan/book3s_32.c | 2
arch/powerpc/mm/kasan/kasan_init_32.c | 8
arch/powerpc/mm/mem.c | 1
arch/powerpc/mm/nohash/40x.c | 5
arch/powerpc/mm/nohash/8xx.c | 2
arch/powerpc/mm/nohash/fsl_booke.c | 1
arch/powerpc/mm/nohash/tlb_low_64e.S | 4
arch/powerpc/mm/pgtable.c | 2
arch/powerpc/mm/pgtable_32.c | 5
arch/powerpc/mm/pgtable_64.c | 1
arch/powerpc/mm/ptdump/8xx.c | 2
arch/powerpc/mm/ptdump/bats.c | 4
arch/powerpc/mm/ptdump/book3s64.c | 2
arch/powerpc/mm/ptdump/hashpagetable.c | 1
arch/powerpc/mm/ptdump/ptdump.c | 1
arch/powerpc/mm/ptdump/shared.c | 2
arch/powerpc/oprofile/cell/spu_task_sync.c | 6
arch/powerpc/perf/callchain.c | 1
arch/powerpc/perf/callchain_32.c | 1
arch/powerpc/perf/callchain_64.c | 1
arch/powerpc/platforms/85xx/corenet_generic.c | 4
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 4
arch/powerpc/platforms/85xx/qemu_e500.c | 4
arch/powerpc/platforms/85xx/sbc8548.c | 4
arch/powerpc/platforms/85xx/smp.c | 4
arch/powerpc/platforms/86xx/mpc86xx_smp.c | 4
arch/powerpc/platforms/8xx/cpm1.c | 1
arch/powerpc/platforms/8xx/micropatch.c | 1
arch/powerpc/platforms/cell/cbe_regs.c | 4
arch/powerpc/platforms/cell/interrupt.c | 4
arch/powerpc/platforms/cell/pervasive.c | 4
arch/powerpc/platforms/cell/setup.c | 1
arch/powerpc/platforms/cell/smp.c | 4
arch/powerpc/platforms/cell/spider-pic.c | 4
arch/powerpc/platforms/cell/spufs/file.c | 10
arch/powerpc/platforms/chrp/pci.c | 4
arch/powerpc/platforms/chrp/setup.c | 1
arch/powerpc/platforms/chrp/smp.c | 4
arch/powerpc/platforms/maple/setup.c | 1
arch/powerpc/platforms/maple/time.c | 1
arch/powerpc/platforms/powermac/setup.c | 1
arch/powerpc/platforms/powermac/smp.c | 4
arch/powerpc/platforms/powermac/time.c | 1
arch/powerpc/platforms/pseries/lpar.c | 4
arch/powerpc/platforms/pseries/setup.c | 1
arch/powerpc/platforms/pseries/smp.c | 4
arch/powerpc/sysdev/cpm2.c | 1
arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 2
arch/powerpc/sysdev/mpic.c | 4
arch/powerpc/xmon/xmon.c | 1
arch/riscv/include/asm/fixmap.h | 4
arch/riscv/include/asm/io.h | 4
arch/riscv/include/asm/kasan.h | 4
arch/riscv/include/asm/pgtable-64.h | 7
arch/riscv/include/asm/pgtable.h | 22
arch/riscv/kernel/module.c | 2
arch/riscv/kernel/setup.c | 1
arch/riscv/kernel/soc.c | 2
arch/riscv/kernel/stacktrace.c | 23
arch/riscv/kernel/vdso.c | 4
arch/riscv/mm/cacheflush.c | 3
arch/riscv/mm/fault.c | 14
arch/riscv/mm/init.c | 31
arch/riscv/mm/kasan_init.c | 4
arch/riscv/mm/pageattr.c | 6
arch/riscv/mm/ptdump.c | 2
arch/s390/boot/ipl_parm.c | 4
arch/s390/boot/kaslr.c | 4
arch/s390/include/asm/hugetlb.h | 4
arch/s390/include/asm/kasan.h | 4
arch/s390/include/asm/pgtable.h | 15
arch/s390/include/asm/tlbflush.h | 1
arch/s390/kernel/asm-offsets.c | 4
arch/s390/kernel/dumpstack.c | 25
arch/s390/kernel/machine_kexec.c | 1
arch/s390/kernel/ptrace.c | 1
arch/s390/kernel/uv.c | 4
arch/s390/kernel/vdso.c | 5
arch/s390/kvm/gaccess.c | 8
arch/s390/kvm/interrupt.c | 4
arch/s390/kvm/kvm-s390.c | 32
arch/s390/kvm/priv.c | 38
arch/s390/mm/dump_pagetables.c | 1
arch/s390/mm/extmem.c | 4
arch/s390/mm/fault.c | 17
arch/s390/mm/gmap.c | 80
arch/s390/mm/init.c | 1
arch/s390/mm/kasan_init.c | 4
arch/s390/mm/pageattr.c | 13
arch/s390/mm/pgalloc.c | 2
arch/s390/mm/pgtable.c | 1
arch/s390/mm/vmem.c | 1
arch/s390/pci/pci_mmio.c | 4
arch/sh/include/asm/io.h | 2
arch/sh/include/asm/kdebug.h | 6
arch/sh/include/asm/pgtable-3level.h | 7
arch/sh/include/asm/pgtable.h | 2
arch/sh/include/asm/pgtable_32.h | 25
arch/sh/include/asm/processor_32.h | 2
arch/sh/kernel/dumpstack.c | 54
arch/sh/kernel/machine_kexec.c | 1
arch/sh/kernel/process_32.c | 2
arch/sh/kernel/ptrace_32.c | 1
arch/sh/kernel/signal_32.c | 1
arch/sh/kernel/sys_sh.c | 6
arch/sh/kernel/traps.c | 4
arch/sh/kernel/vsyscall/vsyscall.c | 4
arch/sh/mm/cache-sh3.c | 1
arch/sh/mm/cache-sh4.c | 11
arch/sh/mm/cache-sh7705.c | 1
arch/sh/mm/fault.c | 16
arch/sh/mm/kmap.c | 5
arch/sh/mm/nommu.c | 1
arch/sh/mm/pmb.c | 4
arch/sparc/include/asm/floppy_32.h | 4
arch/sparc/include/asm/highmem.h | 4
arch/sparc/include/asm/ide.h | 2
arch/sparc/include/asm/io-unit.h | 4
arch/sparc/include/asm/pgalloc_32.h | 4
arch/sparc/include/asm/pgalloc_64.h | 2
arch/sparc/include/asm/pgtable_32.h | 34
arch/sparc/include/asm/pgtable_64.h | 32
arch/sparc/kernel/cpu.c | 4
arch/sparc/kernel/entry.S | 4
arch/sparc/kernel/head_64.S | 4
arch/sparc/kernel/ktlb.S | 4
arch/sparc/kernel/leon_smp.c | 1
arch/sparc/kernel/pci.c | 4
arch/sparc/kernel/process_32.c | 29
arch/sparc/kernel/process_64.c | 3
arch/sparc/kernel/ptrace_32.c | 1
arch/sparc/kernel/ptrace_64.c | 1
arch/sparc/kernel/setup_32.c | 1
arch/sparc/kernel/setup_64.c | 1
arch/sparc/kernel/signal32.c | 1
arch/sparc/kernel/signal_32.c | 1
arch/sparc/kernel/signal_64.c | 1
arch/sparc/kernel/smp_32.c | 1
arch/sparc/kernel/smp_64.c | 1
arch/sparc/kernel/sun4m_irq.c | 4
arch/sparc/kernel/trampoline_64.S | 4
arch/sparc/kernel/traps_32.c | 4
arch/sparc/kernel/traps_64.c | 24
arch/sparc/lib/clear_page.S | 4
arch/sparc/lib/copy_page.S | 2
arch/sparc/mm/fault_32.c | 21
arch/sparc/mm/fault_64.c | 17
arch/sparc/mm/highmem.c | 12
arch/sparc/mm/hugetlbpage.c | 1
arch/sparc/mm/init_32.c | 1
arch/sparc/mm/init_64.c | 7
arch/sparc/mm/io-unit.c | 11
arch/sparc/mm/iommu.c | 9
arch/sparc/mm/tlb.c | 1
arch/sparc/mm/tsb.c | 4
arch/sparc/mm/ultra.S | 4
arch/sparc/vdso/vma.c | 4
arch/um/drivers/mconsole_kern.c | 2
arch/um/include/asm/mmu_context.h | 5
arch/um/include/asm/pgtable-3level.h | 4
arch/um/include/asm/pgtable.h | 69
arch/um/kernel/maccess.c | 12
arch/um/kernel/mem.c | 10
arch/um/kernel/process.c | 1
arch/um/kernel/skas/mmu.c | 3
arch/um/kernel/skas/uaccess.c | 1
arch/um/kernel/sysrq.c | 35
arch/um/kernel/tlb.c | 5
arch/um/kernel/trap.c | 15
arch/um/kernel/um_arch.c | 1
arch/unicore32/include/asm/pgtable.h | 19
arch/unicore32/kernel/hibernate.c | 4
arch/unicore32/kernel/hibernate_asm.S | 4
arch/unicore32/kernel/module.c | 1
arch/unicore32/kernel/setup.h | 4
arch/unicore32/kernel/traps.c | 50
arch/unicore32/lib/backtrace.S | 24
arch/unicore32/mm/alignment.c | 4
arch/unicore32/mm/fault.c | 9
arch/unicore32/mm/mm.h | 10
arch/unicore32/mm/proc-ucv2.S | 4
arch/x86/boot/compressed/kaslr_64.c | 4
arch/x86/entry/vdso/vma.c | 14
arch/x86/events/core.c | 4
arch/x86/include/asm/agp.h | 2
arch/x86/include/asm/asm-prototypes.h | 4
arch/x86/include/asm/efi.h | 4
arch/x86/include/asm/iomap.h | 1
arch/x86/include/asm/kaslr.h | 2
arch/x86/include/asm/mmu.h | 2
arch/x86/include/asm/pgtable-3level.h | 8
arch/x86/include/asm/pgtable.h | 89 -
arch/x86/include/asm/pgtable_32.h | 11
arch/x86/include/asm/pgtable_64.h | 4
arch/x86/include/asm/setup.h | 12
arch/x86/include/asm/stacktrace.h | 2
arch/x86/include/asm/uaccess.h | 16
arch/x86/include/asm/xen/hypercall.h | 4
arch/x86/include/asm/xen/page.h | 1
arch/x86/kernel/acpi/boot.c | 4
arch/x86/kernel/acpi/sleep.c | 4
arch/x86/kernel/alternative.c | 1
arch/x86/kernel/amd_gart_64.c | 5
arch/x86/kernel/apic/apic_numachip.c | 4
arch/x86/kernel/cpu/bugs.c | 4
arch/x86/kernel/cpu/common.c | 4
arch/x86/kernel/cpu/intel.c | 4
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 6
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 6
arch/x86/kernel/crash_core_32.c | 4
arch/x86/kernel/crash_core_64.c | 4
arch/x86/kernel/doublefault_32.c | 1
arch/x86/kernel/dumpstack.c | 21
arch/x86/kernel/early_printk.c | 4
arch/x86/kernel/espfix_64.c | 2
arch/x86/kernel/head64.c | 4
arch/x86/kernel/head_64.S | 4
arch/x86/kernel/i8259.c | 4
arch/x86/kernel/irqinit.c | 4
arch/x86/kernel/kprobes/core.c | 4
arch/x86/kernel/kprobes/opt.c | 4
arch/x86/kernel/ldt.c | 2
arch/x86/kernel/machine_kexec_32.c | 1
arch/x86/kernel/machine_kexec_64.c | 1
arch/x86/kernel/module.c | 1
arch/x86/kernel/paravirt.c | 4
arch/x86/kernel/process_32.c | 1
arch/x86/kernel/process_64.c | 1
arch/x86/kernel/ptrace.c | 1
arch/x86/kernel/reboot.c | 4
arch/x86/kernel/smpboot.c | 4
arch/x86/kernel/tboot.c | 3
arch/x86/kernel/vm86_32.c | 4
arch/x86/kvm/mmu/paging_tmpl.h | 8
arch/x86/mm/cpu_entry_area.c | 4
arch/x86/mm/debug_pagetables.c | 2
arch/x86/mm/dump_pagetables.c | 1
arch/x86/mm/fault.c | 22
arch/x86/mm/init.c | 22
arch/x86/mm/init_32.c | 27
arch/x86/mm/init_64.c | 1
arch/x86/mm/ioremap.c | 4
arch/x86/mm/kasan_init_64.c | 1
arch/x86/mm/kaslr.c | 37
arch/x86/mm/maccess.c | 44
arch/x86/mm/mem_encrypt_boot.S | 2
arch/x86/mm/mmio-mod.c | 4
arch/x86/mm/pat/cpa-test.c | 1
arch/x86/mm/pat/memtype.c | 1
arch/x86/mm/pat/memtype_interval.c | 4
arch/x86/mm/pgtable.c | 1
arch/x86/mm/pgtable_32.c | 1
arch/x86/mm/pti.c | 1
arch/x86/mm/setup_nx.c | 4
arch/x86/platform/efi/efi_32.c | 4
arch/x86/platform/efi/efi_64.c | 1
arch/x86/platform/olpc/olpc_ofw.c | 4
arch/x86/power/cpu.c | 4
arch/x86/power/hibernate.c | 4
arch/x86/power/hibernate_32.c | 4
arch/x86/power/hibernate_64.c | 4
arch/x86/realmode/init.c | 4
arch/x86/um/vdso/vma.c | 4
arch/x86/xen/enlighten_pv.c | 1
arch/x86/xen/grant-table.c | 1
arch/x86/xen/mmu_pv.c | 4
arch/x86/xen/smp_pv.c | 2
arch/xtensa/include/asm/fixmap.h | 12
arch/xtensa/include/asm/highmem.h | 4
arch/xtensa/include/asm/initialize_mmu.h | 2
arch/xtensa/include/asm/mmu_context.h | 4
arch/xtensa/include/asm/pgtable.h | 20
arch/xtensa/kernel/entry.S | 4
arch/xtensa/kernel/process.c | 1
arch/xtensa/kernel/ptrace.c | 1
arch/xtensa/kernel/setup.c | 1
arch/xtensa/kernel/traps.c | 42
arch/xtensa/kernel/vectors.S | 4
arch/xtensa/mm/cache.c | 4
arch/xtensa/mm/fault.c | 12
arch/xtensa/mm/highmem.c | 2
arch/xtensa/mm/ioremap.c | 4
arch/xtensa/mm/kasan_init.c | 10
arch/xtensa/mm/misc.S | 4
arch/xtensa/mm/mmu.c | 5
drivers/acpi/scan.c | 3
drivers/android/binder_alloc.c | 14
drivers/atm/fore200e.c | 4
drivers/base/power/main.c | 4
drivers/block/z2ram.c | 4
drivers/char/agp/frontend.c | 1
drivers/char/agp/generic.c | 1
drivers/char/bsr.c | 1
drivers/char/mspec.c | 3
drivers/dma-buf/dma-resv.c | 5
drivers/firmware/efi/arm-runtime.c | 4
drivers/firmware/efi/efi.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 4
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 10
drivers/gpu/drm/amd/amdkfd/kfd_events.c | 4
drivers/gpu/drm/drm_vm.c | 4
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 2
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 4
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 14
drivers/gpu/drm/i915/i915_mm.c | 1
drivers/gpu/drm/i915/i915_perf.c | 2
drivers/gpu/drm/nouveau/nouveau_svm.c | 22
drivers/gpu/drm/radeon/radeon_cs.c | 4
drivers/gpu/drm/radeon/radeon_gem.c | 6
drivers/gpu/drm/ttm/ttm_bo_vm.c | 10
drivers/infiniband/core/umem_odp.c | 4
drivers/infiniband/core/uverbs_main.c | 6
drivers/infiniband/hw/hfi1/mmu_rb.c | 2
drivers/infiniband/hw/mlx4/mr.c | 4
drivers/infiniband/hw/qib/qib_file_ops.c | 4
drivers/infiniband/hw/qib/qib_user_pages.c | 6
drivers/infiniband/hw/usnic/usnic_uiom.c | 4
drivers/infiniband/sw/rdmavt/mmap.c | 1
drivers/infiniband/sw/rxe/rxe_mmap.c | 1
drivers/infiniband/sw/siw/siw_mem.c | 4
drivers/iommu/amd_iommu_v2.c | 4
drivers/iommu/intel-svm.c | 4
drivers/macintosh/macio-adb.c | 4
drivers/macintosh/mediabay.c | 4
drivers/macintosh/via-pmu.c | 4
drivers/media/pci/bt8xx/bt878.c | 4
drivers/media/pci/bt8xx/btcx-risc.c | 4
drivers/media/pci/bt8xx/bttv-risc.c | 4
drivers/media/platform/davinci/vpbe_display.c | 1
drivers/media/v4l2-core/v4l2-common.c | 1
drivers/media/v4l2-core/videobuf-core.c | 4
drivers/media/v4l2-core/videobuf-dma-contig.c | 4
drivers/media/v4l2-core/videobuf-dma-sg.c | 10
drivers/media/v4l2-core/videobuf-vmalloc.c | 4
drivers/misc/cxl/cxllib.c | 9
drivers/misc/cxl/fault.c | 4
drivers/misc/genwqe/card_utils.c | 2
drivers/misc/sgi-gru/grufault.c | 25
drivers/misc/sgi-gru/grufile.c | 4
drivers/mtd/ubi/ubi.h | 2
drivers/net/ethernet/amd/7990.c | 4
drivers/net/ethernet/amd/hplance.c | 4
drivers/net/ethernet/amd/mvme147.c | 4
drivers/net/ethernet/amd/sun3lance.c | 4
drivers/net/ethernet/amd/sunlance.c | 4
drivers/net/ethernet/apple/bmac.c | 4
drivers/net/ethernet/apple/mace.c | 4
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 4
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c | 4
drivers/net/ethernet/freescale/fs_enet/mii-fec.c | 4
drivers/net/ethernet/i825xx/82596.c | 4
drivers/net/ethernet/korina.c | 4
drivers/net/ethernet/marvell/pxa168_eth.c | 4
drivers/net/ethernet/natsemi/jazzsonic.c | 4
drivers/net/ethernet/natsemi/macsonic.c | 4
drivers/net/ethernet/natsemi/xtsonic.c | 4
drivers/net/ethernet/sun/sunbmac.c | 4
drivers/net/ethernet/sun/sunhme.c | 1
drivers/net/ethernet/sun/sunqe.c | 4
drivers/oprofile/buffer_sync.c | 12
drivers/sbus/char/flash.c | 1
drivers/sbus/char/uctrl.c | 1
drivers/scsi/53c700.c | 4
drivers/scsi/a2091.c | 1
drivers/scsi/a3000.c | 1
drivers/scsi/arm/cumana_2.c | 4
drivers/scsi/arm/eesox.c | 4
drivers/scsi/arm/powertec.c | 4
drivers/scsi/dpt_i2o.c | 4
drivers/scsi/gvp11.c | 1
drivers/scsi/lasi700.c | 1
drivers/scsi/mac53c94.c | 4
drivers/scsi/mesh.c | 4
drivers/scsi/mvme147.c | 1
drivers/scsi/qlogicpti.c | 4
drivers/scsi/sni_53c710.c | 1
drivers/scsi/zorro_esp.c | 4
drivers/staging/android/ashmem.c | 4
drivers/staging/comedi/comedi_fops.c | 2
drivers/staging/kpc2000/kpc_dma/fileops.c | 4
drivers/staging/media/atomisp/pci/hmm/hmm_bo.c | 4
drivers/tee/optee/call.c | 4
drivers/tty/sysrq.c | 4
drivers/tty/vt/consolemap.c | 2
drivers/vfio/pci/vfio_pci.c | 22
drivers/vfio/vfio_iommu_type1.c | 8
drivers/vhost/vdpa.c | 4
drivers/video/console/newport_con.c | 1
drivers/video/fbdev/acornfb.c | 1
drivers/video/fbdev/atafb.c | 1
drivers/video/fbdev/cirrusfb.c | 1
drivers/video/fbdev/cyber2000fb.c | 1
drivers/video/fbdev/fb-puv3.c | 1
drivers/video/fbdev/hitfb.c | 1
drivers/video/fbdev/neofb.c | 1
drivers/video/fbdev/q40fb.c | 1
drivers/video/fbdev/savage/savagefb_driver.c | 1
drivers/xen/balloon.c | 1
drivers/xen/gntdev.c | 6
drivers/xen/grant-table.c | 1
drivers/xen/privcmd.c | 15
drivers/xen/xenbus/xenbus_probe.c | 1
drivers/xen/xenbus/xenbus_probe_backend.c | 1
drivers/xen/xenbus/xenbus_probe_frontend.c | 1
fs/aio.c | 4
fs/coredump.c | 8
fs/exec.c | 18
fs/ext2/file.c | 2
fs/ext4/super.c | 6
fs/hugetlbfs/inode.c | 2
fs/io_uring.c | 4
fs/kernfs/file.c | 4
fs/proc/array.c | 1
fs/proc/base.c | 24
fs/proc/meminfo.c | 1
fs/proc/nommu.c | 1
fs/proc/task_mmu.c | 34
fs/proc/task_nommu.c | 18
fs/proc/vmcore.c | 1
fs/userfaultfd.c | 46
fs/xfs/xfs_file.c | 2
fs/xfs/xfs_inode.c | 14
fs/xfs/xfs_iops.c | 4
include/asm-generic/io.h | 2
include/asm-generic/pgtable-nopmd.h | 1
include/asm-generic/pgtable-nopud.h | 1
include/asm-generic/pgtable.h | 1322 ----------------
include/linux/cache.h | 10
include/linux/crash_dump.h | 3
include/linux/dax.h | 1
include/linux/dma-noncoherent.h | 2
include/linux/fs.h | 4
include/linux/hmm.h | 2
include/linux/huge_mm.h | 2
include/linux/hugetlb.h | 2
include/linux/io-mapping.h | 4
include/linux/kallsyms.h | 4
include/linux/kasan.h | 4
include/linux/mempolicy.h | 2
include/linux/mm.h | 15
include/linux/mm_types.h | 4
include/linux/mmap_lock.h | 128 +
include/linux/mmu_notifier.h | 13
include/linux/pagemap.h | 2
include/linux/pgtable.h | 1444 +++++++++++++++++-
include/linux/rmap.h | 2
include/linux/sched/debug.h | 7
include/linux/sched/mm.h | 10
include/linux/uaccess.h | 62
include/xen/arm/page.h | 4
init/init_task.c | 1
ipc/shm.c | 8
kernel/acct.c | 6
kernel/bpf/stackmap.c | 21
kernel/bpf/syscall.c | 2
kernel/cgroup/cpuset.c | 4
kernel/debug/kdb/kdb_bt.c | 17
kernel/events/core.c | 10
kernel/events/uprobes.c | 20
kernel/exit.c | 11
kernel/fork.c | 15
kernel/futex.c | 4
kernel/locking/lockdep.c | 4
kernel/locking/rtmutex-debug.c | 4
kernel/power/snapshot.c | 1
kernel/relay.c | 2
kernel/sched/core.c | 10
kernel/sched/fair.c | 4
kernel/sys.c | 22
kernel/trace/bpf_trace.c | 176 +-
kernel/trace/ftrace.c | 8
kernel/trace/trace_kprobe.c | 80
kernel/trace/trace_output.c | 4
lib/dump_stack.c | 4
lib/ioremap.c | 1
lib/test_hmm.c | 14
lib/test_lockup.c | 16
mm/debug.c | 10
mm/debug_vm_pgtable.c | 1
mm/filemap.c | 46
mm/frame_vector.c | 6
mm/gup.c | 73
mm/hmm.c | 2
mm/huge_memory.c | 8
mm/hugetlb.c | 3
mm/init-mm.c | 6
mm/internal.h | 6
mm/khugepaged.c | 72
mm/ksm.c | 48
mm/maccess.c | 496 +++---
mm/madvise.c | 40
mm/memcontrol.c | 10
mm/memory.c | 61
mm/mempolicy.c | 36
mm/migrate.c | 16
mm/mincore.c | 8
mm/mlock.c | 22
mm/mmap.c | 74
mm/mmu_gather.c | 2
mm/mmu_notifier.c | 22
mm/mprotect.c | 22
mm/mremap.c | 14
mm/msync.c | 8
mm/nommu.c | 22
mm/oom_kill.c | 14
mm/page_io.c | 1
mm/page_reporting.h | 2
mm/pagewalk.c | 12
mm/pgtable-generic.c | 6
mm/process_vm_access.c | 4
mm/ptdump.c | 4
mm/rmap.c | 12
mm/shmem.c | 5
mm/sparse-vmemmap.c | 1
mm/sparse.c | 1
mm/swap_state.c | 5
mm/swapfile.c | 5
mm/userfaultfd.c | 26
mm/util.c | 12
mm/vmacache.c | 1
mm/zsmalloc.c | 4
net/ipv4/tcp.c | 8
net/xdp/xdp_umem.c | 4
security/keys/keyctl.c | 2
sound/core/oss/pcm_oss.c | 2
sound/core/sgbuf.c | 1
sound/pci/hda/hda_intel.c | 4
sound/soc/intel/common/sst-firmware.c | 4
sound/soc/intel/haswell/sst-haswell-pcm.c | 4
tools/include/linux/kallsyms.h | 2
virt/kvm/async_pf.c | 4
virt/kvm/kvm_main.c | 9
942 files changed, 4580 insertions(+), 5662 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-09 4:29 incoming Andrew Morton
@ 2020-06-09 16:58 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-06-09 16:58 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Mon, Jun 8, 2020 at 9:29 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> 942 files changed, 4580 insertions(+), 5662 deletions(-)
If you use proper tools, add a "-M" to your diff script, so that you see
941 files changed, 2614 insertions(+), 3696 deletions(-)
because a big portion of the lines were due to a rename:
rename include/{asm-generic => linux}/pgtable.h (91%)
but at some earlier point you mentioned "diffstat", so I guess "proper
tools" isn't an option ;(
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-08 4:35 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-08 4:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
Various trees. Mainly those parts of MM whose linux-next dependents
are now merged. I'm still sitting on ~160 patches which await merges
from -next.
54 patches, based on 9aa900c8094dba7a60dc805ecec1e9f720744ba1.
Subsystems affected by this patch series:
mm/proc
ipc
dynamic-debug
panic
lib
sysctl
mm/gup
mm/pagemap
Subsystem: mm/proc
SeongJae Park <sjpark@amazon.de>:
mm/page_idle.c: skip offline pages
Subsystem: ipc
Jules Irenge <jbi.octave@gmail.com>:
ipc/msg: add missing annotation for freeque()
Giuseppe Scrivano <gscrivan@redhat.com>:
ipc/namespace.c: use a work queue to free_ipc
Subsystem: dynamic-debug
Orson Zhai <orson.zhai@unisoc.com>:
dynamic_debug: add an option to enable dynamic debug for modules only
Subsystem: panic
Rafael Aquini <aquini@redhat.com>:
kernel: add panic_on_taint
Subsystem: lib
Manfred Spraul <manfred@colorfullife.com>:
xarray.h: correct return code documentation for xa_store_{bh,irq}()
Subsystem: sysctl
Vlastimil Babka <vbabka@suse.cz>:
Patch series "support setting sysctl parameters from kernel command line", v3:
kernel/sysctl: support setting sysctl parameters from kernel command line
kernel/sysctl: support handling command line aliases
kernel/hung_task convert hung_task_panic boot parameter to sysctl
tools/testing/selftests/sysctl/sysctl.sh: support CONFIG_TEST_SYSCTL=y
lib/test_sysctl: support testing of sysctl. boot parameter
"Guilherme G. Piccoli" <gpiccoli@canonical.com>:
kernel/watchdog.c: convert {soft/hard}lockup boot parameters to sysctl aliases
kernel/hung_task.c: introduce sysctl to print all traces when a hung task is detected
panic: add sysctl to dump all CPUs backtraces on oops event
Rafael Aquini <aquini@redhat.com>:
kernel/sysctl.c: ignore out-of-range taint bits introduced via kernel.tainted
Subsystem: mm/gup
Souptick Joarder <jrdr.linux@gmail.com>:
mm/gup.c: convert to use get_user_{page|pages}_fast_only()
John Hubbard <jhubbard@nvidia.com>:
mm/gup: update pin_user_pages.rst for "case 3" (mmu notifiers)
Patch series "mm/gup: introduce pin_user_pages_locked(), use it in frame_vector.c", v2:
mm/gup: introduce pin_user_pages_locked()
mm/gup: frame_vector: convert get_user_pages() --> pin_user_pages()
mm/gup: documentation fix for pin_user_pages*() APIs
Patch series "vhost, docs: convert to pin_user_pages(), new "case 5"":
docs: mm/gup: pin_user_pages.rst: add a "case 5"
vhost: convert get_user_pages() --> pin_user_pages()
Subsystem: mm/pagemap
Alexander Gordeev <agordeev@linux.ibm.com>:
mm/mmap.c: add more sanity checks to get_unmapped_area()
mm/mmap.c: do not allow mappings outside of allowed limits
Christoph Hellwig <hch@lst.de>:
Patch series "sort out the flush_icache_range mess", v2:
arm: fix the flush_icache_range arguments in set_fiq_handler
nds32: unexport flush_icache_page
powerpc: unexport flush_icache_user_range
unicore32: remove flush_cache_user_range
asm-generic: fix the inclusion guards for cacheflush.h
asm-generic: don't include <linux/mm.h> in cacheflush.h
asm-generic: improve the flush_dcache_page stub
alpha: use asm-generic/cacheflush.h
arm64: use asm-generic/cacheflush.h
c6x: use asm-generic/cacheflush.h
hexagon: use asm-generic/cacheflush.h
ia64: use asm-generic/cacheflush.h
microblaze: use asm-generic/cacheflush.h
m68knommu: use asm-generic/cacheflush.h
openrisc: use asm-generic/cacheflush.h
powerpc: use asm-generic/cacheflush.h
riscv: use asm-generic/cacheflush.h
arm,sparc,unicore32: remove flush_icache_user_range
mm: rename flush_icache_user_range to flush_icache_user_page
asm-generic: add a flush_icache_user_range stub
sh: implement flush_icache_user_range
xtensa: implement flush_icache_user_range
arm: rename flush_cache_user_range to flush_icache_user_range
m68k: implement flush_icache_user_range
exec: only build read_code when needed
exec: use flush_icache_user_range in read_code
binfmt_flat: use flush_icache_user_range
nommu: use flush_icache_user_range in brk and mmap
module: move the set_fs hack for flush_icache_range to m68k
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
doc: cgroup: update note about conditions when oom killer is invoked
Documentation/admin-guide/cgroup-v2.rst | 17 +-
Documentation/admin-guide/dynamic-debug-howto.rst | 5
Documentation/admin-guide/kdump/kdump.rst | 8 +
Documentation/admin-guide/kernel-parameters.txt | 34 +++-
Documentation/admin-guide/sysctl/kernel.rst | 37 ++++
Documentation/core-api/pin_user_pages.rst | 47 ++++--
arch/alpha/include/asm/cacheflush.h | 38 +----
arch/alpha/kernel/smp.c | 2
arch/arm/include/asm/cacheflush.h | 7
arch/arm/kernel/fiq.c | 4
arch/arm/kernel/traps.c | 2
arch/arm64/include/asm/cacheflush.h | 46 ------
arch/c6x/include/asm/cacheflush.h | 19 --
arch/hexagon/include/asm/cacheflush.h | 19 --
arch/ia64/include/asm/cacheflush.h | 30 ----
arch/m68k/include/asm/cacheflush_mm.h | 6
arch/m68k/include/asm/cacheflush_no.h | 19 --
arch/m68k/mm/cache.c | 13 +
arch/microblaze/include/asm/cacheflush.h | 29 ---
arch/nds32/include/asm/cacheflush.h | 4
arch/nds32/mm/cacheflush.c | 3
arch/openrisc/include/asm/cacheflush.h | 33 ----
arch/powerpc/include/asm/cacheflush.h | 46 +-----
arch/powerpc/kvm/book3s_64_mmu_hv.c | 2
arch/powerpc/kvm/book3s_64_mmu_radix.c | 2
arch/powerpc/mm/mem.c | 3
arch/powerpc/perf/callchain_64.c | 4
arch/riscv/include/asm/cacheflush.h | 65 --------
arch/sh/include/asm/cacheflush.h | 1
arch/sparc/include/asm/cacheflush_32.h | 2
arch/sparc/include/asm/cacheflush_64.h | 1
arch/um/include/asm/tlb.h | 2
arch/unicore32/include/asm/cacheflush.h | 11 -
arch/x86/include/asm/cacheflush.h | 2
arch/xtensa/include/asm/cacheflush.h | 2
drivers/media/platform/omap3isp/ispvideo.c | 2
drivers/nvdimm/pmem.c | 3
drivers/vhost/vhost.c | 5
fs/binfmt_flat.c | 2
fs/exec.c | 5
fs/proc/proc_sysctl.c | 163 ++++++++++++++++++++--
include/asm-generic/cacheflush.h | 25 +--
include/linux/dev_printk.h | 6
include/linux/dynamic_debug.h | 2
include/linux/ipc_namespace.h | 2
include/linux/kernel.h | 9 +
include/linux/mm.h | 12 +
include/linux/net.h | 3
include/linux/netdevice.h | 6
include/linux/printk.h | 9 -
include/linux/sched/sysctl.h | 7
include/linux/sysctl.h | 4
include/linux/xarray.h | 4
include/rdma/ib_verbs.h | 6
init/main.c | 2
ipc/msg.c | 2
ipc/namespace.c | 24 ++-
kernel/events/core.c | 4
kernel/events/uprobes.c | 2
kernel/hung_task.c | 30 ++--
kernel/module.c | 8 -
kernel/panic.c | 45 ++++++
kernel/sysctl.c | 38 ++++-
kernel/watchdog.c | 37 +---
lib/Kconfig.debug | 12 +
lib/Makefile | 2
lib/dynamic_debug.c | 9 -
lib/test_sysctl.c | 13 +
mm/frame_vector.c | 7
mm/gup.c | 74 +++++++--
mm/mmap.c | 28 ++-
mm/nommu.c | 4
mm/page_alloc.c | 9 -
mm/page_idle.c | 7
tools/testing/selftests/sysctl/sysctl.sh | 44 +++++
virt/kvm/kvm_main.c | 8 -
76 files changed, 732 insertions(+), 517 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-04 23:45 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-04 23:45 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
- More MM work. 100ish more to go. Mike's "mm: remove
__ARCH_HAS_5LEVEL_HACK" series should fix the current ppc issue.
- Various other little subsystems
127 patches, based on 6929f71e46bdddbf1c4d67c2728648176c67c555.
Subsystems affected by this patch series:
kcov
mm/pagemap
mm/vmalloc
mm/kmap
mm/util
mm/memory-hotplug
mm/cleanups
mm/zram
procfs
core-kernel
get_maintainer
lib
bitops
checkpatch
binfmt
init
fat
seq_file
exec
rapidio
relay
selftests
ubsan
Subsystem: kcov
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kcov: collect coverage from usb soft interrupts", v4:
kcov: cleanup debug messages
kcov: fix potential use-after-free in kcov_remote_start
kcov: move t->kcov assignments into kcov_start/stop
kcov: move t->kcov_sequence assignment
kcov: use t->kcov_mode as enabled indicator
kcov: collect coverage from interrupts
usb: core: kcov: collect coverage from usb complete callback
Subsystem: mm/pagemap
Feng Tang <feng.tang@intel.com>:
mm/util.c: remove the VM_WARN_ONCE for vm_committed_as underflow check
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: remove __ARCH_HAS_5LEVEL_HACK", v4:
h8300: remove usage of __ARCH_USE_5LEVEL_HACK
arm: add support for folded p4d page tables
arm64: add support for folded p4d page tables
hexagon: remove __ARCH_USE_5LEVEL_HACK
ia64: add support for folded p4d page tables
nios2: add support for folded p4d page tables
openrisc: add support for folded p4d page tables
powerpc: add support for folded p4d page tables
Geert Uytterhoeven <geert+renesas@glider.be>:
sh: fault: modernize printing of kernel messages
Mike Rapoport <rppt@linux.ibm.com>:
sh: drop __pXd_offset() macros that duplicate pXd_index() ones
sh: add support for folded p4d page tables
unicore32: remove __ARCH_USE_5LEVEL_HACK
asm-generic: remove pgtable-nop4d-hack.h
mm: remove __ARCH_HAS_5LEVEL_HACK and include/asm-generic/5level-fixup.h
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/debug: Add tests validating architecture page table:
x86/mm: define mm_p4d_folded()
mm/debug: add tests validating architecture page table helpers
Subsystem: mm/vmalloc
Jeongtae Park <jtp.park@samsung.com>:
mm/vmalloc: fix a typo in comment
Subsystem: mm/kmap
Ira Weiny <ira.weiny@intel.com>:
Patch series "Remove duplicated kmap code", v3:
arch/kmap: remove BUG_ON()
arch/xtensa: move kmap build bug out of the way
arch/kmap: remove redundant arch specific kmaps
arch/kunmap: remove duplicate kunmap implementations
{x86,powerpc,microblaze}/kmap: move preempt disable
arch/kmap_atomic: consolidate duplicate code
arch/kunmap_atomic: consolidate duplicate code
arch/kmap: ensure kmap_prot visibility
arch/kmap: don't hard code kmap_prot values
arch/kmap: define kmap_atomic_prot() for all arch's
drm: remove drm specific kmap_atomic code
kmap: remove kmap_atomic_to_page()
parisc/kmap: remove duplicate kmap code
sparc: remove unnecessary includes
kmap: consolidate kmap_prot definitions
Subsystem: mm/util
Waiman Long <longman@redhat.com>:
mm: add kvfree_sensitive() for freeing sensitive data objects
Subsystem: mm/memory-hotplug
Vishal Verma <vishal.l.verma@intel.com>:
mm/memory_hotplug: refrain from adding memory into an impossible node
David Hildenbrand <david@redhat.com>:
powerpc/pseries/hotplug-memory: stop checking is_mem_section_removable()
mm/memory_hotplug: remove is_mem_section_removable()
Patch series "mm/memory_hotplug: handle memblocks only with:
mm/memory_hotplug: set node_start_pfn of hotadded pgdat to 0
mm/memory_hotplug: handle memblocks only with CONFIG_ARCH_KEEP_MEMBLOCK
Patch series "mm/memory_hotplug: Interface to add driver-managed system:
mm/memory_hotplug: introduce add_memory_driver_managed()
kexec_file: don't place kexec images on IORESOURCE_MEM_DRIVER_MANAGED
device-dax: add memory via add_memory_driver_managed()
Michal Hocko <mhocko@kernel.org>:
mm/memory_hotplug: disable the functionality for 32b
Subsystem: mm/cleanups
chenqiwu <chenqiwu@xiaomi.com>:
mm: replace zero-length array with flexible-array member
Ethon Paul <ethp@qq.com>:
mm/memory_hotplug: fix a typo in comment "recoreded"->"recorded"
mm: ksm: fix a typo in comment "alreaady"->"already"
mm: mmap: fix a typo in comment "compatbility"->"compatibility"
mm/hugetlb: fix a typos in comments
mm/vmsan: fix some typos in comment
mm/compaction: fix a typo in comment "pessemistic"->"pessimistic"
mm/memblock: fix a typo in comment "implict"->"implicit"
mm/list_lru: fix a typo in comment "numbesr"->"numbers"
mm/filemap: fix a typo in comment "unneccssary"->"unnecessary"
mm/frontswap: fix some typos in frontswap.c
mm, memcg: fix some typos in memcontrol.c
mm: fix a typo in comment "strucure"->"structure"
mm/slub: fix a typo in comment "disambiguiation"->"disambiguation"
mm/sparse: fix a typo in comment "convienence"->"convenience"
mm/page-writeback: fix a typo in comment "effictive"->"effective"
mm/memory: fix a typo in comment "attampt"->"attempt"
Zou Wei <zou_wei@huawei.com>:
mm: use false for bool variable
Jason Yan <yanaijie@huawei.com>:
include/linux/mm.h: return true in cpupid_pid_unset()
Subsystem: mm/zram
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
zcomp: Use ARRAY_SIZE() for backends list
Subsystem: procfs
Alexey Dobriyan <adobriyan@gmail.com>:
proc: rename "catch" function argument
Subsystem: core-kernel
Jason Yan <yanaijie@huawei.com>:
user.c: make uidhash_table static
Subsystem: get_maintainer
Joe Perches <joe@perches.com>:
get_maintainer: add email addresses from .yaml files
get_maintainer: fix unexpected behavior for path/to//file (double slashes)
Subsystem: lib
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
lib/math: avoid trailing newline hidden in pr_fmt()
KP Singh <kpsingh@chromium.org>:
lib: Add might_fault() to strncpy_from_user.
Jason Yan <yanaijie@huawei.com>:
lib/test_lockup.c: make test_inode static
Jann Horn <jannh@google.com>:
lib/zlib: remove outdated and incorrect pre-increment optimization
Joe Perches <joe@perches.com>:
lib/percpu-refcount.c: use a more common logging style
Tan Hu <tan.hu@zte.com.cn>:
lib/flex_proportions.c: cleanup __fprop_inc_percpu_max
Jesse Brandeburg <jesse.brandeburg@intel.com>:
lib: make a test module with set/clear bit
Subsystem: bitops
Arnd Bergmann <arnd@arndb.de>:
include/linux/bitops.h: avoid clang shift-count-overflow warnings
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: additional MAINTAINER section entry ordering checks
checkpatch: look for c99 comments in ctx_locate_comment
checkpatch: disallow --git and --file/--fix
Geert Uytterhoeven <geert+renesas@glider.be>:
checkpatch: use patch subject when reading from stdin
Subsystem: binfmt
Anthony Iliopoulos <ailiop@suse.com>:
fs/binfmt_elf: remove redundant elf_map ifndef
Nick Desaulniers <ndesaulniers@google.com>:
elfnote: mark all .note sections SHF_ALLOC
Subsystem: init
Chris Down <chris@chrisdown.name>:
init: allow distribution configuration of default init
Subsystem: fat
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
fat: don't allow to mount if the FAT length == 0
fat: improve the readahead for FAT entries
Subsystem: seq_file
Joe Perches <joe@perches.com>:
fs/seq_file.c: seq_read: Update pr_info_ratelimited
Kefeng Wang <wangkefeng.wang@huawei.com>:
Patch series "seq_file: Introduce DEFINE_SEQ_ATTRIBUTE() helper macro":
include/linux/seq_file.h: introduce DEFINE_SEQ_ATTRIBUTE() helper macro
mm/vmstat.c: convert to use DEFINE_SEQ_ATTRIBUTE macro
kernel/kprobes.c: convert to use DEFINE_SEQ_ATTRIBUTE macro
Subsystem: exec
Christoph Hellwig <hch@lst.de>:
exec: simplify the copy_strings_kernel calling convention
exec: open code copy_string_kernel
Subsystem: rapidio
Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>:
rapidio: avoid data race between file operation callbacks and mport_cdev_add().
John Hubbard <jhubbard@nvidia.com>:
rapidio: convert get_user_pages() --> pin_user_pages()
Subsystem: relay
Daniel Axtens <dja@axtens.net>:
kernel/relay.c: handle alloc_percpu returning NULL in relay_open
Pengcheng Yang <yangpc@wangsu.com>:
kernel/relay.c: fix read_pos error when multiple readers
Subsystem: selftests
Ram Pai <linuxram@us.ibm.com>:
Patch series "selftests, powerpc, x86: Memory Protection Keys", v19:
selftests/x86/pkeys: move selftests to arch-neutral directory
selftests/vm/pkeys: rename all references to pkru to a generic name
selftests/vm/pkeys: move generic definitions to header file
Thiago Jung Bauermann <bauerman@linux.ibm.com>:
selftests/vm/pkeys: move some definitions to arch-specific header
selftests/vm/pkeys: make gcc check arguments of sigsafe_printf()
Sandipan Das <sandipan@linux.ibm.com>:
selftests: vm: pkeys: Use sane types for pkey register
selftests: vm: pkeys: add helpers for pkey bits
Ram Pai <linuxram@us.ibm.com>:
selftests/vm/pkeys: fix pkey_disable_clear()
selftests/vm/pkeys: fix assertion in pkey_disable_set/clear()
selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
Sandipan Das <sandipan@linux.ibm.com>:
selftests: vm: pkeys: use the correct huge page size
Ram Pai <linuxram@us.ibm.com>:
selftests/vm/pkeys: introduce generic pkey abstractions
selftests/vm/pkeys: introduce powerpc support
"Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com>:
selftests/vm/pkeys: fix number of reserved powerpc pkeys
Ram Pai <linuxram@us.ibm.com>:
selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust()
selftests/vm/pkeys: improve checks to determine pkey support
selftests/vm/pkeys: associate key on a mapped page and detect access violation
selftests/vm/pkeys: associate key on a mapped page and detect write violation
selftests/vm/pkeys: detect write violation on a mapped access-denied-key page
selftests/vm/pkeys: introduce a sub-page allocator
selftests/vm/pkeys: test correct behaviour of pkey-0
selftests/vm/pkeys: override access right definitions on powerpc
Sandipan Das <sandipan@linux.ibm.com>:
selftests: vm: pkeys: use the correct page size on powerpc
selftests: vm: pkeys: fix multilib builds for x86
Jagadeesh Pagadala <jagdsh.linux@gmail.com>:
tools/testing/selftests/vm: remove duplicate headers
Subsystem: ubsan
Arnd Bergmann <arnd@arndb.de>:
lib/ubsan.c: fix gcc-10 warnings
Documentation/dev-tools/kcov.rst | 17
Documentation/features/debug/debug-vm-pgtable/arch-support.txt | 34
arch/arc/Kconfig | 1
arch/arc/include/asm/highmem.h | 20
arch/arc/mm/highmem.c | 34
arch/arm/include/asm/highmem.h | 9
arch/arm/include/asm/pgtable.h | 1
arch/arm/lib/uaccess_with_memcpy.c | 7
arch/arm/mach-sa1100/assabet.c | 2
arch/arm/mm/dump.c | 29
arch/arm/mm/fault-armv.c | 7
arch/arm/mm/fault.c | 22
arch/arm/mm/highmem.c | 41
arch/arm/mm/idmap.c | 3
arch/arm/mm/init.c | 2
arch/arm/mm/ioremap.c | 12
arch/arm/mm/mm.h | 2
arch/arm/mm/mmu.c | 35
arch/arm/mm/pgd.c | 40
arch/arm64/Kconfig | 1
arch/arm64/include/asm/kvm_mmu.h | 10
arch/arm64/include/asm/pgalloc.h | 10
arch/arm64/include/asm/pgtable-types.h | 5
arch/arm64/include/asm/pgtable.h | 37
arch/arm64/include/asm/stage2_pgtable.h | 48
arch/arm64/kernel/hibernate.c | 44
arch/arm64/kvm/mmu.c | 209
arch/arm64/mm/fault.c | 9
arch/arm64/mm/hugetlbpage.c | 15
arch/arm64/mm/kasan_init.c | 26
arch/arm64/mm/mmu.c | 52
arch/arm64/mm/pageattr.c | 7
arch/csky/include/asm/highmem.h | 12
arch/csky/mm/highmem.c | 64
arch/h8300/include/asm/pgtable.h | 1
arch/hexagon/include/asm/fixmap.h | 4
arch/hexagon/include/asm/pgtable.h | 1
arch/ia64/include/asm/pgalloc.h | 4
arch/ia64/include/asm/pgtable.h | 17
arch/ia64/mm/fault.c | 7
arch/ia64/mm/hugetlbpage.c | 18
arch/ia64/mm/init.c | 28
arch/microblaze/include/asm/highmem.h | 55
arch/microblaze/mm/highmem.c | 21
arch/microblaze/mm/init.c | 3
arch/mips/include/asm/highmem.h | 11
arch/mips/mm/cache.c | 6
arch/mips/mm/highmem.c | 62
arch/nds32/include/asm/highmem.h | 9
arch/nds32/mm/highmem.c | 49
arch/nios2/include/asm/pgtable.h | 3
arch/nios2/mm/fault.c | 9
arch/nios2/mm/ioremap.c | 6
arch/openrisc/include/asm/pgtable.h | 1
arch/openrisc/mm/fault.c | 10
arch/openrisc/mm/init.c | 4
arch/parisc/include/asm/cacheflush.h | 32
arch/powerpc/Kconfig | 1
arch/powerpc/include/asm/book3s/32/pgtable.h | 1
arch/powerpc/include/asm/book3s/64/hash.h | 4
arch/powerpc/include/asm/book3s/64/pgalloc.h | 4
arch/powerpc/include/asm/book3s/64/pgtable.h | 60
arch/powerpc/include/asm/book3s/64/radix.h | 6
arch/powerpc/include/asm/highmem.h | 56
arch/powerpc/include/asm/nohash/32/pgtable.h | 1
arch/powerpc/include/asm/nohash/64/pgalloc.h | 2
arch/powerpc/include/asm/nohash/64/pgtable-4k.h | 32
arch/powerpc/include/asm/nohash/64/pgtable.h | 6
arch/powerpc/include/asm/pgtable.h | 10
arch/powerpc/kvm/book3s_64_mmu_radix.c | 32
arch/powerpc/lib/code-patching.c | 7
arch/powerpc/mm/book3s64/hash_pgtable.c | 4
arch/powerpc/mm/book3s64/radix_pgtable.c | 26
arch/powerpc/mm/book3s64/subpage_prot.c | 6
arch/powerpc/mm/highmem.c | 26
arch/powerpc/mm/hugetlbpage.c | 28
arch/powerpc/mm/kasan/kasan_init_32.c | 2
arch/powerpc/mm/mem.c | 3
arch/powerpc/mm/nohash/book3e_pgtable.c | 15
arch/powerpc/mm/pgtable.c | 30
arch/powerpc/mm/pgtable_64.c | 10
arch/powerpc/mm/ptdump/hashpagetable.c | 20
arch/powerpc/mm/ptdump/ptdump.c | 12
arch/powerpc/platforms/pseries/hotplug-memory.c | 26
arch/powerpc/xmon/xmon.c | 27
arch/s390/Kconfig | 1
arch/sh/include/asm/pgtable-2level.h | 1
arch/sh/include/asm/pgtable-3level.h | 1
arch/sh/include/asm/pgtable_32.h | 5
arch/sh/include/asm/pgtable_64.h | 5
arch/sh/kernel/io_trapped.c | 7
arch/sh/mm/cache-sh4.c | 4
arch/sh/mm/cache-sh5.c | 7
arch/sh/mm/fault.c | 64
arch/sh/mm/hugetlbpage.c | 28
arch/sh/mm/init.c | 15
arch/sh/mm/kmap.c | 2
arch/sh/mm/tlbex_32.c | 6
arch/sh/mm/tlbex_64.c | 7
arch/sparc/include/asm/highmem.h | 29
arch/sparc/mm/highmem.c | 31
arch/sparc/mm/io-unit.c | 1
arch/sparc/mm/iommu.c | 1
arch/unicore32/include/asm/pgtable.h | 1
arch/unicore32/kernel/hibernate.c | 4
arch/x86/Kconfig | 1
arch/x86/include/asm/fixmap.h | 1
arch/x86/include/asm/highmem.h | 37
arch/x86/include/asm/pgtable_64.h | 6
arch/x86/mm/highmem_32.c | 52
arch/xtensa/include/asm/highmem.h | 31
arch/xtensa/mm/highmem.c | 28
drivers/block/zram/zcomp.c | 7
drivers/dax/dax-private.h | 1
drivers/dax/kmem.c | 28
drivers/gpu/drm/ttm/ttm_bo_util.c | 56
drivers/gpu/drm/vmwgfx/vmwgfx_blit.c | 17
drivers/rapidio/devices/rio_mport_cdev.c | 27
drivers/usb/core/hcd.c | 3
fs/binfmt_elf.c | 4
fs/binfmt_em86.c | 6
fs/binfmt_misc.c | 4
fs/binfmt_script.c | 6
fs/exec.c | 58
fs/fat/fatent.c | 103
fs/fat/inode.c | 6
fs/proc/array.c | 8
fs/seq_file.c | 7
include/asm-generic/5level-fixup.h | 59
include/asm-generic/pgtable-nop4d-hack.h | 64
include/asm-generic/pgtable-nopud.h | 4
include/drm/ttm/ttm_bo_api.h | 4
include/linux/binfmts.h | 3
include/linux/bitops.h | 2
include/linux/elfnote.h | 2
include/linux/highmem.h | 89
include/linux/ioport.h | 1
include/linux/memory_hotplug.h | 9
include/linux/mm.h | 12
include/linux/sched.h | 3
include/linux/seq_file.h | 19
init/Kconfig | 10
init/main.c | 10
kernel/kcov.c | 282 -
kernel/kexec_file.c | 5
kernel/kprobes.c | 34
kernel/relay.c | 22
kernel/user.c | 2
lib/Kconfig.debug | 44
lib/Makefile | 2
lib/flex_proportions.c | 7
lib/math/prime_numbers.c | 10
lib/percpu-refcount.c | 6
lib/strncpy_from_user.c | 1
lib/test_bitops.c | 60
lib/test_lockup.c | 2
lib/ubsan.c | 33
lib/zlib_inflate/inffast.c | 91
mm/Kconfig | 4
mm/Makefile | 1
mm/compaction.c | 2
mm/debug_vm_pgtable.c | 382 +
mm/filemap.c | 2
mm/frontswap.c | 6
mm/huge_memory.c | 2
mm/hugetlb.c | 16
mm/internal.h | 2
mm/kasan/init.c | 11
mm/ksm.c | 10
mm/list_lru.c | 2
mm/memblock.c | 2
mm/memcontrol.c | 4
mm/memory.c | 10
mm/memory_hotplug.c | 179
mm/mmap.c | 2
mm/mremap.c | 2
mm/page-writeback.c | 2
mm/slub.c | 2
mm/sparse.c | 2
mm/util.c | 22
mm/vmalloc.c | 2
mm/vmscan.c | 6
mm/vmstat.c | 32
mm/zbud.c | 2
scripts/checkpatch.pl | 62
scripts/get_maintainer.pl | 46
security/keys/internal.h | 11
security/keys/keyctl.c | 16
tools/testing/selftests/lib/config | 1
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 75
tools/testing/selftests/vm/mremap_dontunmap.c | 1
tools/testing/selftests/vm/pkey-helpers.h | 557 +-
tools/testing/selftests/vm/pkey-powerpc.h | 153
tools/testing/selftests/vm/pkey-x86.h | 191
tools/testing/selftests/vm/protection_keys.c | 2370 ++++++++--
tools/testing/selftests/x86/.gitignore | 1
tools/testing/selftests/x86/Makefile | 2
tools/testing/selftests/x86/pkey-helpers.h | 219
tools/testing/selftests/x86/protection_keys.c | 1506 ------
200 files changed, 5182 insertions(+), 4033 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-03 22:55 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-03 22:55 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
More mm/ work, plenty more to come.
131 patches, based on d6f9469a03d832dcd17041ed67774ffb5f3e73b3.
Subsystems affected by this patch series:
mm/slub
mm/memcg
mm/gup
mm/kasan
mm/pagealloc
mm/hugetlb
mm/vmscan
mm/tools
mm/mempolicy
mm/memblock
mm/hugetlbfs
mm/thp
mm/mmap
mm/kconfig
Subsystem: mm/slub
Wang Hai <wanghai38@huawei.com>:
mm/slub: fix a memory leak in sysfs_slab_add()
Subsystem: mm/memcg
Shakeel Butt <shakeelb@google.com>:
mm/memcg: optimize memory.numa_stat like memory.stat
Subsystem: mm/gup
John Hubbard <jhubbard@nvidia.com>:
Patch series "mm/gup, drm/i915: refactor gup_fast, convert to pin_user_pages()", v2:
mm/gup: move __get_user_pages_fast() down a few lines in gup.c
mm/gup: refactor and de-duplicate gup_fast() code
mm/gup: introduce pin_user_pages_fast_only()
drm/i915: convert get_user_pages() --> pin_user_pages()
mm/gup: might_lock_read(mmap_sem) in get_user_pages_fast()
Subsystem: mm/kasan
Daniel Axtens <dja@axtens.net>:
Patch series "Fix some incompatibilites between KASAN and FORTIFY_SOURCE", v4:
kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE
string.h: fix incompatibility between FORTIFY_SOURCE and KASAN
Subsystem: mm/pagealloc
Michal Hocko <mhocko@suse.com>:
mm: clarify __GFP_MEMALLOC usage
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: rework free_area_init*() funcitons":
mm: memblock: replace dereferences of memblock_region.nid with API calls
mm: make early_pfn_to_nid() and related defintions close to each other
mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option
mm: free_area_init: use maximal zone PFNs rather than zone sizes
mm: use free_area_init() instead of free_area_init_nodes()
alpha: simplify detection of memory zone boundaries
arm: simplify detection of memory zone boundaries
arm64: simplify detection of memory zone boundaries for UMA configs
csky: simplify detection of memory zone boundaries
m68k: mm: simplify detection of memory zone boundaries
parisc: simplify detection of memory zone boundaries
sparc32: simplify detection of memory zone boundaries
unicore32: simplify detection of memory zone boundaries
xtensa: simplify detection of memory zone boundaries
Baoquan He <bhe@redhat.com>:
mm: memmap_init: iterate over memblock regions rather that check each PFN
Mike Rapoport <rppt@linux.ibm.com>:
mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES
mm: free_area_init: allow defining max_zone_pfn in descending order
mm: rename free_area_init_node() to free_area_init_memoryless_node()
mm: clean up free_area_init_node() and its helpers
mm: simplify find_min_pfn_with_active_regions()
docs/vm: update memory-models documentation
Wei Yang <richard.weiyang@gmail.com>:
Patch series "mm/page_alloc.c: cleanup on check page", v3:
mm/page_alloc.c: bad_[reason|flags] is not necessary when PageHWPoison
mm/page_alloc.c: bad_flags is not necessary for bad_page()
mm/page_alloc.c: rename free_pages_check_bad() to check_free_page_bad()
mm/page_alloc.c: rename free_pages_check() to check_free_page()
mm/page_alloc.c: extract check_[new|free]_page_bad() common part to page_bad_reason()
Roman Gushchin <guro@fb.com>:
mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations
Baoquan He <bhe@redhat.com>:
mm/page_alloc.c: remove unused free_bootmem_with_active_regions
Patch series "improvements about lowmem_reserve and /proc/zoneinfo", v2:
mm/page_alloc.c: only tune sysctl_lowmem_reserve_ratio value once when changing it
mm/page_alloc.c: clear out zone->lowmem_reserve[] if the zone is empty
mm/vmstat.c: do not show lowmem reserve protection information of empty zone
Joonsoo Kim <iamjoonsoo.kim@lge.com>:
Patch series "integrate classzone_idx and high_zoneidx", v5:
mm/page_alloc: use ac->high_zoneidx for classzone_idx
mm/page_alloc: integrate classzone_idx and high_zoneidx
Wei Yang <richard.weiyang@gmail.com>:
mm/page_alloc.c: use NODE_MASK_NONE in build_zonelists()
mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention
Sandipan Das <sandipan@linux.ibm.com>:
mm/page_alloc.c: reset numa stats for boot pagesets
Charan Teja Reddy <charante@codeaurora.org>:
mm, page_alloc: reset the zone->watermark_boost early
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/page_alloc: restrict and formalize compound_page_dtors[]
Daniel Jordan <daniel.m.jordan@oracle.com>:
Patch series "initialize deferred pages with interrupts enabled", v4:
mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init
Pavel Tatashin <pasha.tatashin@soleen.com>:
mm: initialize deferred pages with interrupts enabled
mm: call cond_resched() from deferred_init_memmap()
Daniel Jordan <daniel.m.jordan@oracle.com>:
Patch series "padata: parallelize deferred page init", v3:
padata: remove exit routine
padata: initialize earlier
padata: allocate work structures for parallel jobs from a pool
padata: add basic support for multithreaded jobs
mm: don't track number of pages during deferred initialization
mm: parallelize deferred_init_memmap()
mm: make deferred init's max threads arch-specific
padata: document multithreaded jobs
Chen Tao <chentao107@huawei.com>:
mm/page_alloc.c: add missing newline
Subsystem: mm/hugetlb
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
Patch series "thp/khugepaged improvements and CoW semantics", v4:
khugepaged: add self test
khugepaged: do not stop collapse if less than half PTEs are referenced
khugepaged: drain all LRU caches before scanning pages
khugepaged: drain LRU add pagevec after swapin
khugepaged: allow to collapse a page shared across fork
khugepaged: allow to collapse PTE-mapped compound pages
thp: change CoW semantics for anon-THP
khugepaged: introduce 'max_ptes_shared' tunable
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "Clean up hugetlb boot command line processing", v4:
hugetlbfs: add arch_hugetlb_valid_size
hugetlbfs: move hugepagesz= parsing to arch independent code
hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate
hugetlbfs: clean up command line processing
hugetlbfs: fix changes to command line processing
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/hugetlb: avoid unnecessary check on pud and pmd entry in huge_pte_offset
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/hugetlb: Add some new generic fallbacks", v3:
arm64/mm: drop __HAVE_ARCH_HUGE_PTEP_GET
mm/hugetlb: define a generic fallback for is_hugepage_only_range()
mm/hugetlb: define a generic fallback for arch_clear_hugepage_flags()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: simplify calling a compound page destructor
Subsystem: mm/vmscan
Wei Yang <richard.weiyang@gmail.com>:
mm/vmscan.c: use update_lru_size() in update_lru_sizes()
Jaewon Kim <jaewon31.kim@samsung.com>:
mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch
Maninder Singh <maninder1.s@samsung.com>:
mm/vmscan.c: change prototype for shrink_page_list
Qiwu Chen <qiwuchen55@gmail.com>:
mm/vmscan: update the comment of should_continue_reclaim()
Johannes Weiner <hannes@cmpxchg.org>:
Patch series "mm: memcontrol: charge swapin pages on instantiation", v2:
mm: fix NUMA node file count error in replace_page_cache()
mm: memcontrol: fix stat-corrupting race in charge moving
mm: memcontrol: drop @compound parameter from memcg charging API
mm: shmem: remove rare optimization when swapin races with hole punching
mm: memcontrol: move out cgroup swaprate throttling
mm: memcontrol: convert page cache to a new mem_cgroup_charge() API
mm: memcontrol: prepare uncharging for removal of private page type counters
mm: memcontrol: prepare move_account for removal of private page type counters
mm: memcontrol: prepare cgroup vmstat infrastructure for native anon counters
mm: memcontrol: switch to native NR_FILE_PAGES and NR_SHMEM counters
mm: memcontrol: switch to native NR_ANON_MAPPED counter
mm: memcontrol: switch to native NR_ANON_THPS counter
mm: memcontrol: convert anon and file-thp to new mem_cgroup_charge() API
mm: memcontrol: drop unused try/commit/cancel charge API
mm: memcontrol: prepare swap controller setup for integration
mm: memcontrol: make swap tracking an integral part of memory control
mm: memcontrol: charge swapin pages on instantiation
Alex Shi <alex.shi@linux.alibaba.com>:
mm: memcontrol: document the new swap control behavior
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: delete unused lrucare handling
mm: memcontrol: update page->mem_cgroup stability rules
mm: fix LRU balancing effect of new transparent huge pages
mm: keep separate anon and file statistics on page reclaim activity
mm: allow swappiness that prefers reclaiming anon over the file workingset
mm: fold and remove lru_cache_add_anon() and lru_cache_add_file()
mm: workingset: let cache workingset challenge anon
mm: remove use-once cache bias from LRU balancing
mm: vmscan: drop unnecessary div0 avoidance rounding in get_scan_count()
mm: base LRU balancing on an explicit cost model
mm: deactivations shouldn't bias the LRU balance
mm: only count actual rotations as LRU reclaim cost
mm: balance LRU lists based on relative thrashing
mm: vmscan: determine anon/file pressure balance at the reclaim root
mm: vmscan: reclaim writepage is IO cost
mm: vmscan: limit the range of LRU type balancing
Shakeel Butt <shakeelb@google.com>:
mm: swap: fix vmstats for huge pages
mm: swap: memcg: fix memcg stats for huge pages
Subsystem: mm/tools
Changhee Han <ch0.han@lge.com>:
tools/vm/page_owner_sort.c: filter out unneeded line
Subsystem: mm/mempolicy
Michal Hocko <mhocko@suse.com>:
mm, mempolicy: fix up gup usage in lookup_node
Subsystem: mm/memblock
chenqiwu <chenqiwu@xiaomi.com>:
include/linux/memblock.h: fix minor typo and unclear comment
Mike Rapoport <rppt@linux.ibm.com>:
sparc32: register memory occupied by kernel as memblock.memory
Subsystem: mm/hugetlbfs
Shijie Hu <hushijie3@huawei.com>:
hugetlbfs: get unmapped area below TASK_UNMAPPED_BASE for hugetlbfs
Subsystem: mm/thp
Yang Shi <yang.shi@linux.alibaba.com>:
mm: thp: don't need to drain lru cache when splitting and mlocking THP
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/thp: Rename pmd_mknotpresent() as pmd_mknotvalid()", v2:
powerpc/mm: drop platform defined pmd_mknotpresent()
mm/thp: rename pmd_mknotpresent() as pmd_mkinvalid()
Subsystem: mm/mmap
Scott Cheloha <cheloha@linux.vnet.ibm.com>:
drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup
Subsystem: mm/kconfig
Zong Li <zong.li@sifive.com>:
Patch series "Extract DEBUG_WX to shared use":
mm: add DEBUG_WX support
riscv: support DEBUG_WX
x86: mm: use ARCH_HAS_DEBUG_WX instead of arch defined
arm64: mm: use ARCH_HAS_DEBUG_WX instead of arch defined
Documentation/admin-guide/cgroup-v1/memory.rst | 19
Documentation/admin-guide/kernel-parameters.txt | 40
Documentation/admin-guide/mm/hugetlbpage.rst | 35
Documentation/admin-guide/mm/transhuge.rst | 7
Documentation/admin-guide/sysctl/vm.rst | 23
Documentation/core-api/padata.rst | 41
Documentation/features/vm/numa-memblock/arch-support.txt | 34
Documentation/vm/memory-model.rst | 9
Documentation/vm/page_owner.rst | 3
arch/alpha/mm/init.c | 16
arch/alpha/mm/numa.c | 22
arch/arc/include/asm/hugepage.h | 2
arch/arc/mm/init.c | 41
arch/arm/include/asm/hugetlb.h | 7
arch/arm/include/asm/pgtable-3level.h | 2
arch/arm/mm/init.c | 66
arch/arm64/Kconfig | 2
arch/arm64/Kconfig.debug | 29
arch/arm64/include/asm/hugetlb.h | 13
arch/arm64/include/asm/pgtable.h | 2
arch/arm64/mm/hugetlbpage.c | 48
arch/arm64/mm/init.c | 56
arch/arm64/mm/numa.c | 9
arch/c6x/mm/init.c | 8
arch/csky/kernel/setup.c | 26
arch/h8300/mm/init.c | 6
arch/hexagon/mm/init.c | 6
arch/ia64/Kconfig | 1
arch/ia64/include/asm/hugetlb.h | 5
arch/ia64/mm/contig.c | 2
arch/ia64/mm/discontig.c | 2
arch/m68k/mm/init.c | 6
arch/m68k/mm/mcfmmu.c | 9
arch/m68k/mm/motorola.c | 15
arch/m68k/mm/sun3mmu.c | 10
arch/microblaze/Kconfig | 1
arch/microblaze/mm/init.c | 2
arch/mips/Kconfig | 1
arch/mips/include/asm/hugetlb.h | 11
arch/mips/include/asm/pgtable.h | 2
arch/mips/loongson64/numa.c | 2
arch/mips/mm/init.c | 2
arch/mips/sgi-ip27/ip27-memory.c | 2
arch/nds32/mm/init.c | 11
arch/nios2/mm/init.c | 8
arch/openrisc/mm/init.c | 9
arch/parisc/include/asm/hugetlb.h | 10
arch/parisc/mm/init.c | 22
arch/powerpc/Kconfig | 10
arch/powerpc/include/asm/book3s/64/pgtable.h | 4
arch/powerpc/include/asm/hugetlb.h | 5
arch/powerpc/mm/hugetlbpage.c | 38
arch/powerpc/mm/mem.c | 2
arch/riscv/Kconfig | 2
arch/riscv/include/asm/hugetlb.h | 10
arch/riscv/include/asm/ptdump.h | 11
arch/riscv/mm/hugetlbpage.c | 44
arch/riscv/mm/init.c | 5
arch/s390/Kconfig | 1
arch/s390/include/asm/hugetlb.h | 8
arch/s390/mm/hugetlbpage.c | 34
arch/s390/mm/init.c | 2
arch/sh/Kconfig | 1
arch/sh/include/asm/hugetlb.h | 7
arch/sh/mm/init.c | 2
arch/sparc/Kconfig | 10
arch/sparc/include/asm/hugetlb.h | 10
arch/sparc/mm/init_32.c | 1
arch/sparc/mm/init_64.c | 67
arch/sparc/mm/srmmu.c | 21
arch/um/kernel/mem.c | 12
arch/unicore32/include/asm/memory.h | 2
arch/unicore32/include/mach/memory.h | 6
arch/unicore32/kernel/pci.c | 14
arch/unicore32/mm/init.c | 43
arch/x86/Kconfig | 11
arch/x86/Kconfig.debug | 27
arch/x86/include/asm/hugetlb.h | 10
arch/x86/include/asm/pgtable.h | 2
arch/x86/mm/hugetlbpage.c | 35
arch/x86/mm/init.c | 2
arch/x86/mm/init_64.c | 12
arch/x86/mm/kmmio.c | 2
arch/x86/mm/numa.c | 11
arch/xtensa/mm/init.c | 8
drivers/base/memory.c | 44
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 22
fs/cifs/file.c | 10
fs/fuse/dev.c | 2
fs/hugetlbfs/inode.c | 67
include/asm-generic/hugetlb.h | 2
include/linux/compaction.h | 9
include/linux/gfp.h | 7
include/linux/hugetlb.h | 16
include/linux/memblock.h | 15
include/linux/memcontrol.h | 102 -
include/linux/mm.h | 52
include/linux/mmzone.h | 46
include/linux/padata.h | 43
include/linux/string.h | 60
include/linux/swap.h | 17
include/linux/vm_event_item.h | 4
include/linux/vmstat.h | 2
include/trace/events/compaction.h | 22
include/trace/events/huge_memory.h | 3
include/trace/events/vmscan.h | 14
init/Kconfig | 17
init/main.c | 2
kernel/events/uprobes.c | 22
kernel/padata.c | 293 +++-
kernel/sysctl.c | 3
lib/test_kasan.c | 29
mm/Kconfig | 9
mm/Kconfig.debug | 32
mm/compaction.c | 70 -
mm/filemap.c | 55
mm/gup.c | 237 ++-
mm/huge_memory.c | 282 ----
mm/hugetlb.c | 260 ++-
mm/internal.h | 25
mm/khugepaged.c | 316 ++--
mm/memblock.c | 19
mm/memcontrol.c | 642 +++------
mm/memory.c | 103 -
mm/memory_hotplug.c | 10
mm/mempolicy.c | 5
mm/migrate.c | 30
mm/oom_kill.c | 4
mm/page_alloc.c | 735 ++++------
mm/page_owner.c | 7
mm/pgtable-generic.c | 2
mm/rmap.c | 53
mm/shmem.c | 156 --
mm/slab.c | 4
mm/slub.c | 8
mm/swap.c | 199 +-
mm/swap_cgroup.c | 10
mm/swap_state.c | 110 -
mm/swapfile.c | 39
mm/userfaultfd.c | 15
mm/vmscan.c | 344 ++--
mm/vmstat.c | 16
mm/workingset.c | 23
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 1
tools/testing/selftests/vm/khugepaged.c | 1035 +++++++++++++++
tools/vm/page_owner_sort.c | 5
147 files changed, 3876 insertions(+), 3108 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-02 20:09 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-06-02 20:09 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
A few little subsystems and a start of a lot of MM patches.
128 patches, based on f359287765c04711ff54fbd11645271d8e5ff763:
Subsystems affected by this patch series:
squashfs
ocfs2
parisc
vfs
mm/slab-generic
mm/slub
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/memory-failure
mm/vmalloc
mm/kasan
Subsystem: squashfs
Philippe Liard <pliard@google.com>:
squashfs: migrate from ll_rw_block usage to BIO
Subsystem: ocfs2
Jules Irenge <jbi.octave@gmail.com>:
ocfs2: add missing annotation for dlm_empty_lockres()
Gang He <ghe@suse.com>:
ocfs2: mount shared volume without ha stack
Subsystem: parisc
Andrew Morton <akpm@linux-foundation.org>:
arch/parisc/include/asm/pgtable.h: remove unused `old_pte'
Subsystem: vfs
Jeff Layton <jlayton@redhat.com>:
Patch series "vfs: have syncfs() return error when there are writeback:
vfs: track per-sb writeback errors and report them to syncfs
fs/buffer.c: record blockdev write errors in super_block that it backs
Subsystem: mm/slab-generic
Vlastimil Babka <vbabka@suse.cz>:
usercopy: mark dma-kmalloc caches as usercopy caches
Subsystem: mm/slub
Dongli Zhang <dongli.zhang@oracle.com>:
mm/slub.c: fix corrupted freechain in deactivate_slab()
Christoph Lameter <cl@linux.com>:
slub: Remove userspace notifier for cache add/remove
Christopher Lameter <cl@linux.com>:
slub: remove kmalloc under list_lock from list_slab_objects() V2
Qian Cai <cai@lca.pw>:
mm/slub: fix stack overruns with SLUB_STATS
Andrew Morton <akpm@linux-foundation.org>:
Documentation/vm/slub.rst: s/Toggle/Enable/
Subsystem: mm/debug
Vlastimil Babka <vbabka@suse.cz>:
mm, dump_page(): do not crash with invalid mapping pointer
Subsystem: mm/pagecache
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Change readahead API", v11:
mm: move readahead prototypes from mm.h
mm: return void from various readahead functions
mm: ignore return value of ->readpages
mm: move readahead nr_pages check into read_pages
mm: add new readahead_control API
mm: use readahead_control to pass arguments
mm: rename various 'offset' parameters to 'index'
mm: rename readahead loop variable to 'i'
mm: remove 'page_offset' from readahead loop
mm: put readahead pages in cache earlier
mm: add readahead address space operation
mm: move end_index check out of readahead loop
mm: add page_cache_readahead_unbounded
mm: document why we don't set PageReadahead
mm: use memalloc_nofs_save in readahead path
fs: convert mpage_readpages to mpage_readahead
btrfs: convert from readpages to readahead
erofs: convert uncompressed files from readpages to readahead
erofs: convert compressed files from readpages to readahead
ext4: convert from readpages to readahead
ext4: pass the inode to ext4_mpage_readpages
f2fs: convert from readpages to readahead
f2fs: pass the inode to f2fs_mpage_readpages
fuse: convert from readpages to readahead
iomap: convert from readpages to readahead
Guoqing Jiang <guoqing.jiang@cloud.ionos.com>:
Patch series "Introduce attach/detach_page_private to cleanup code":
include/linux/pagemap.h: introduce attach/detach_page_private
md: remove __clear_page_buffers and use attach/detach_page_private
btrfs: use attach/detach_page_private
fs/buffer.c: use attach/detach_page_private
f2fs: use attach/detach_page_private
iomap: use attach/detach_page_private
ntfs: replace attach_page_buffers with attach_page_private
orangefs: use attach/detach_page_private
buffer_head.h: remove attach_page_buffers
mm/migrate.c: call detach_page_private to cleanup code
mm_types.h: change set_page_private to inline function
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap.c: remove misleading comment
Chao Yu <yuchao0@huawei.com>:
mm/page-writeback.c: remove unused variable
NeilBrown <neilb@suse.de>:
mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLE
mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead
Subsystem: mm/gup
Souptick Joarder <jrdr.linux@gmail.com>:
mm/gup.c: update the documentation
John Hubbard <jhubbard@nvidia.com>:
mm/gup: introduce pin_user_pages_unlocked
ivtv: convert get_user_pages() --> pin_user_pages()
Miles Chen <miles.chen@mediatek.com>:
mm/gup.c: further document vma_permits_fault()
Subsystem: mm/swap
chenqiwu <chenqiwu@xiaomi.com>:
mm/swapfile: use list_{prev,next}_entry() instead of open-coding
Qian Cai <cai@lca.pw>:
mm/swap_state: fix a data race in swapin_nr_pages
Andrea Righi <andrea.righi@canonical.com>:
mm: swap: properly update readahead statistics in unuse_pte_range()
Wei Yang <richard.weiyang@gmail.com>:
mm/swapfile.c: offset is only used when there is more slots
mm/swapfile.c: explicitly show ssd/non-ssd is handled mutually exclusive
mm/swapfile.c: remove the unnecessary goto for SSD case
mm/swapfile.c: simplify the calculation of n_goal
mm/swapfile.c: remove the extra check in scan_swap_map_slots()
mm/swapfile.c: found_free could be represented by (tmp < max)
mm/swapfile.c: tmp is always smaller than max
mm/swapfile.c: omit a duplicate code by compare tmp and max first
Huang Ying <ying.huang@intel.com>:
swap: try to scan more free slots even when fragmented
Wei Yang <richard.weiyang@gmail.com>:
mm/swapfile.c: classify SWAP_MAP_XXX to make it more readable
mm/swapfile.c: __swap_entry_free() always free 1 entry
Huang Ying <ying.huang@intel.com>:
mm/swapfile.c: use prandom_u32_max()
swap: reduce lock contention on swap cache from swap slots allocation
Randy Dunlap <rdunlap@infradead.org>:
mm: swapfile: fix /proc/swaps heading and Size/Used/Priority alignment
Miaohe Lin <linmiaohe@huawei.com>:
include/linux/swap.h: delete meaningless __add_to_swap_cache() declaration
Subsystem: mm/memcg
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: add workingset_restore in memory.stat
Kaixu Xia <kaixuxia@tencent.com>:
mm: memcontrol: simplify value comparison between count and limit
Shakeel Butt <shakeelb@google.com>:
memcg: expose root cgroup's memory.stat
Jakub Kicinski <kuba@kernel.org>:
Patch series "memcg: Slow down swap allocation as the available space gets:
mm/memcg: prepare for swap over-high accounting and penalty calculation
mm/memcg: move penalty delay clamping out of calculate_high_delay()
mm/memcg: move cgroup high memory limit setting into struct page_counter
mm/memcg: automatically penalize tasks with high swap use
Zefan Li <lizefan@huawei.com>:
memcg: fix memcg_kmem_bypass() for remote memcg charging
Subsystem: mm/pagemap
Steven Price <steven.price@arm.com>:
Patch series "Fix W+X debug feature on x86":
x86: mm: ptdump: calculate effective permissions correctly
mm: ptdump: expand type of 'val' in note_page()
Huang Ying <ying.huang@intel.com>:
/proc/PID/smaps: Add PMD migration entry parsing
chenqiwu <chenqiwu@xiaomi.com>:
mm/memory: remove unnecessary pte_devmap case in copy_one_pte()
Subsystem: mm/memory-failure
Wetp Zhang <wetp.zy@linux.alibaba.com>:
mm, memory_failure: don't send BUS_MCEERR_AO for action required error
Subsystem: mm/vmalloc
Christoph Hellwig <hch@lst.de>:
Patch series "decruft the vmalloc API", v2:
x86/hyperv: use vmalloc_exec for the hypercall page
x86: fix vmap arguments in map_irq_stack
staging: android: ion: use vmap instead of vm_map_ram
staging: media: ipu3: use vmap instead of reimplementing it
dma-mapping: use vmap insted of reimplementing it
powerpc: add an ioremap_phb helper
powerpc: remove __ioremap_at and __iounmap_at
mm: remove __get_vm_area
mm: unexport unmap_kernel_range_noflush
mm: rename CONFIG_PGTABLE_MAPPING to CONFIG_ZSMALLOC_PGTABLE_MAPPING
mm: only allow page table mappings for built-in zsmalloc
mm: pass addr as unsigned long to vb_free
mm: remove vmap_page_range_noflush and vunmap_page_range
mm: rename vmap_page_range to map_kernel_range
mm: don't return the number of pages from map_kernel_range{,_noflush}
mm: remove map_vm_range
mm: remove unmap_vmap_area
mm: remove the prot argument from vm_map_ram
mm: enforce that vmap can't map pages executable
gpu/drm: remove the powerpc hack in drm_legacy_sg_alloc
mm: remove the pgprot argument to __vmalloc
mm: remove the prot argument to __vmalloc_node
mm: remove both instances of __vmalloc_node_flags
mm: remove __vmalloc_node_flags_caller
mm: switch the test_vmalloc module to use __vmalloc_node
mm: remove vmalloc_user_node_flags
arm64: use __vmalloc_node in arch_alloc_vmap_stack
powerpc: use __vmalloc_node in alloc_vm_stack
s390: use __vmalloc_node in stack_alloc
Joerg Roedel <jroedel@suse.de>:
Patch series "mm: Get rid of vmalloc_sync_(un)mappings()", v3:
mm: add functions to track page directory modifications
mm/vmalloc: track which page-table levels were modified
mm/ioremap: track which page-table levels were modified
x86/mm/64: implement arch_sync_kernel_mappings()
x86/mm/32: implement arch_sync_kernel_mappings()
mm: remove vmalloc_sync_(un)mappings()
x86/mm: remove vmalloc faulting
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix clang compilation warning due to stack protector
Kees Cook <keescook@chromium.org>:
ubsan: entirely disable alignment checks under UBSAN_TRAP
Jing Xia <jing.xia@unisoc.com>:
mm/mm_init.c: report kasan-tag information stored in page->flags
Andrey Konovalov <andreyknvl@google.com>:
kasan: move kasan_report() into report.c
Documentation/admin-guide/cgroup-v2.rst | 24 +
Documentation/core-api/cachetlb.rst | 2
Documentation/filesystems/locking.rst | 6
Documentation/filesystems/proc.rst | 4
Documentation/filesystems/vfs.rst | 15
Documentation/vm/slub.rst | 2
arch/arm/configs/omap2plus_defconfig | 2
arch/arm64/include/asm/pgtable.h | 3
arch/arm64/include/asm/vmap_stack.h | 6
arch/arm64/mm/dump.c | 2
arch/parisc/include/asm/pgtable.h | 2
arch/powerpc/include/asm/io.h | 10
arch/powerpc/include/asm/pci-bridge.h | 2
arch/powerpc/kernel/irq.c | 5
arch/powerpc/kernel/isa-bridge.c | 28 +
arch/powerpc/kernel/pci_64.c | 56 +-
arch/powerpc/mm/ioremap_64.c | 50 --
arch/riscv/include/asm/pgtable.h | 4
arch/riscv/mm/ptdump.c | 2
arch/s390/kernel/setup.c | 9
arch/sh/kernel/cpu/sh4/sq.c | 3
arch/x86/hyperv/hv_init.c | 5
arch/x86/include/asm/kvm_host.h | 3
arch/x86/include/asm/pgtable-2level_types.h | 2
arch/x86/include/asm/pgtable-3level_types.h | 2
arch/x86/include/asm/pgtable_64_types.h | 2
arch/x86/include/asm/pgtable_types.h | 8
arch/x86/include/asm/switch_to.h | 23 -
arch/x86/kernel/irq_64.c | 2
arch/x86/kernel/setup_percpu.c | 6
arch/x86/kvm/svm/sev.c | 3
arch/x86/mm/dump_pagetables.c | 35 +
arch/x86/mm/fault.c | 196 ----------
arch/x86/mm/init_64.c | 5
arch/x86/mm/pti.c | 8
arch/x86/mm/tlb.c | 37 -
block/blk-core.c | 1
drivers/acpi/apei/ghes.c | 6
drivers/base/node.c | 2
drivers/block/drbd/drbd_bitmap.c | 4
drivers/block/loop.c | 2
drivers/dax/device.c | 1
drivers/gpu/drm/drm_scatter.c | 11
drivers/gpu/drm/etnaviv/etnaviv_dump.c | 4
drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c | 2
drivers/lightnvm/pblk-init.c | 5
drivers/md/dm-bufio.c | 4
drivers/md/md-bitmap.c | 12
drivers/media/common/videobuf2/videobuf2-dma-sg.c | 3
drivers/media/common/videobuf2/videobuf2-vmalloc.c | 3
drivers/media/pci/ivtv/ivtv-udma.c | 19 -
drivers/media/pci/ivtv/ivtv-yuv.c | 17
drivers/media/pci/ivtv/ivtvfb.c | 4
drivers/mtd/ubi/io.c | 4
drivers/pcmcia/electra_cf.c | 45 --
drivers/scsi/sd_zbc.c | 3
drivers/staging/android/ion/ion_heap.c | 4
drivers/staging/media/ipu3/ipu3-css-pool.h | 4
drivers/staging/media/ipu3/ipu3-dmamap.c | 30 -
fs/block_dev.c | 7
fs/btrfs/disk-io.c | 4
fs/btrfs/extent_io.c | 64 ---
fs/btrfs/extent_io.h | 3
fs/btrfs/inode.c | 39 --
fs/buffer.c | 23 -
fs/erofs/data.c | 41 --
fs/erofs/decompressor.c | 2
fs/erofs/zdata.c | 31 -
fs/exfat/inode.c | 7
fs/ext2/inode.c | 10
fs/ext4/ext4.h | 5
fs/ext4/inode.c | 25 -
fs/ext4/readpage.c | 25 -
fs/ext4/verity.c | 35 -
fs/f2fs/data.c | 56 +-
fs/f2fs/f2fs.h | 14
fs/f2fs/verity.c | 35 -
fs/fat/inode.c | 7
fs/file_table.c | 1
fs/fs-writeback.c | 1
fs/fuse/file.c | 100 +----
fs/gfs2/aops.c | 23 -
fs/gfs2/dir.c | 9
fs/gfs2/quota.c | 2
fs/hpfs/file.c | 7
fs/iomap/buffered-io.c | 113 +----
fs/iomap/trace.h | 2
fs/isofs/inode.c | 7
fs/jfs/inode.c | 7
fs/mpage.c | 38 --
fs/nfs/blocklayout/extent_tree.c | 2
fs/nfs/internal.h | 10
fs/nfs/write.c | 4
fs/nfsd/vfs.c | 9
fs/nilfs2/inode.c | 15
fs/ntfs/aops.c | 2
fs/ntfs/malloc.h | 2
fs/ntfs/mft.c | 2
fs/ocfs2/aops.c | 34 -
fs/ocfs2/dlm/dlmmaster.c | 1
fs/ocfs2/ocfs2.h | 4
fs/ocfs2/slot_map.c | 46 +-
fs/ocfs2/super.c | 21 +
fs/omfs/file.c | 7
fs/open.c | 3
fs/orangefs/inode.c | 32 -
fs/proc/meminfo.c | 3
fs/proc/task_mmu.c | 16
fs/qnx6/inode.c | 7
fs/reiserfs/inode.c | 8
fs/squashfs/block.c | 273 +++++++-------
fs/squashfs/decompressor.h | 5
fs/squashfs/decompressor_multi.c | 9
fs/squashfs/decompressor_multi_percpu.c | 17
fs/squashfs/decompressor_single.c | 9
fs/squashfs/lz4_wrapper.c | 17
fs/squashfs/lzo_wrapper.c | 17
fs/squashfs/squashfs.h | 4
fs/squashfs/xz_wrapper.c | 51 +-
fs/squashfs/zlib_wrapper.c | 63 +--
fs/squashfs/zstd_wrapper.c | 62 +--
fs/sync.c | 6
fs/ubifs/debug.c | 2
fs/ubifs/lprops.c | 2
fs/ubifs/lpt_commit.c | 4
fs/ubifs/orphan.c | 2
fs/udf/inode.c | 7
fs/xfs/kmem.c | 2
fs/xfs/xfs_aops.c | 13
fs/xfs/xfs_buf.c | 2
fs/zonefs/super.c | 7
include/asm-generic/5level-fixup.h | 5
include/asm-generic/pgtable.h | 27 +
include/linux/buffer_head.h | 8
include/linux/fs.h | 18
include/linux/iomap.h | 3
include/linux/memcontrol.h | 4
include/linux/mm.h | 67 ++-
include/linux/mm_types.h | 6
include/linux/mmzone.h | 1
include/linux/mpage.h | 4
include/linux/page_counter.h | 8
include/linux/pagemap.h | 193 ++++++++++
include/linux/ptdump.h | 3
include/linux/sched.h | 3
include/linux/swap.h | 17
include/linux/vmalloc.h | 49 +-
include/linux/zsmalloc.h | 2
include/trace/events/erofs.h | 6
include/trace/events/f2fs.h | 6
include/trace/events/writeback.h | 5
kernel/bpf/core.c | 6
kernel/bpf/syscall.c | 29 -
kernel/dma/remap.c | 48 --
kernel/groups.c | 2
kernel/module.c | 3
kernel/notifier.c | 1
kernel/sys.c | 2
kernel/trace/trace.c | 12
lib/Kconfig.ubsan | 2
lib/ioremap.c | 46 +-
lib/test_vmalloc.c | 26 -
mm/Kconfig | 4
mm/debug.c | 56 ++
mm/fadvise.c | 6
mm/filemap.c | 1
mm/gup.c | 77 +++-
mm/internal.h | 14
mm/kasan/Makefile | 21 -
mm/kasan/common.c | 19 -
mm/kasan/report.c | 22 +
mm/memcontrol.c | 198 +++++++---
mm/memory-failure.c | 15
mm/memory.c | 2
mm/migrate.c | 9
mm/mm_init.c | 16
mm/nommu.c | 52 +-
mm/page-writeback.c | 62 ++-
mm/page_alloc.c | 7
mm/percpu.c | 2
mm/ptdump.c | 17
mm/readahead.c | 349 ++++++++++--------
mm/slab_common.c | 3
mm/slub.c | 67 ++-
mm/swap_state.c | 5
mm/swapfile.c | 194 ++++++----
mm/util.c | 2
mm/vmalloc.c | 399 ++++++++-------------
mm/vmscan.c | 4
mm/vmstat.c | 11
mm/zsmalloc.c | 12
net/bridge/netfilter/ebtables.c | 6
net/ceph/ceph_common.c | 3
sound/core/memalloc.c | 2
sound/core/pcm_memory.c | 2
195 files changed, 2292 insertions(+), 2288 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-06-02 4:44 Andrew Morton
2020-06-02 20:08 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-06-02 4:44 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
A few little subsystems and a start of a lot of MM patches.
128 patches, based on 9bf9511e3d9f328c03f6f79bfb741c3d18f2f2c0:
Subsystems affected by this patch series:
squashfs
ocfs2
parisc
vfs
mm/slab-generic
mm/slub
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/memory-failure
mm/vmalloc
mm/kasan
Subsystem: squashfs
Philippe Liard <pliard@google.com>:
squashfs: migrate from ll_rw_block usage to BIO
Subsystem: ocfs2
Jules Irenge <jbi.octave@gmail.com>:
ocfs2: add missing annotation for dlm_empty_lockres()
Gang He <ghe@suse.com>:
ocfs2: mount shared volume without ha stack
Subsystem: parisc
Andrew Morton <akpm@linux-foundation.org>:
arch/parisc/include/asm/pgtable.h: remove unused `old_pte'
Subsystem: vfs
Jeff Layton <jlayton@redhat.com>:
Patch series "vfs: have syncfs() return error when there are writeback:
vfs: track per-sb writeback errors and report them to syncfs
fs/buffer.c: record blockdev write errors in super_block that it backs
Subsystem: mm/slab-generic
Vlastimil Babka <vbabka@suse.cz>:
usercopy: mark dma-kmalloc caches as usercopy caches
Subsystem: mm/slub
Dongli Zhang <dongli.zhang@oracle.com>:
mm/slub.c: fix corrupted freechain in deactivate_slab()
Christoph Lameter <cl@linux.com>:
slub: Remove userspace notifier for cache add/remove
Christopher Lameter <cl@linux.com>:
slub: remove kmalloc under list_lock from list_slab_objects() V2
Qian Cai <cai@lca.pw>:
mm/slub: fix stack overruns with SLUB_STATS
Andrew Morton <akpm@linux-foundation.org>:
Documentation/vm/slub.rst: s/Toggle/Enable/
Subsystem: mm/debug
Vlastimil Babka <vbabka@suse.cz>:
mm, dump_page(): do not crash with invalid mapping pointer
Subsystem: mm/pagecache
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
Patch series "Change readahead API", v11:
mm: move readahead prototypes from mm.h
mm: return void from various readahead functions
mm: ignore return value of ->readpages
mm: move readahead nr_pages check into read_pages
mm: add new readahead_control API
mm: use readahead_control to pass arguments
mm: rename various 'offset' parameters to 'index'
mm: rename readahead loop variable to 'i'
mm: remove 'page_offset' from readahead loop
mm: put readahead pages in cache earlier
mm: add readahead address space operation
mm: move end_index check out of readahead loop
mm: add page_cache_readahead_unbounded
mm: document why we don't set PageReadahead
mm: use memalloc_nofs_save in readahead path
fs: convert mpage_readpages to mpage_readahead
btrfs: convert from readpages to readahead
erofs: convert uncompressed files from readpages to readahead
erofs: convert compressed files from readpages to readahead
ext4: convert from readpages to readahead
ext4: pass the inode to ext4_mpage_readpages
f2fs: convert from readpages to readahead
f2fs: pass the inode to f2fs_mpage_readpages
fuse: convert from readpages to readahead
iomap: convert from readpages to readahead
Guoqing Jiang <guoqing.jiang@cloud.ionos.com>:
Patch series "Introduce attach/detach_page_private to cleanup code":
include/linux/pagemap.h: introduce attach/detach_page_private
md: remove __clear_page_buffers and use attach/detach_page_private
btrfs: use attach/detach_page_private
fs/buffer.c: use attach/detach_page_private
f2fs: use attach/detach_page_private
iomap: use attach/detach_page_private
ntfs: replace attach_page_buffers with attach_page_private
orangefs: use attach/detach_page_private
buffer_head.h: remove attach_page_buffers
mm/migrate.c: call detach_page_private to cleanup code
mm_types.h: change set_page_private to inline function
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap.c: remove misleading comment
Chao Yu <yuchao0@huawei.com>:
mm/page-writeback.c: remove unused variable
NeilBrown <neilb@suse.de>:
mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLE
mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead
Subsystem: mm/gup
Souptick Joarder <jrdr.linux@gmail.com>:
mm/gup.c: update the documentation
John Hubbard <jhubbard@nvidia.com>:
mm/gup: introduce pin_user_pages_unlocked
ivtv: convert get_user_pages() --> pin_user_pages()
Miles Chen <miles.chen@mediatek.com>:
mm/gup.c: further document vma_permits_fault()
Subsystem: mm/swap
chenqiwu <chenqiwu@xiaomi.com>:
mm/swapfile: use list_{prev,next}_entry() instead of open-coding
Qian Cai <cai@lca.pw>:
mm/swap_state: fix a data race in swapin_nr_pages
Andrea Righi <andrea.righi@canonical.com>:
mm: swap: properly update readahead statistics in unuse_pte_range()
Wei Yang <richard.weiyang@gmail.com>:
mm/swapfile.c: offset is only used when there is more slots
mm/swapfile.c: explicitly show ssd/non-ssd is handled mutually exclusive
mm/swapfile.c: remove the unnecessary goto for SSD case
mm/swapfile.c: simplify the calculation of n_goal
mm/swapfile.c: remove the extra check in scan_swap_map_slots()
mm/swapfile.c: found_free could be represented by (tmp < max)
mm/swapfile.c: tmp is always smaller than max
mm/swapfile.c: omit a duplicate code by compare tmp and max first
Huang Ying <ying.huang@intel.com>:
swap: try to scan more free slots even when fragmented
Wei Yang <richard.weiyang@gmail.com>:
mm/swapfile.c: classify SWAP_MAP_XXX to make it more readable
mm/swapfile.c: __swap_entry_free() always free 1 entry
Huang Ying <ying.huang@intel.com>:
mm/swapfile.c: use prandom_u32_max()
swap: reduce lock contention on swap cache from swap slots allocation
Randy Dunlap <rdunlap@infradead.org>:
mm: swapfile: fix /proc/swaps heading and Size/Used/Priority alignment
Miaohe Lin <linmiaohe@huawei.com>:
include/linux/swap.h: delete meaningless __add_to_swap_cache() declaration
Subsystem: mm/memcg
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: add workingset_restore in memory.stat
Kaixu Xia <kaixuxia@tencent.com>:
mm: memcontrol: simplify value comparison between count and limit
Shakeel Butt <shakeelb@google.com>:
memcg: expose root cgroup's memory.stat
Jakub Kicinski <kuba@kernel.org>:
Patch series "memcg: Slow down swap allocation as the available space gets:
mm/memcg: prepare for swap over-high accounting and penalty calculation
mm/memcg: move penalty delay clamping out of calculate_high_delay()
mm/memcg: move cgroup high memory limit setting into struct page_counter
mm/memcg: automatically penalize tasks with high swap use
Zefan Li <lizefan@huawei.com>:
memcg: fix memcg_kmem_bypass() for remote memcg charging
Subsystem: mm/pagemap
Steven Price <steven.price@arm.com>:
Patch series "Fix W+X debug feature on x86":
x86: mm: ptdump: calculate effective permissions correctly
mm: ptdump: expand type of 'val' in note_page()
Huang Ying <ying.huang@intel.com>:
/proc/PID/smaps: Add PMD migration entry parsing
chenqiwu <chenqiwu@xiaomi.com>:
mm/memory: remove unnecessary pte_devmap case in copy_one_pte()
Subsystem: mm/memory-failure
Wetp Zhang <wetp.zy@linux.alibaba.com>:
mm, memory_failure: don't send BUS_MCEERR_AO for action required error
Subsystem: mm/vmalloc
Christoph Hellwig <hch@lst.de>:
Patch series "decruft the vmalloc API", v2:
x86/hyperv: use vmalloc_exec for the hypercall page
x86: fix vmap arguments in map_irq_stack
staging: android: ion: use vmap instead of vm_map_ram
staging: media: ipu3: use vmap instead of reimplementing it
dma-mapping: use vmap insted of reimplementing it
powerpc: add an ioremap_phb helper
powerpc: remove __ioremap_at and __iounmap_at
mm: remove __get_vm_area
mm: unexport unmap_kernel_range_noflush
mm: rename CONFIG_PGTABLE_MAPPING to CONFIG_ZSMALLOC_PGTABLE_MAPPING
mm: only allow page table mappings for built-in zsmalloc
mm: pass addr as unsigned long to vb_free
mm: remove vmap_page_range_noflush and vunmap_page_range
mm: rename vmap_page_range to map_kernel_range
mm: don't return the number of pages from map_kernel_range{,_noflush}
mm: remove map_vm_range
mm: remove unmap_vmap_area
mm: remove the prot argument from vm_map_ram
mm: enforce that vmap can't map pages executable
gpu/drm: remove the powerpc hack in drm_legacy_sg_alloc
mm: remove the pgprot argument to __vmalloc
mm: remove the prot argument to __vmalloc_node
mm: remove both instances of __vmalloc_node_flags
mm: remove __vmalloc_node_flags_caller
mm: switch the test_vmalloc module to use __vmalloc_node
mm: remove vmalloc_user_node_flags
arm64: use __vmalloc_node in arch_alloc_vmap_stack
powerpc: use __vmalloc_node in alloc_vm_stack
s390: use __vmalloc_node in stack_alloc
Joerg Roedel <jroedel@suse.de>:
Patch series "mm: Get rid of vmalloc_sync_(un)mappings()", v3:
mm: add functions to track page directory modifications
mm/vmalloc: track which page-table levels were modified
mm/ioremap: track which page-table levels were modified
x86/mm/64: implement arch_sync_kernel_mappings()
x86/mm/32: implement arch_sync_kernel_mappings()
mm: remove vmalloc_sync_(un)mappings()
x86/mm: remove vmalloc faulting
Subsystem: mm/kasan
Andrey Konovalov <andreyknvl@google.com>:
kasan: fix clang compilation warning due to stack protector
Kees Cook <keescook@chromium.org>:
ubsan: entirely disable alignment checks under UBSAN_TRAP
Jing Xia <jing.xia@unisoc.com>:
mm/mm_init.c: report kasan-tag information stored in page->flags
Andrey Konovalov <andreyknvl@google.com>:
kasan: move kasan_report() into report.c
Documentation/admin-guide/cgroup-v2.rst | 24 +
Documentation/core-api/cachetlb.rst | 2
Documentation/filesystems/locking.rst | 6
Documentation/filesystems/proc.rst | 4
Documentation/filesystems/vfs.rst | 15
Documentation/vm/slub.rst | 2
arch/arm/configs/omap2plus_defconfig | 2
arch/arm64/include/asm/pgtable.h | 3
arch/arm64/include/asm/vmap_stack.h | 6
arch/arm64/mm/dump.c | 2
arch/parisc/include/asm/pgtable.h | 2
arch/powerpc/include/asm/io.h | 10
arch/powerpc/include/asm/pci-bridge.h | 2
arch/powerpc/kernel/irq.c | 5
arch/powerpc/kernel/isa-bridge.c | 28 +
arch/powerpc/kernel/pci_64.c | 56 +-
arch/powerpc/mm/ioremap_64.c | 50 --
arch/riscv/include/asm/pgtable.h | 4
arch/riscv/mm/ptdump.c | 2
arch/s390/kernel/setup.c | 9
arch/sh/kernel/cpu/sh4/sq.c | 3
arch/x86/hyperv/hv_init.c | 5
arch/x86/include/asm/kvm_host.h | 3
arch/x86/include/asm/pgtable-2level_types.h | 2
arch/x86/include/asm/pgtable-3level_types.h | 2
arch/x86/include/asm/pgtable_64_types.h | 2
arch/x86/include/asm/pgtable_types.h | 8
arch/x86/include/asm/switch_to.h | 23 -
arch/x86/kernel/irq_64.c | 2
arch/x86/kernel/setup_percpu.c | 6
arch/x86/kvm/svm/sev.c | 3
arch/x86/mm/dump_pagetables.c | 35 +
arch/x86/mm/fault.c | 196 ----------
arch/x86/mm/init_64.c | 5
arch/x86/mm/pti.c | 8
arch/x86/mm/tlb.c | 37 -
block/blk-core.c | 1
drivers/acpi/apei/ghes.c | 6
drivers/base/node.c | 2
drivers/block/drbd/drbd_bitmap.c | 4
drivers/block/loop.c | 2
drivers/dax/device.c | 1
drivers/gpu/drm/drm_scatter.c | 11
drivers/gpu/drm/etnaviv/etnaviv_dump.c | 4
drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c | 2
drivers/lightnvm/pblk-init.c | 5
drivers/md/dm-bufio.c | 4
drivers/md/md-bitmap.c | 12
drivers/media/common/videobuf2/videobuf2-dma-sg.c | 3
drivers/media/common/videobuf2/videobuf2-vmalloc.c | 3
drivers/media/pci/ivtv/ivtv-udma.c | 19 -
drivers/media/pci/ivtv/ivtv-yuv.c | 17
drivers/media/pci/ivtv/ivtvfb.c | 4
drivers/mtd/ubi/io.c | 4
drivers/pcmcia/electra_cf.c | 45 --
drivers/scsi/sd_zbc.c | 3
drivers/staging/android/ion/ion_heap.c | 4
drivers/staging/media/ipu3/ipu3-css-pool.h | 4
drivers/staging/media/ipu3/ipu3-dmamap.c | 30 -
fs/block_dev.c | 7
fs/btrfs/disk-io.c | 4
fs/btrfs/extent_io.c | 64 ---
fs/btrfs/extent_io.h | 3
fs/btrfs/inode.c | 39 --
fs/buffer.c | 23 -
fs/erofs/data.c | 41 --
fs/erofs/decompressor.c | 2
fs/erofs/zdata.c | 31 -
fs/exfat/inode.c | 7
fs/ext2/inode.c | 10
fs/ext4/ext4.h | 5
fs/ext4/inode.c | 25 -
fs/ext4/readpage.c | 25 -
fs/ext4/verity.c | 35 -
fs/f2fs/data.c | 56 +-
fs/f2fs/f2fs.h | 14
fs/f2fs/verity.c | 35 -
fs/fat/inode.c | 7
fs/file_table.c | 1
fs/fs-writeback.c | 1
fs/fuse/file.c | 100 +----
fs/gfs2/aops.c | 23 -
fs/gfs2/dir.c | 9
fs/gfs2/quota.c | 2
fs/hpfs/file.c | 7
fs/iomap/buffered-io.c | 113 +----
fs/iomap/trace.h | 2
fs/isofs/inode.c | 7
fs/jfs/inode.c | 7
fs/mpage.c | 38 --
fs/nfs/blocklayout/extent_tree.c | 2
fs/nfs/internal.h | 10
fs/nfs/write.c | 4
fs/nfsd/vfs.c | 9
fs/nilfs2/inode.c | 15
fs/ntfs/aops.c | 2
fs/ntfs/malloc.h | 2
fs/ntfs/mft.c | 2
fs/ocfs2/aops.c | 34 -
fs/ocfs2/dlm/dlmmaster.c | 1
fs/ocfs2/ocfs2.h | 4
fs/ocfs2/slot_map.c | 46 +-
fs/ocfs2/super.c | 21 +
fs/omfs/file.c | 7
fs/open.c | 3
fs/orangefs/inode.c | 32 -
fs/proc/meminfo.c | 3
fs/proc/task_mmu.c | 16
fs/qnx6/inode.c | 7
fs/reiserfs/inode.c | 8
fs/squashfs/block.c | 273 +++++++-------
fs/squashfs/decompressor.h | 5
fs/squashfs/decompressor_multi.c | 9
fs/squashfs/decompressor_multi_percpu.c | 17
fs/squashfs/decompressor_single.c | 9
fs/squashfs/lz4_wrapper.c | 17
fs/squashfs/lzo_wrapper.c | 17
fs/squashfs/squashfs.h | 4
fs/squashfs/xz_wrapper.c | 51 +-
fs/squashfs/zlib_wrapper.c | 63 +--
fs/squashfs/zstd_wrapper.c | 62 +--
fs/sync.c | 6
fs/ubifs/debug.c | 2
fs/ubifs/lprops.c | 2
fs/ubifs/lpt_commit.c | 4
fs/ubifs/orphan.c | 2
fs/udf/inode.c | 7
fs/xfs/kmem.c | 2
fs/xfs/xfs_aops.c | 13
fs/xfs/xfs_buf.c | 2
fs/zonefs/super.c | 7
include/asm-generic/5level-fixup.h | 5
include/asm-generic/pgtable.h | 27 +
include/linux/buffer_head.h | 8
include/linux/fs.h | 18
include/linux/iomap.h | 3
include/linux/memcontrol.h | 4
include/linux/mm.h | 67 ++-
include/linux/mm_types.h | 6
include/linux/mmzone.h | 1
include/linux/mpage.h | 4
include/linux/page_counter.h | 8
include/linux/pagemap.h | 193 ++++++++++
include/linux/ptdump.h | 3
include/linux/sched.h | 3
include/linux/swap.h | 17
include/linux/vmalloc.h | 49 +-
include/linux/zsmalloc.h | 2
include/trace/events/erofs.h | 6
include/trace/events/f2fs.h | 6
include/trace/events/writeback.h | 5
kernel/bpf/core.c | 6
kernel/bpf/syscall.c | 29 -
kernel/dma/remap.c | 48 --
kernel/groups.c | 2
kernel/module.c | 3
kernel/notifier.c | 1
kernel/sys.c | 2
kernel/trace/trace.c | 12
lib/Kconfig.ubsan | 2
lib/ioremap.c | 46 +-
lib/test_vmalloc.c | 26 -
mm/Kconfig | 4
mm/debug.c | 56 ++
mm/fadvise.c | 6
mm/filemap.c | 1
mm/gup.c | 77 +++-
mm/internal.h | 14
mm/kasan/Makefile | 21 -
mm/kasan/common.c | 19 -
mm/kasan/report.c | 22 +
mm/memcontrol.c | 198 +++++++---
mm/memory-failure.c | 15
mm/memory.c | 2
mm/migrate.c | 9
mm/mm_init.c | 16
mm/nommu.c | 52 +-
mm/page-writeback.c | 62 ++-
mm/page_alloc.c | 7
mm/percpu.c | 2
mm/ptdump.c | 17
mm/readahead.c | 349 ++++++++++--------
mm/slab_common.c | 3
mm/slub.c | 67 ++-
mm/swap_state.c | 5
mm/swapfile.c | 194 ++++++----
mm/util.c | 2
mm/vmalloc.c | 399 ++++++++-------------
mm/vmscan.c | 4
mm/vmstat.c | 11
mm/zsmalloc.c | 12
net/bridge/netfilter/ebtables.c | 6
net/ceph/ceph_common.c | 3
sound/core/memalloc.c | 2
sound/core/pcm_memory.c | 2
195 files changed, 2292 insertions(+), 2288 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-02 4:44 incoming Andrew Morton
@ 2020-06-02 20:08 ` Andrew Morton
2020-06-02 20:45 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-06-02 20:08 UTC (permalink / raw)
To: Linus Torvalds, mm-commits, linux-mm
The local_lock merge made rather a mess of all of this. I'm
cooking up a full resend of the same material.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-02 20:08 ` incoming Andrew Morton
@ 2020-06-02 20:45 ` Linus Torvalds
2020-06-02 21:38 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-06-02 20:45 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Tue, Jun 2, 2020 at 1:08 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> The local_lock merge made rather a mess of all of this. I'm
> cooking up a full resend of the same material.
Hmm. I have no issues with conflicts, and already took your previous series.
I've pushed it out now - does my tree match what you expect?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-02 20:45 ` incoming Linus Torvalds
@ 2020-06-02 21:38 ` Andrew Morton
2020-06-02 22:18 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-06-02 21:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, Linux-MM
On Tue, 2 Jun 2020 13:45:49 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, Jun 2, 2020 at 1:08 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > The local_lock merge made rather a mess of all of this. I'm
> > cooking up a full resend of the same material.
>
> Hmm. I have no issues with conflicts, and already took your previous series.
Well that's odd.
> I've pushed it out now - does my tree match what you expect?
Yup, thanks.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-06-02 21:38 ` incoming Andrew Morton
@ 2020-06-02 22:18 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-06-02 22:18 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Tue, Jun 2, 2020 at 2:38 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> On Tue, 2 Jun 2020 13:45:49 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> > Hmm. I have no issues with conflicts, and already took your previous series.
>
> Well that's odd.
I meant "I saw the conflicts and had no issue with them". Nothing odd.
And I actually much prefer seeing conflicts from your series (against
other pulls I've done) over having you delay your patch bombs because
of any fear for them.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-05-28 5:20 Andrew Morton
2020-05-28 20:10 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-05-28 5:20 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
5 fixes, based on 444fc5cde64330661bf59944c43844e7d4c2ccd8:
Qian Cai <cai@lca.pw>:
mm/z3fold: silence kmemleak false positives of slots
Hugh Dickins <hughd@google.com>:
mm,thp: stop leaking unreleased file pages
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
Alexander Potapenko <glider@google.com>:
fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
Arnd Bergmann <arnd@arndb.de>:
include/asm-generic/topology.h: guard cpumask_of_node() macro argument
fs/binfmt_elf.c | 2 +-
include/asm-generic/topology.h | 2 +-
include/linux/mm.h | 19 +++++++++++++++----
mm/khugepaged.c | 1 +
mm/z3fold.c | 3 +++
5 files changed, 21 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-05-28 5:20 incoming Andrew Morton
@ 2020-05-28 20:10 ` Linus Torvalds
2020-05-29 20:31 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-05-28 20:10 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
Hmm..
On Wed, May 27, 2020 at 10:20 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> fs/binfmt_elf.c | 2 +-
> include/asm-generic/topology.h | 2 +-
> include/linux/mm.h | 19 +++++++++++++++----
> mm/khugepaged.c | 1 +
> mm/z3fold.c | 3 +++
> 5 files changed, 21 insertions(+), 6 deletions(-)
I wonder how you generate that diffstat.
The change to <linux/mm.h> simply doesn't match what you sent me. The
patch you sent me that changed mm.h had this:
include/linux/mm.h | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
(note 15 lines changed: it's +13 and -2) but now suddenly in your
overall diffstat you have that
include/linux/mm.h | 19 +++++++++++++++----
with +15/-4.
So your diffstat simply doesn't match what you are sending. What's going on?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-05-28 20:10 ` incoming Linus Torvalds
@ 2020-05-29 20:31 ` Andrew Morton
2020-05-29 20:38 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-05-29 20:31 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, Linux-MM
On Thu, 28 May 2020 13:10:18 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> Hmm..
>
> On Wed, May 27, 2020 at 10:20 PM Andrew Morton
> <akpm@linux-foundation.org> wrote:
> >
> > fs/binfmt_elf.c | 2 +-
> > include/asm-generic/topology.h | 2 +-
> > include/linux/mm.h | 19 +++++++++++++++----
> > mm/khugepaged.c | 1 +
> > mm/z3fold.c | 3 +++
> > 5 files changed, 21 insertions(+), 6 deletions(-)
>
> I wonder how you generate that diffstat.
>
> The change to <linux/mm.h> simply doesn't match what you sent me. The
> patch you sent me that changed mm.h had this:
>
> include/linux/mm.h | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> (note 15 lines changed: it's +13 and -2) but now suddenly in your
> overall diffstat you have that
>
> include/linux/mm.h | 19 +++++++++++++++----
>
> with +15/-4.
>
> So your diffstat simply doesn't match what you are sending. What's going on?
>
Bah. I got lazy (didn't want to interrupt an ongoing build) so I
generated the diffstat prior to folding two patches into a single one.
Evidently diffstat isn't as smart as I had assumed!
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-05-29 20:31 ` incoming Andrew Morton
@ 2020-05-29 20:38 ` Linus Torvalds
2020-05-29 21:12 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-05-29 20:38 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Fri, May 29, 2020 at 1:31 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Bah. I got lazy (didn't want to interrupt an ongoing build) so I
> generated the diffstat prior to folding two patches into a single one.
> Evidently diffstat isn't as smart as I had assumed!
Ahh. Yes - given two patches, diffstat just adds up the line number
counts for the individual diffs, it doesn't count some kind of
"combined diff result" line counts.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-05-29 20:38 ` incoming Linus Torvalds
@ 2020-05-29 21:12 ` Andrew Morton
2020-05-29 21:20 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-05-29 21:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, Linux-MM
On Fri, 29 May 2020 13:38:35 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Fri, May 29, 2020 at 1:31 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > Bah. I got lazy (didn't want to interrupt an ongoing build) so I
> > generated the diffstat prior to folding two patches into a single one.
> > Evidently diffstat isn't as smart as I had assumed!
>
> Ahh. Yes - given two patches, diffstat just adds up the line number
> counts for the individual diffs, it doesn't count some kind of
> "combined diff result" line counts.
Stupid diffstat. Means that basically all my diffstats are very wrong.
Thanks for spotting it.
I can fix that...
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-05-29 21:12 ` incoming Andrew Morton
@ 2020-05-29 21:20 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-05-29 21:20 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Fri, May 29, 2020 at 2:12 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Stupid diffstat. Means that basically all my diffstats are very wrong.
I'm actually used to diffstats not matching 100%/
Usually it's not due to this issue - a "git diff --stat" *will* give
the stat from the actual combined diff result - but with git diffstats
the issue is that I might have gotten a patch from another source.
So the diffstat I see after-the-merge is possibly different from the
pre-merge diffstat simply due to merge issues.
So then I usually take a look at "ok, why did that diffstat differ"
and go "Ahh".
In your case, when I looked at the diffstat, I couldn't for the life
of me see how you would have gotten the diffstat you did, since I only
saw a single patch with no merge issues.
> Thanks for spotting it.
>
> I can fix that...
I can also just live with it, knowing what your workflow is. The
diffstat matching exactly just isn't that important - in fact,
different versions of "diff" can give slightly different output anyway
depending on diff algorithms even when they are looking at the exact
same before/after state. There's not necessarily always only one way
to generate a valid diff.
So to me, the diffstat is more of a guide than a hard thing, and I
want to see the rough outline,
In fact, one reason I want to see it in pull requests is actually just
that I want to get a feel for what changes even before I do the pull
or merge, so it's not just a "match against what I get" thing.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-05-23 5:22 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-05-23 5:22 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
11 fixes, based on 444565650a5fe9c63ddf153e6198e31705dedeb2:
David Hildenbrand <david@redhat.com>:
device-dax: don't leak kernel memory to user space after unloading kmem
Nick Desaulniers <ndesaulniers@google.com>:
x86: bitops: fix build regression
John Hubbard <jhubbard@nvidia.com>:
rapidio: fix an error in get_user_pages_fast() error handling
selftests/vm/.gitignore: add mremap_dontunmap
selftests/vm/write_to_hugetlbfs.c: fix unused variable warning
Marco Elver <elver@google.com>:
kasan: disable branch tracing for core runtime
Arnd Bergmann <arnd@arndb.de>:
sh: include linux/time_types.h for sockios
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>:
MAINTAINERS: update email address for Naoya Horiguchi
Mike Rapoport <rppt@linux.ibm.com>:
sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()
Uladzislau Rezki <uladzislau.rezki@sony.com>:
z3fold: fix use-after-free when freeing handles
Baoquan He <bhe@redhat.com>:
MAINTAINERS: add files related to kdump
MAINTAINERS | 7 ++++++-
arch/sh/include/uapi/asm/sockios.h | 2 ++
arch/sparc/mm/srmmu.c | 2 +-
arch/x86/include/asm/bitops.h | 12 ++++++------
drivers/dax/kmem.c | 14 +++++++++++---
drivers/rapidio/devices/rio_mport_cdev.c | 5 +++++
mm/kasan/Makefile | 16 ++++++++--------
mm/kasan/generic.c | 1 -
mm/kasan/tags.c | 1 -
mm/z3fold.c | 11 ++++++-----
tools/testing/selftests/vm/.gitignore | 1 +
tools/testing/selftests/vm/write_to_hugetlbfs.c | 2 --
12 files changed, 46 insertions(+), 28 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-05-14 0:50 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-05-14 0:50 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
7 fixes, based on 24085f70a6e1b0cb647ec92623284641d8270637:
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: fix inconsistent oom event behavior
Roman Penyaev <rpenyaev@suse.de>:
epoll: call final ep_events_available() check under the lock
Peter Xu <peterx@redhat.com>:
mm/gup: fix fixup_user_fault() on multiple retries
Brian Geffon <bgeffon@google.com>:
userfaultfd: fix remap event with MREMAP_DONTUNMAP
Vasily Averin <vvs@virtuozzo.com>:
ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
Andrey Konovalov <andreyknvl@google.com>:
kasan: consistently disable debugging features
kasan: add missing functions declarations to kasan.h
fs/eventpoll.c | 48 ++++++++++++++++++++++++++-------------------
include/linux/memcontrol.h | 2 +
ipc/util.c | 12 +++++------
mm/gup.c | 12 ++++++-----
mm/kasan/Makefile | 15 +++++++++-----
mm/kasan/kasan.h | 34 ++++++++++++++++++++++++++++++-
mm/mremap.c | 2 -
7 files changed, 86 insertions(+), 39 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-05-08 1:35 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-05-08 1:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
14 fixes and one selftest to verify the ipc fixes herein.
15 patches, based on a811c1fa0a02c062555b54651065899437bacdbe:
Oleg Nesterov <oleg@redhat.com>:
ipc/mqueue.c: change __do_notify() to bypass check_kill_permission()
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: fix error return value of mem_cgroup_css_alloc()
David Hildenbrand <david@redhat.com>:
mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
Maciej Grochowski <maciej.grochowski@pm.me>:
kernel/kcov.c: fix typos in kcov_remote_start documentation
Ivan Delalande <colona@arista.com>:
scripts/decodecode: fix trapping instruction formatting
Janakarajan Natarajan <Janakarajan.Natarajan@amd.com>:
arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory()
Khazhismel Kumykov <khazhy@google.com>:
eventpoll: fix missing wakeup for ovflist in ep_poll_callback
Aymeric Agon-Rambosson <aymeric.agon@yandex.com>:
scripts/gdb: repair rb_first() and rb_last()
Waiman Long <longman@redhat.com>:
mm/slub: fix incorrect interpretation of s->offset
Filipe Manana <fdmanana@suse.com>:
percpu: make pcpu_alloc() aware of current gfp context
Roman Penyaev <rpenyaev@suse.de>:
kselftests: introduce new epoll60 testcase for catching lost wakeups
epoll: atomically remove wait entry on wake up
Qiwu Chen <qiwuchen55@gmail.com>:
mm/vmscan: remove unnecessary argument description of isolate_lru_pages()
Kees Cook <keescook@chromium.org>:
ubsan: disable UBSAN_ALIGNMENT under COMPILE_TEST
Henry Willard <henry.willard@oracle.com>:
mm: limit boost_watermark on small zones
arch/x86/kvm/svm/sev.c | 2
fs/eventpoll.c | 61 ++--
ipc/mqueue.c | 34 +-
kernel/kcov.c | 4
lib/Kconfig.ubsan | 15 -
mm/memcontrol.c | 15 -
mm/page_alloc.c | 9
mm/percpu.c | 14
mm/slub.c | 45 ++-
mm/vmscan.c | 1
scripts/decodecode | 2
scripts/gdb/linux/rbtree.py | 4
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 146 ++++++++++
tools/testing/selftests/wireguard/qemu/debug.config | 1
14 files changed, 275 insertions(+), 78 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-04-21 1:13 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-04-21 1:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
15 fixes, based on ae83d0b416db002fe95601e7f97f64b59514d936:
Masahiro Yamada <masahiroy@kernel.org>:
sh: fix build error in mm/init.c
Kees Cook <keescook@chromium.org>:
slub: avoid redzone when choosing freepointer location
Peter Xu <peterx@redhat.com>:
mm/userfaultfd: disable userfaultfd-wp on x86_32
Bartosz Golaszewski <bgolaszewski@baylibre.com>:
MAINTAINERS: add an entry for kfifo
Longpeng <longpeng2@huawei.com>:
mm/hugetlb: fix a addressing exception caused by huge_pte_offset
Michal Hocko <mhocko@suse.com>:
mm, gup: return EINTR when gup is interrupted by fatal signals
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
checkpatch: fix a typo in the regex for $allocFunctions
George Burgess IV <gbiv@google.com>:
tools/build: tweak unused value workaround
Muchun Song <songmuchun@bytedance.com>:
mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
Hugh Dickins <hughd@google.com>:
mm/shmem: fix build without THP
Jann Horn <jannh@google.com>:
vmalloc: fix remap_vmalloc_range() bounds checks
Hugh Dickins <hughd@google.com>:
shmem: fix possible deadlocks on shmlock_user_lock
Yang Shi <yang.shi@linux.alibaba.com>:
mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
Sudip Mukherjee <sudipm.mukherjee@gmail.com>:
coredump: fix null pointer dereference on coredump
Lucas Stach <l.stach@pengutronix.de>:
tools/vm: fix cross-compile build
MAINTAINERS | 7 +++++++
arch/sh/mm/init.c | 2 +-
arch/x86/Kconfig | 2 +-
fs/coredump.c | 2 ++
fs/proc/vmcore.c | 5 +++--
include/linux/vmalloc.h | 2 +-
mm/gup.c | 2 +-
mm/hugetlb.c | 14 ++++++++------
mm/ksm.c | 12 ++++++++++--
mm/shmem.c | 13 ++++++++-----
mm/slub.c | 12 ++++++++++--
mm/vmalloc.c | 16 +++++++++++++---
samples/vfio-mdev/mdpy.c | 2 +-
scripts/checkpatch.pl | 2 +-
tools/build/feature/test-sync-compare-and-swap.c | 2 +-
tools/vm/Makefile | 2 ++
16 files changed, 70 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-04-12 7:41 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-04-12 7:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
A straggler. This patch caused a lot of build errors on a lot of
architectures for a long time, but Anshuman believes it's all fixed up
now.
1 patch, based on GIT b032227c62939b5481bcd45442b36dfa263f4a7c.
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/debug: add tests validating architecture page table helpers
Documentation/features/debug/debug-vm-pgtable/arch-support.txt | 34
arch/arc/Kconfig | 1
arch/arm64/Kconfig | 1
arch/powerpc/Kconfig | 1
arch/s390/Kconfig | 1
arch/x86/Kconfig | 1
arch/x86/include/asm/pgtable_64.h | 6
include/linux/mmdebug.h | 5
init/main.c | 2
lib/Kconfig.debug | 26
mm/Makefile | 1
mm/debug_vm_pgtable.c | 392 ++++++++++
12 files changed, 471 insertions(+)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-04-10 21:30 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-04-10 21:30 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
Almost all of the rest of MM. Various other things.
35 patches, based on c0cc271173b2e1c2d8d0ceaef14e4dfa79eefc0d.
Subsystems affected by this patch series:
hfs
mm/memcg
mm/slab-generic
mm/slab
mm/pagealloc
mm/gup
ocfs2
mm/hugetlb
mm/pagemap
mm/memremap
kmod
misc
seqfile
Subsystem: hfs
Simon Gander <simon@tuxera.com>:
hfsplus: fix crash and filesystem corruption when deleting files
Subsystem: mm/memcg
Jakub Kicinski <kuba@kernel.org>:
mm, memcg: do not high throttle allocators based on wraparound
Subsystem: mm/slab-generic
Qiujun Huang <hqjagain@gmail.com>:
mm, slab_common: fix a typo in comment "eariler"->"earlier"
Subsystem: mm/slab
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>:
docs: mm: slab.h: fix a broken cross-reference
Subsystem: mm/pagealloc
Randy Dunlap <rdunlap@infradead.org>:
mm/page_alloc.c: fix kernel-doc warning
Jason Yan <yanaijie@huawei.com>:
mm/page_alloc: make pcpu_drain_mutex and pcpu_drain static
Subsystem: mm/gup
Miles Chen <miles.chen@mediatek.com>:
mm/gup: fix null pointer dereference detected by coverity
Subsystem: ocfs2
Changwei Ge <chge@linux.alibaba.com>:
ocfs2: no need try to truncate file beyond i_size
Subsystem: mm/hugetlb
Aslan Bakirov <aslan@fb.com>:
mm: cma: NUMA node interface
Roman Gushchin <guro@fb.com>:
mm: hugetlb: optionally allocate gigantic hugepages using cma
Subsystem: mm/pagemap
Jaewon Kim <jaewon31.kim@samsung.com>:
mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area
Arjun Roy <arjunroy@google.com>:
mm/memory.c: refactor insert_page to prepare for batched-lock insert
mm: bring sparc pte_index() semantics inline with other platforms
mm: define pte_index as macro for x86
mm/memory.c: add vm_insert_pages()
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS
mm/vma: introduce VM_ACCESS_FLAGS
mm/special: create generic fallbacks for pte_special() and pte_mkspecial()
Subsystem: mm/memremap
Logan Gunthorpe <logang@deltatee.com>:
Patch series "Allow setting caching mode in arch_add_memory() for P2PDMA", v4:
mm/memory_hotplug: drop the flags field from struct mhp_restrictions
mm/memory_hotplug: rename mhp_restrictions to mhp_params
x86/mm: thread pgprot_t through init_memory_mapping()
x86/mm: introduce __set_memory_prot()
powerpc/mm: thread pgprot_t through create_section_mapping()
mm/memory_hotplug: add pgprot_t to mhp_params
mm/memremap: set caching mode for PCI P2PDMA memory to WC
Subsystem: kmod
Eric Biggers <ebiggers@google.com>:
Patch series "module autoloading fixes and cleanups", v5:
kmod: make request_module() return an error when autoloading is disabled
fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once()
docs: admin-guide: document the kernel.modprobe sysctl
selftests: kmod: fix handling test numbers above 9
selftests: kmod: test disabling module autoloading
Subsystem: misc
Pali Rohár <pali@kernel.org>:
change email address for Pali Rohár
kbuild test robot <lkp@intel.com>:
drivers/dma/tegra20-apb-dma.c: fix platform_get_irq.cocci warnings
Subsystem: seqfile
Vasily Averin <vvs@virtuozzo.com>:
Patch series "seq_file .next functions should increase position index":
fs/seq_file.c: seq_read(): add info message about buggy .next functions
kernel/gcov/fs.c: gcov_seq_next() should increase position index
ipc/util.c: sysvipc_find_ipc() should increase position index
Documentation/ABI/testing/sysfs-platform-dell-laptop | 8
Documentation/admin-guide/kernel-parameters.txt | 8
Documentation/admin-guide/sysctl/kernel.rst | 21 ++
MAINTAINERS | 16 -
arch/alpha/include/asm/page.h | 3
arch/alpha/include/asm/pgtable.h | 2
arch/arc/include/asm/page.h | 2
arch/arm/include/asm/page.h | 4
arch/arm/include/asm/pgtable-2level.h | 2
arch/arm/include/asm/pgtable.h | 15 -
arch/arm/mach-omap2/omap-secure.c | 2
arch/arm/mach-omap2/omap-secure.h | 2
arch/arm/mach-omap2/omap-smc.S | 2
arch/arm/mm/fault.c | 2
arch/arm/mm/mmu.c | 14 +
arch/arm64/include/asm/page.h | 4
arch/arm64/mm/fault.c | 2
arch/arm64/mm/init.c | 6
arch/arm64/mm/mmu.c | 7
arch/c6x/include/asm/page.h | 5
arch/csky/include/asm/page.h | 3
arch/csky/include/asm/pgtable.h | 3
arch/h8300/include/asm/page.h | 2
arch/hexagon/include/asm/page.h | 3
arch/hexagon/include/asm/pgtable.h | 2
arch/ia64/include/asm/page.h | 5
arch/ia64/include/asm/pgtable.h | 2
arch/ia64/mm/init.c | 7
arch/m68k/include/asm/mcf_pgtable.h | 10 -
arch/m68k/include/asm/motorola_pgtable.h | 2
arch/m68k/include/asm/page.h | 3
arch/m68k/include/asm/sun3_pgtable.h | 2
arch/microblaze/include/asm/page.h | 2
arch/microblaze/include/asm/pgtable.h | 4
arch/mips/include/asm/page.h | 5
arch/mips/include/asm/pgtable.h | 44 +++-
arch/nds32/include/asm/page.h | 3
arch/nds32/include/asm/pgtable.h | 9 -
arch/nds32/mm/fault.c | 2
arch/nios2/include/asm/page.h | 3
arch/nios2/include/asm/pgtable.h | 3
arch/openrisc/include/asm/page.h | 5
arch/openrisc/include/asm/pgtable.h | 2
arch/parisc/include/asm/page.h | 3
arch/parisc/include/asm/pgtable.h | 2
arch/powerpc/include/asm/book3s/64/hash.h | 3
arch/powerpc/include/asm/book3s/64/radix.h | 3
arch/powerpc/include/asm/page.h | 9 -
arch/powerpc/include/asm/page_64.h | 7
arch/powerpc/include/asm/sparsemem.h | 3
arch/powerpc/mm/book3s64/hash_utils.c | 5
arch/powerpc/mm/book3s64/pgtable.c | 7
arch/powerpc/mm/book3s64/pkeys.c | 2
arch/powerpc/mm/book3s64/radix_pgtable.c | 18 +-
arch/powerpc/mm/mem.c | 12 -
arch/riscv/include/asm/page.h | 3
arch/s390/include/asm/page.h | 3
arch/s390/mm/fault.c | 2
arch/s390/mm/init.c | 9 -
arch/sh/include/asm/page.h | 3
arch/sh/mm/init.c | 7
arch/sparc/include/asm/page_32.h | 3
arch/sparc/include/asm/page_64.h | 3
arch/sparc/include/asm/pgtable_32.h | 7
arch/sparc/include/asm/pgtable_64.h | 10 -
arch/um/include/asm/pgtable.h | 10 -
arch/unicore32/include/asm/page.h | 3
arch/unicore32/include/asm/pgtable.h | 3
arch/unicore32/mm/fault.c | 2
arch/x86/include/asm/page_types.h | 7
arch/x86/include/asm/pgtable.h | 6
arch/x86/include/asm/set_memory.h | 1
arch/x86/kernel/amd_gart_64.c | 3
arch/x86/kernel/setup.c | 4
arch/x86/mm/init.c | 9 -
arch/x86/mm/init_32.c | 19 +-
arch/x86/mm/init_64.c | 42 ++--
arch/x86/mm/mm_internal.h | 3
arch/x86/mm/pat/set_memory.c | 13 +
arch/x86/mm/pkeys.c | 2
arch/x86/platform/uv/bios_uv.c | 3
arch/x86/um/asm/vm-flags.h | 10 -
arch/xtensa/include/asm/page.h | 3
arch/xtensa/include/asm/pgtable.h | 3
drivers/char/hw_random/omap3-rom-rng.c | 4
drivers/dma/tegra20-apb-dma.c | 1
drivers/hwmon/dell-smm-hwmon.c | 4
drivers/platform/x86/dell-laptop.c | 4
drivers/platform/x86/dell-rbtn.c | 4
drivers/platform/x86/dell-rbtn.h | 2
drivers/platform/x86/dell-smbios-base.c | 4
drivers/platform/x86/dell-smbios-smm.c | 2
drivers/platform/x86/dell-smbios.h | 2
drivers/platform/x86/dell-smo8800.c | 2
drivers/platform/x86/dell-wmi.c | 4
drivers/power/supply/bq2415x_charger.c | 4
drivers/power/supply/bq27xxx_battery.c | 2
drivers/power/supply/isp1704_charger.c | 2
drivers/power/supply/rx51_battery.c | 4
drivers/staging/gasket/gasket_core.c | 2
fs/filesystems.c | 4
fs/hfsplus/attributes.c | 4
fs/ocfs2/alloc.c | 4
fs/seq_file.c | 7
fs/udf/ecma_167.h | 2
fs/udf/osta_udf.h | 2
include/linux/cma.h | 14 +
include/linux/hugetlb.h | 12 +
include/linux/memblock.h | 3
include/linux/memory_hotplug.h | 21 +-
include/linux/mm.h | 34 +++
include/linux/power/bq2415x_charger.h | 2
include/linux/slab.h | 2
ipc/util.c | 2
kernel/gcov/fs.c | 2
kernel/kmod.c | 4
mm/cma.c | 16 +
mm/gup.c | 3
mm/hugetlb.c | 109 ++++++++++++
mm/memblock.c | 2
mm/memcontrol.c | 3
mm/memory.c | 168 +++++++++++++++++--
mm/memory_hotplug.c | 13 -
mm/memremap.c | 17 +
mm/mmap.c | 4
mm/mprotect.c | 4
mm/page_alloc.c | 5
mm/slab_common.c | 2
tools/laptop/freefall/freefall.c | 2
tools/testing/selftests/kmod/kmod.sh | 43 ++++
130 files changed, 710 insertions(+), 370 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-04-07 3:02 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-04-07 3:02 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
- a lot more of MM, quite a bit more yet to come.
- various other subsystems
166 patches based on 7e63420847ae5f1036e4f7c42f0b3282e73efbc2.
Subsystems affected by this patch series:
mm/memcg
mm/pagemap
mm/vmalloc
mm/pagealloc
mm/migration
mm/thp
mm/ksm
mm/madvise
mm/virtio
mm/userfaultfd
mm/memory-hotplug
mm/shmem
mm/rmap
mm/zswap
mm/zsmalloc
mm/cleanups
procfs
misc
MAINTAINERS
bitops
lib
checkpatch
epoll
binfmt
kallsyms
reiserfs
kmod
gcov
kconfig
kcov
ubsan
fault-injection
ipc
Subsystem: mm/memcg
Chris Down <chris@chrisdown.name>:
mm, memcg: bypass high reclaim iteration for cgroup hierarchy root
Subsystem: mm/pagemap
Li Xinhai <lixinhai.lxh@gmail.com>:
Patch series "mm: Fix misuse of parent anon_vma in dup_mmap path":
mm: don't prepare anon_vma if vma has VM_WIPEONFORK
Revert "mm/rmap.c: reuse mergeable anon_vma as parent when fork"
mm: set vm_next and vm_prev to NULL in vm_area_dup()
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/vma: Use all available wrappers when possible", v2:
mm/vma: add missing VMA flag readable name for VM_SYNC
mm/vma: make vma_is_accessible() available for general use
mm/vma: replace all remaining open encodings with is_vm_hugetlb_page()
mm/vma: replace all remaining open encodings with vma_is_anonymous()
mm/vma: append unlikely() while testing VMA access permissions
Subsystem: mm/vmalloc
Qiujun Huang <hqjagain@gmail.com>:
mm/vmalloc: fix a typo in comment
Subsystem: mm/pagealloc
Michal Hocko <mhocko@suse.com>:
mm: make it clear that gfp reclaim modifiers are valid only for sleepable allocations
Subsystem: mm/migration
Wei Yang <richardw.yang@linux.intel.com>:
Patch series "cleanup on do_pages_move()", v5:
mm/migrate.c: no need to check for i > start in do_pages_move()
mm/migrate.c: wrap do_move_pages_to_node() and store_status()
mm/migrate.c: check pagelist in move_pages_and_store_status()
mm/migrate.c: unify "not queued for migration" handling in do_pages_move()
Yang Shi <yang.shi@linux.alibaba.com>:
mm/migrate.c: migrate PG_readahead flag
Subsystem: mm/thp
David Rientjes <rientjes@google.com>:
mm, shmem: add vmstat for hugepage fallback
mm, thp: track fallbacks due to failed memcg charges separately
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
include/linux/pagemap.h: optimise find_subpage for !THP
mm: remove CONFIG_TRANSPARENT_HUGE_PAGECACHE
Subsystem: mm/ksm
Li Chen <chenli@uniontech.com>:
mm/ksm.c: update get_user_pages() argument in comment
Subsystem: mm/madvise
Huang Ying <ying.huang@intel.com>:
mm: code cleanup for MADV_FREE
Subsystem: mm/virtio
Alexander Duyck <alexander.h.duyck@linux.intel.com>:
Patch series "mm / virtio: Provide support for free page reporting", v17:
mm: adjust shuffle code to allow for future coalescing
mm: use zone and order instead of free area in free_list manipulators
mm: add function __putback_isolated_page
mm: introduce Reported pages
virtio-balloon: pull page poisoning config out of free page hinting
virtio-balloon: add support for providing free page reports to host
mm/page_reporting: rotate reported pages to the tail of the list
mm/page_reporting: add budget limit on how many pages can be reported per pass
mm/page_reporting: add free page reporting documentation
David Hildenbrand <david@redhat.com>:
virtio-balloon: switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
Subsystem: mm/userfaultfd
Shaohua Li <shli@fb.com>:
Patch series "userfaultfd: write protection support", v6:
userfaultfd: wp: add helper for writeprotect check
Andrea Arcangeli <aarcange@redhat.com>:
userfaultfd: wp: hook userfault handler to write protection fault
userfaultfd: wp: add WP pagetable tracking to x86
userfaultfd: wp: userfaultfd_pte/huge_pmd_wp() helpers
userfaultfd: wp: add UFFDIO_COPY_MODE_WP
Peter Xu <peterx@redhat.com>:
mm: merge parameters for change_protection()
userfaultfd: wp: apply _PAGE_UFFD_WP bit
userfaultfd: wp: drop _PAGE_UFFD_WP properly when fork
userfaultfd: wp: add pmd_swp_*uffd_wp() helpers
userfaultfd: wp: support swap and page migration
khugepaged: skip collapse if uffd-wp detected
Shaohua Li <shli@fb.com>:
userfaultfd: wp: support write protection for userfault vma range
Andrea Arcangeli <aarcange@redhat.com>:
userfaultfd: wp: add the writeprotect API to userfaultfd ioctl
Shaohua Li <shli@fb.com>:
userfaultfd: wp: enabled write protection in userfaultfd API
Peter Xu <peterx@redhat.com>:
userfaultfd: wp: don't wake up when doing write protect
Martin Cracauer <cracauer@cons.org>:
userfaultfd: wp: UFFDIO_REGISTER_MODE_WP documentation update
Peter Xu <peterx@redhat.com>:
userfaultfd: wp: declare _UFFDIO_WRITEPROTECT conditionally
userfaultfd: selftests: refactor statistics
userfaultfd: selftests: add write-protect test
Subsystem: mm/memory-hotplug
David Hildenbrand <david@redhat.com>:
Patch series "mm: drop superfluous section checks when onlining/offlining":
drivers/base/memory.c: drop section_count
drivers/base/memory.c: drop pages_correctly_probed()
mm/page_ext.c: drop pfn_present() check when onlining
Baoquan He <bhe@redhat.com>:
mm/memory_hotplug.c: only respect mem= parameter during boot stage
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug.c: simplify calculation of number of pages in __remove_pages()
mm/memory_hotplug.c: cleanup __add_pages()
Baoquan He <bhe@redhat.com>:
Patch series "mm/hotplug: Only use subsection map for VMEMMAP", v4:
mm/sparse.c: introduce new function fill_subsection_map()
mm/sparse.c: introduce a new function clear_subsection_map()
mm/sparse.c: only use subsection map in VMEMMAP case
mm/sparse.c: add note about only VMEMMAP supporting sub-section hotplug
mm/sparse.c: move subsection_map related functions together
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: allow to specify a default online_type", v3:
drivers/base/memory: rename MMOP_ONLINE_KEEP to MMOP_ONLINE
drivers/base/memory: map MMOP_OFFLINE to 0
drivers/base/memory: store mapping between MMOP_* and string in an array
powernv/memtrace: always online added memory blocks
hv_balloon: don't check for memhp_auto_online manually
mm/memory_hotplug: unexport memhp_auto_online
mm/memory_hotplug: convert memhp_auto_online to store an online_type
mm/memory_hotplug: allow to specify a default online_type
chenqiwu <chenqiwu@xiaomi.com>:
mm/memory_hotplug.c: use __pfn_to_section() instead of open-coding
Subsystem: mm/shmem
Kees Cook <keescook@chromium.org>:
mm/shmem.c: distribute switch variables for initialization
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/shmem.c: clean code by removing unnecessary assignment
Hugh Dickins <hughd@google.com>:
mm: huge tmpfs: try to split_huge_page() when punching hole
Subsystem: mm/rmap
Palmer Dabbelt <palmerdabbelt@google.com>:
mm: prevent a warning when casting void* -> enum
Subsystem: mm/zswap
"Maciej S. Szmigiero" <mail@maciej.szmigiero.name>:
mm/zswap: allow setting default status, compressor and allocator in Kconfig
Subsystem: mm/zsmalloc
Subsystem: mm/cleanups
Jules Irenge <jbi.octave@gmail.com>:
mm/compaction: add missing annotation for compact_lock_irqsave
mm/hugetlb: add missing annotation for gather_surplus_pages()
mm/mempolicy: add missing annotation for queue_pages_pmd()
mm/slub: add missing annotation for get_map()
mm/slub: add missing annotation for put_map()
mm/zsmalloc: add missing annotation for migrate_read_lock()
mm/zsmalloc: add missing annotation for migrate_read_unlock()
mm/zsmalloc: add missing annotation for pin_tag()
mm/zsmalloc: add missing annotation for unpin_tag()
chenqiwu <chenqiwu@xiaomi.com>:
mm: fix ambiguous comments for better code readability
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/mm_init.c: clean code. Use BUILD_BUG_ON when comparing compile time constant
Joe Perches <joe@perches.com>:
mm: use fallthrough;
Steven Price <steven.price@arm.com>:
include/linux/swapops.h: correct guards for non_swap_entry()
Ira Weiny <ira.weiny@intel.com>:
include/linux/memremap.h: remove stale comments
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/dmapool.c: micro-optimisation remove unnecessary branch
Waiman Long <longman@redhat.com>:
mm: remove dummy struct bootmem_data/bootmem_data_t
Subsystem: procfs
Jules Irenge <jbi.octave@gmail.com>:
fs/proc/inode.c: annotate close_pdeo() for sparse
Alexey Dobriyan <adobriyan@gmail.com>:
proc: faster open/read/close with "permanent" files
proc: speed up /proc/*/statm
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
proc: inline vma_stop into m_stop
proc: remove m_cache_vma
proc: use ppos instead of m->version
seq_file: remove m->version
proc: inline m_next_vma into m_next
Subsystem: misc
Michal Simek <michal.simek@xilinx.com>:
asm-generic: fix unistd_32.h generation format
Nathan Chancellor <natechancellor@gmail.com>:
kernel/extable.c: use address-of operator on section symbols
Masahiro Yamada <masahiroy@kernel.org>:
sparc,x86: vdso: remove meaningless undefining CONFIG_OPTIMIZE_INLINING
compiler: remove CONFIG_OPTIMIZE_INLINING entirely
Vegard Nossum <vegard.nossum@oracle.com>:
compiler.h: fix error in BUILD_BUG_ON() reporting
Subsystem: MAINTAINERS
Joe Perches <joe@perches.com>:
MAINTAINERS: list the section entries in the preferred order
Subsystem: bitops
Josh Poimboeuf <jpoimboe@redhat.com>:
bitops: always inline sign extension helpers
Subsystem: lib
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
lib/test_lockup: test module to generate lockups
Colin Ian King <colin.king@canonical.com>:
lib/test_lockup.c: fix spelling mistake "iteraions" -> "iterations"
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
lib/test_lockup.c: add parameters for locking generic vfs locks
"Gustavo A. R. Silva" <gustavo@embeddedor.com>:
lib/bch.c: replace zero-length array with flexible-array member
lib/ts_bm.c: replace zero-length array with flexible-array member
lib/ts_fsm.c: replace zero-length array with flexible-array member
lib/ts_kmp.c: replace zero-length array with flexible-array member
Geert Uytterhoeven <geert+renesas@glider.be>:
lib/scatterlist: fix sg_copy_buffer() kerneldoc
Kees Cook <keescook@chromium.org>:
lib: test_stackinit.c: XFAIL switch variable init tests
Alexander Potapenko <glider@google.com>:
lib/stackdepot.c: check depot_index before accessing the stack slab
lib/stackdepot.c: fix a condition in stack_depot_fetch()
lib/stackdepot.c: build with -fno-builtin
kasan: stackdepot: move filter_irq_stacks() to stackdepot.c
Qian Cai <cai@lca.pw>:
percpu_counter: fix a data race at vm_committed_as
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
lib/test_bitmap.c: make use of EXP2_IN_BITS
chenqiwu <chenqiwu@xiaomi.com>:
lib/rbtree: fix coding style of assignments
Dan Carpenter <dan.carpenter@oracle.com>:
lib/test_kmod.c: remove a NULL test
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
linux/bits.h: add compile time sanity check of GENMASK inputs
Chris Wilson <chris@chris-wilson.co.uk>:
lib/list: prevent compiler reloads inside 'safe' list iteration
Nathan Chancellor <natechancellor@gmail.com>:
lib/dynamic_debug.c: use address-of operator on section symbols
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: remove email address comment from email address comparisons
Lubomir Rintel <lkundrak@v3.sk>:
checkpatch: check SPDX tags in YAML files
John Hubbard <jhubbard@nvidia.com>:
checkpatch: support "base-commit:" format
Joe Perches <joe@perches.com>:
checkpatch: prefer fallthrough; over fallthrough comments
Antonio Borneo <borneo.antonio@gmail.com>:
checkpatch: fix minor typo and mixed space+tab in indentation
checkpatch: fix multiple const * types
checkpatch: add command-line option for TAB size
Joe Perches <joe@perches.com>:
checkpatch: improve Gerrit Change-Id: test
Lubomir Rintel <lkundrak@v3.sk>:
checkpatch: check proper licensing of Devicetree bindings
Joe Perches <joe@perches.com>:
checkpatch: avoid warning about uninitialized_var()
Subsystem: epoll
Roman Penyaev <rpenyaev@suse.de>:
kselftest: introduce new epoll test case
Jason Baron <jbaron@akamai.com>:
fs/epoll: make nesting accounting safe for -rt kernel
Subsystem: binfmt
Alexey Dobriyan <adobriyan@gmail.com>:
fs/binfmt_elf.c: delete "loc" variable
fs/binfmt_elf.c: allocate less for static executable
fs/binfmt_elf.c: don't free interpreter's ELF pheaders on common path
Subsystem: kallsyms
Will Deacon <will@kernel.org>:
Patch series "Unexport kallsyms_lookup_name() and kallsyms_on_each_symbol()":
samples/hw_breakpoint: drop HW_BREAKPOINT_R when reporting writes
samples/hw_breakpoint: drop use of kallsyms_lookup_name()
kallsyms: unexport kallsyms_lookup_name() and kallsyms_on_each_symbol()
Subsystem: reiserfs
Colin Ian King <colin.king@canonical.com>:
reiserfs: clean up several indentation issues
Subsystem: kmod
Qiujun Huang <hqjagain@gmail.com>:
kernel/kmod.c: fix a typo "assuems" -> "assumes"
Subsystem: gcov
"Gustavo A. R. Silva" <gustavo@embeddedor.com>:
gcov: gcc_4_7: replace zero-length array with flexible-array member
gcov: gcc_3_4: replace zero-length array with flexible-array member
kernel/gcov/fs.c: replace zero-length array with flexible-array member
Subsystem: kconfig
Krzysztof Kozlowski <krzk@kernel.org>:
init/Kconfig: clean up ANON_INODES and old IO schedulers options
Subsystem: kcov
Andrey Konovalov <andreyknvl@google.com>:
Patch series "kcov: collect coverage from usb soft interrupts", v4:
kcov: cleanup debug messages
kcov: fix potential use-after-free in kcov_remote_start
kcov: move t->kcov assignments into kcov_start/stop
kcov: move t->kcov_sequence assignment
kcov: use t->kcov_mode as enabled indicator
kcov: collect coverage from interrupts
usb: core: kcov: collect coverage from usb complete callback
Subsystem: ubsan
Kees Cook <keescook@chromium.org>:
Patch series "ubsan: Split out bounds checker", v5:
ubsan: add trap instrumentation option
ubsan: split "bounds" checker from other options
drivers/misc/lkdtm/bugs.c: add arithmetic overflow and array bounds checks
ubsan: check panic_on_warn
kasan: unset panic_on_warn before calling panic()
ubsan: include bug type in report header
Subsystem: fault-injection
Qiujun Huang <hqjagain@gmail.com>:
lib/Kconfig.debug: fix a typo "capabilitiy" -> "capability"
Subsystem: ipc
Somala Swaraj <somalaswaraj@gmail.com>:
ipc/mqueue.c: fix a brace coding style issue
Jason Yan <yanaijie@huawei.com>:
ipc/shm.c: make compat_ksys_shmctl() static
Documentation/admin-guide/kernel-parameters.txt | 13
Documentation/admin-guide/mm/transhuge.rst | 14
Documentation/admin-guide/mm/userfaultfd.rst | 51
Documentation/dev-tools/kcov.rst | 17
Documentation/vm/free_page_reporting.rst | 41
Documentation/vm/zswap.rst | 20
MAINTAINERS | 35
arch/alpha/include/asm/mmzone.h | 2
arch/alpha/kernel/syscalls/syscallhdr.sh | 2
arch/csky/mm/fault.c | 4
arch/ia64/kernel/syscalls/syscallhdr.sh | 2
arch/ia64/kernel/vmlinux.lds.S | 2
arch/m68k/mm/fault.c | 4
arch/microblaze/kernel/syscalls/syscallhdr.sh | 2
arch/mips/kernel/syscalls/syscallhdr.sh | 3
arch/mips/mm/fault.c | 4
arch/nds32/kernel/vmlinux.lds.S | 1
arch/parisc/kernel/syscalls/syscallhdr.sh | 2
arch/powerpc/kernel/syscalls/syscallhdr.sh | 3
arch/powerpc/kvm/e500_mmu_host.c | 2
arch/powerpc/mm/fault.c | 2
arch/powerpc/platforms/powernv/memtrace.c | 14
arch/sh/kernel/syscalls/syscallhdr.sh | 2
arch/sh/mm/fault.c | 2
arch/sparc/kernel/syscalls/syscallhdr.sh | 2
arch/sparc/vdso/vdso32/vclock_gettime.c | 4
arch/x86/Kconfig | 1
arch/x86/configs/i386_defconfig | 1
arch/x86/configs/x86_64_defconfig | 1
arch/x86/entry/vdso/vdso32/vclock_gettime.c | 4
arch/x86/include/asm/pgtable.h | 67 +
arch/x86/include/asm/pgtable_64.h | 8
arch/x86/include/asm/pgtable_types.h | 12
arch/x86/mm/fault.c | 2
arch/xtensa/kernel/syscalls/syscallhdr.sh | 2
drivers/base/memory.c | 138 --
drivers/hv/hv_balloon.c | 25
drivers/misc/lkdtm/bugs.c | 75 +
drivers/misc/lkdtm/core.c | 3
drivers/misc/lkdtm/lkdtm.h | 3
drivers/usb/core/hcd.c | 3
drivers/virtio/Kconfig | 1
drivers/virtio/virtio_balloon.c | 190 ++-
fs/binfmt_elf.c | 56
fs/eventpoll.c | 64 -
fs/proc/array.c | 39
fs/proc/cpuinfo.c | 1
fs/proc/generic.c | 31
fs/proc/inode.c | 188 ++-
fs/proc/internal.h | 6
fs/proc/kmsg.c | 1
fs/proc/stat.c | 1
fs/proc/task_mmu.c | 97 -
fs/reiserfs/do_balan.c | 2
fs/reiserfs/ioctl.c | 11
fs/reiserfs/namei.c | 10
fs/seq_file.c | 28
fs/userfaultfd.c | 116 +
include/asm-generic/pgtable.h | 1
include/asm-generic/pgtable_uffd.h | 66 +
include/asm-generic/tlb.h | 3
include/linux/bitops.h | 4
include/linux/bits.h | 22
include/linux/compiler.h | 2
include/linux/compiler_types.h | 11
include/linux/gfp.h | 2
include/linux/huge_mm.h | 2
include/linux/list.h | 50
include/linux/memory.h | 1
include/linux/memory_hotplug.h | 13
include/linux/memremap.h | 2
include/linux/mm.h | 25
include/linux/mm_inline.h | 15
include/linux/mm_types.h | 4
include/linux/mmzone.h | 47
include/linux/page-flags.h | 16
include/linux/page_reporting.h | 26
include/linux/pagemap.h | 4
include/linux/percpu_counter.h | 4
include/linux/proc_fs.h | 17
include/linux/sched.h | 3
include/linux/seq_file.h | 1
include/linux/shmem_fs.h | 10
include/linux/stackdepot.h | 2
include/linux/swapops.h | 5
include/linux/userfaultfd_k.h | 42
include/linux/vm_event_item.h | 5
include/trace/events/huge_memory.h | 1
include/trace/events/mmflags.h | 1
include/trace/events/vmscan.h | 2
include/uapi/linux/userfaultfd.h | 40
include/uapi/linux/virtio_balloon.h | 1
init/Kconfig | 8
ipc/mqueue.c | 5
ipc/shm.c | 2
ipc/util.c | 1
kernel/configs/tiny.config | 1
kernel/events/core.c | 3
kernel/extable.c | 3
kernel/fork.c | 10
kernel/gcov/fs.c | 2
kernel/gcov/gcc_3_4.c | 6
kernel/gcov/gcc_4_7.c | 2
kernel/kallsyms.c | 2
kernel/kcov.c | 282 +++-
kernel/kmod.c | 2
kernel/module.c | 1
kernel/sched/fair.c | 2
lib/Kconfig.debug | 35
lib/Kconfig.ubsan | 51
lib/Makefile | 8
lib/bch.c | 2
lib/dynamic_debug.c | 2
lib/rbtree.c | 4
lib/scatterlist.c | 2
lib/stackdepot.c | 39
lib/test_bitmap.c | 2
lib/test_kmod.c | 2
lib/test_lockup.c | 601 +++++++++-
lib/test_stackinit.c | 28
lib/ts_bm.c | 2
lib/ts_fsm.c | 2
lib/ts_kmp.c | 2
lib/ubsan.c | 47
mm/Kconfig | 135 ++
mm/Makefile | 1
mm/compaction.c | 3
mm/dmapool.c | 4
mm/filemap.c | 14
mm/gup.c | 9
mm/huge_memory.c | 36
mm/hugetlb.c | 1
mm/hugetlb_cgroup.c | 6
mm/internal.h | 2
mm/kasan/common.c | 23
mm/kasan/report.c | 10
mm/khugepaged.c | 39
mm/ksm.c | 5
mm/list_lru.c | 2
mm/memcontrol.c | 5
mm/memory-failure.c | 2
mm/memory.c | 42
mm/memory_hotplug.c | 53
mm/mempolicy.c | 11
mm/migrate.c | 122 +-
mm/mm_init.c | 2
mm/mmap.c | 10
mm/mprotect.c | 76 -
mm/page_alloc.c | 174 ++
mm/page_ext.c | 5
mm/page_isolation.c | 6
mm/page_reporting.c | 384 ++++++
mm/page_reporting.h | 54
mm/rmap.c | 23
mm/shmem.c | 168 +-
mm/shuffle.c | 12
mm/shuffle.h | 6
mm/slab_common.c | 1
mm/slub.c | 3
mm/sparse.c | 236 ++-
mm/swap.c | 20
mm/swapfile.c | 1
mm/userfaultfd.c | 98 +
mm/vmalloc.c | 2
mm/vmscan.c | 12
mm/vmstat.c | 3
mm/zsmalloc.c | 10
mm/zswap.c | 24
samples/hw_breakpoint/data_breakpoint.c | 11
scripts/Makefile.ubsan | 16
scripts/checkpatch.pl | 155 +-
tools/lib/rbtree.c | 4
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 67 +
tools/testing/selftests/vm/userfaultfd.c | 233 +++
174 files changed, 3990 insertions(+), 1399 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-04-02 4:01 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-04-02 4:01 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
A large amount of MM, plenty more to come.
155 patches, based on GIT 1a323ea5356edbb3073dc59d51b9e6b86908857d
Subsystems affected by this patch series:
tools
kthread
kbuild
scripts
ocfs2
vfs
mm/slub
mm/kmemleak
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/mremap
mm/sparsemem
mm/kasan
mm/pagealloc
mm/vmscan
mm/compaction
mm/mempolicy
mm/hugetlbfs
mm/hugetlb
Subsystem: tools
David Ahern <dsahern@kernel.org>:
tools/accounting/getdelays.c: fix netlink attribute length
Subsystem: kthread
Petr Mladek <pmladek@suse.com>:
kthread: mark timer used by delayed kthread works as IRQ safe
Subsystem: kbuild
Masahiro Yamada <masahiroy@kernel.org>:
asm-generic: make more kernel-space headers mandatory
Subsystem: scripts
Jonathan Neuschäfer <j.neuschaefer@gmx.net>:
scripts/spelling.txt: add syfs/sysfs pattern
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ocfs2
Alex Shi <alex.shi@linux.alibaba.com>:
ocfs2: remove FS_OCFS2_NM
ocfs2: remove unused macros
ocfs2: use OCFS2_SEC_BITS in macro
ocfs2: remove dlm_lock_is_remote
wangyan <wangyan122@huawei.com>:
ocfs2: there is no need to log twice in several functions
ocfs2: correct annotation from "l_next_rec" to "l_next_free_rec"
Alex Shi <alex.shi@linux.alibaba.com>:
ocfs2: remove useless err
Jules Irenge <jbi.octave@gmail.com>:
ocfs2: Add missing annotations for ocfs2_refcount_cache_lock() and ocfs2_refcount_cache_unlock()
"Gustavo A. R. Silva" <gustavo@embeddedor.com>:
ocfs2: replace zero-length array with flexible-array member
ocfs2: cluster: replace zero-length array with flexible-array member
ocfs2: dlm: replace zero-length array with flexible-array member
ocfs2: ocfs2_fs.h: replace zero-length array with flexible-array member
wangjian <wangjian161@huawei.com>:
ocfs2: roll back the reference count modification of the parent directory if an error occurs
Takashi Iwai <tiwai@suse.de>:
ocfs2: use scnprintf() for avoiding potential buffer overflow
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
ocfs2: use memalloc_nofs_save instead of memalloc_noio_save
Subsystem: vfs
Kees Cook <keescook@chromium.org>:
fs_parse: Remove pr_notice() about each validation
Subsystem: mm/slub
chenqiwu <chenqiwu@xiaomi.com>:
mm/slub.c: replace cpu_slab->partial with wrapped APIs
mm/slub.c: replace kmem_cache->cpu_partial with wrapped APIs
Kees Cook <keescook@chromium.org>:
slub: improve bit diffusion for freelist ptr obfuscation
slub: relocate freelist pointer to middle of object
Vlastimil Babka <vbabka@suse.cz>:
Revert "topology: add support for node_to_mem_node() to determine the fallback node"
Subsystem: mm/kmemleak
Nathan Chancellor <natechancellor@gmail.com>:
mm/kmemleak.c: use address-of operator on section symbols
Qian Cai <cai@lca.pw>:
mm/Makefile: disable KCSAN for kmemleak
Subsystem: mm/pagecache
Jan Kara <jack@suse.cz>:
mm/filemap.c: don't bother dropping mmap_sem for zero size readahead
Mauricio Faria de Oliveira <mfo@canonical.com>:
mm/page-writeback.c: write_cache_pages(): deduplicate identical checks
Xianting Tian <xianting_tian@126.com>:
mm/filemap.c: clear page error before actual read
Souptick Joarder <jrdr.linux@gmail.com>:
mm/filemap.c: remove unused argument from shrink_readahead_size_eio()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm/filemap.c: use vm_fault error code directly
include/linux/pagemap.h: rename arguments to find_subpage
mm/page-writeback.c: use VM_BUG_ON_PAGE in clear_page_dirty_for_io
mm/filemap.c: unexport find_get_entry
mm/filemap.c: rewrite pagecache_get_page documentation
Subsystem: mm/gup
John Hubbard <jhubbard@nvidia.com>:
Patch series "mm/gup: track FOLL_PIN pages", v6:
mm/gup: split get_user_pages_remote() into two routines
mm/gup: pass a flags arg to __gup_device_* functions
mm: introduce page_ref_sub_return()
mm/gup: pass gup flags to two more routines
mm/gup: require FOLL_GET for get_user_pages_fast()
mm/gup: track FOLL_PIN pages
mm/gup: page->hpage_pinned_refcount: exact pin counts for huge pages
mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting
mm/gup_benchmark: support pin_user_pages() and related calls
selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: improve dump_page() for compound pages
John Hubbard <jhubbard@nvidia.com>:
mm: dump_page(): additional diagnostics for huge pinned pages
Claudio Imbrenda <imbrenda@linux.ibm.com>:
mm/gup/writeback: add callbacks for inaccessible pages
Pingfan Liu <kernelfans@gmail.com>:
mm/gup: rename nr as nr_pinned in get_user_pages_fast()
mm/gup: fix omission of check on FOLL_LONGTERM in gup fast path
Subsystem: mm/swap
Chen Wandun <chenwandun@huawei.com>:
mm/swapfile.c: fix comments for swapcache_prepare
Wei Yang <richardw.yang@linux.intel.com>:
mm/swap.c: not necessary to export __pagevec_lru_add()
Qian Cai <cai@lca.pw>:
mm/swapfile: fix data races in try_to_unuse()
Wei Yang <richard.weiyang@linux.alibaba.com>:
mm/swap_slots.c: assign|reset cache slot by value directly
Yang Shi <yang.shi@linux.alibaba.com>:
mm: swap: make page_evictable() inline
mm: swap: use smp_mb__after_atomic() to order LRU bit set
Wei Yang <richard.weiyang@gmail.com>:
mm/swap_state.c: use the same way to count page in [add_to|delete_from]_swap_cache
Subsystem: mm/memcg
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: fix build error around the usage of kmem_caches
Kirill Tkhai <ktkhai@virtuozzo.com>:
mm/memcontrol.c: allocate shrinker_map on appropriate NUMA node
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: use mem_cgroup_from_obj()
Patch series "mm: memcg: kmem API cleanup", v2:
mm: kmem: cleanup (__)memcg_kmem_charge_memcg() arguments
mm: kmem: cleanup memcg_kmem_uncharge_memcg() arguments
mm: kmem: rename memcg_kmem_(un)charge() into memcg_kmem_(un)charge_page()
mm: kmem: switch to nr_pages in (__)memcg_kmem_charge_memcg()
mm: memcg/slab: cache page number in memcg_(un)charge_slab()
mm: kmem: rename (__)memcg_kmem_(un)charge_memcg() to __memcg_kmem_(un)charge()
Johannes Weiner <hannes@cmpxchg.org>:
Patch series "mm: memcontrol: recursive memory.low protection", v3:
mm: memcontrol: fix memory.low proportional distribution
mm: memcontrol: clean up and document effective low/min calculations
mm: memcontrol: recursive memory.low protection
Shakeel Butt <shakeelb@google.com>:
memcg: css_tryget_online cleanups
Vincenzo Frascino <vincenzo.frascino@arm.com>:
mm/memcontrol.c: make mem_cgroup_id_get_many() __maybe_unused
Chris Down <chris@chrisdown.name>:
mm, memcg: prevent memory.high load/store tearing
mm, memcg: prevent memory.max load tearing
mm, memcg: prevent memory.low load/store tearing
mm, memcg: prevent memory.min load/store tearing
mm, memcg: prevent memory.swap.max load tearing
mm, memcg: prevent mem_cgroup_protected store tearing
Roman Gushchin <guro@fb.com>:
mm: memcg: make memory.oom.group tolerable to task migration
Subsystem: mm/pagemap
Thomas Hellstrom <thellstrom@vmware.com>:
mm/mapping_dirty_helpers: Update huge page-table entry callbacks
Anshuman Khandual <anshuman.khandual@arm.com>:
Patch series "mm/vma: some more minor changes", v2:
mm/vma: move VM_NO_KHUGEPAGED into generic header
mm/vma: make vma_is_foreign() available for general use
mm/vma: make is_vma_temporary_stack() available for general use
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: add pagemap.h to the fine documentation
Peter Xu <peterx@redhat.com>:
Patch series "mm: Page fault enhancements", v6:
mm/gup: rename "nonblocking" to "locked" where proper
mm/gup: fix __get_user_pages() on fault retry of hugetlb
mm: introduce fault_signal_pending()
x86/mm: use helper fault_signal_pending()
arc/mm: use helper fault_signal_pending()
arm64/mm: use helper fault_signal_pending()
powerpc/mm: use helper fault_signal_pending()
sh/mm: use helper fault_signal_pending()
mm: return faster for non-fatal signals in user mode faults
userfaultfd: don't retake mmap_sem to emulate NOPAGE
mm: introduce FAULT_FLAG_DEFAULT
mm: introduce FAULT_FLAG_INTERRUPTIBLE
mm: allow VM_FAULT_RETRY for multiple times
mm/gup: allow VM_FAULT_RETRY for multiple times
mm/gup: allow to react to fatal signals
mm/userfaultfd: honor FAULT_FLAG_KILLABLE in fault path
WANG Wenhu <wenhu.wang@vivo.com>:
mm: clarify a confusing comment for remap_pfn_range()
Wang Wenhu <wenhu.wang@vivo.com>:
mm/memory.c: clarify a confusing comment for vm_iomap_memory
Jaewon Kim <jaewon31.kim@samsung.com>:
Patch series "mm: mmap: add mmap trace point", v3:
mmap: remove inline of vm_unmapped_area
mm: mmap: add trace point of vm_unmapped_area
Subsystem: mm/mremap
Brian Geffon <bgeffon@google.com>:
mm/mremap: add MREMAP_DONTUNMAP to mremap()
selftests: add MREMAP_DONTUNMAP selftest
Subsystem: mm/sparsemem
Wei Yang <richardw.yang@linux.intel.com>:
mm/sparsemem: get address to page struct instead of address to pfn
Pingfan Liu <kernelfans@gmail.com>:
mm/sparse: rename pfn_present() to pfn_in_present_section()
Baoquan He <bhe@redhat.com>:
mm/sparse.c: use kvmalloc/kvfree to alloc/free memmap for the classic sparse
mm/sparse.c: allocate memmap preferring the given node
Subsystem: mm/kasan
Walter Wu <walter-zh.wu@mediatek.com>:
Patch series "fix the missing underflow in memory operation function", v4:
kasan: detect negative size in memory operation function
kasan: add test for invalid size in memmove
Subsystem: mm/pagealloc
Joel Savitz <jsavitz@redhat.com>:
mm/page_alloc: increase default min_free_kbytes bound
Mateusz Nosek <mateusznosek0@gmail.com>:
mm, pagealloc: micro-optimisation: save two branches on hot page allocation path
chenqiwu <chenqiwu@xiaomi.com>:
mm/page_alloc.c: use free_area_empty() instead of open-coding
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/page_alloc.c: micro-optimisation Remove unnecessary branch
chenqiwu <chenqiwu@xiaomi.com>:
mm/page_alloc: simplify page_is_buddy() for better code readability
Subsystem: mm/vmscan
Yang Shi <yang.shi@linux.alibaba.com>:
mm: vmpressure: don't need call kfree if kstrndup fails
mm: vmpressure: use mem_cgroup_is_root API
mm: vmscan: replace open codings to NUMA_NO_NODE
Wei Yang <richardw.yang@linux.intel.com>:
mm/vmscan.c: remove cpu online notification for now
Qian Cai <cai@lca.pw>:
mm/vmscan.c: fix data races using kswapd_classzone_idx
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/vmscan.c: Clean code by removing unnecessary assignment
Kirill Tkhai <ktkhai@virtuozzo.com>:
mm/vmscan.c: make may_enter_fs bool in shrink_page_list()
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/vmscan.c: do_try_to_free_pages(): clean code by removing unnecessary assignment
Michal Hocko <mhocko@suse.com>:
selftests: vm: drop dependencies on page flags from mlock2 tests
Subsystem: mm/compaction
Rik van Riel <riel@surriel.com>:
Patch series "fix THP migration for CMA allocations", v2:
mm,compaction,cma: add alloc_contig flag to compact_control
mm,thp,compaction,cma: allow THP migration for CMA allocations
Vlastimil Babka <vbabka@suse.cz>:
mm, compaction: fully assume capture is not NULL in compact_zone_order()
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/compaction: really limit compact_unevictable_allowed to 0 and 1
mm/compaction: Disable compact_unevictable_allowed on RT
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/compaction.c: clean code by removing unnecessary assignment
Subsystem: mm/mempolicy
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/mempolicy: support MPOL_MF_STRICT for huge page mapping
mm/mempolicy: check hugepage migration is supported by arch in vma_migratable()
Yang Shi <yang.shi@linux.alibaba.com>:
mm: mempolicy: use VM_BUG_ON_VMA in queue_pages_test_walk()
Randy Dunlap <rdunlap@infradead.org>:
mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
Colin Ian King <colin.king@canonical.com>:
mm/memblock.c: remove redundant assignment to variable max_addr
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
Patch series "hugetlbfs: use i_mmap_rwsem for more synchronization", v2:
hugetlbfs: use i_mmap_rwsem for more pmd sharing synchronization
hugetlbfs: Use i_mmap_rwsem to address page fault/truncate race
Subsystem: mm/hugetlb
Mina Almasry <almasrymina@google.com>:
hugetlb_cgroup: add hugetlb_cgroup reservation counter
hugetlb_cgroup: add interface for charge/uncharge hugetlb reservations
mm/hugetlb_cgroup: fix hugetlb_cgroup migration
hugetlb_cgroup: add reservation accounting for private mappings
hugetlb: disable region_add file_region coalescing
hugetlb_cgroup: add accounting for shared mappings
hugetlb_cgroup: support noreserve mappings
hugetlb: support file_region coalescing again
hugetlb_cgroup: add hugetlb_cgroup reservation tests
hugetlb_cgroup: add hugetlb_cgroup reservation docs
Mateusz Nosek <mateusznosek0@gmail.com>:
mm/hugetlb.c: clean code by removing unnecessary initialization
Vlastimil Babka <vbabka@suse.cz>:
mm/hugetlb: remove unnecessary memory fetch in PageHeadHuge()
Christophe Leroy <christophe.leroy@c-s.fr>:
selftests/vm: fix map_hugetlb length used for testing read and write
mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
include/linux/huge_mm.h: check PageTail in hpage_nr_pages even when !THP
Documentation/admin-guide/cgroup-v1/hugetlb.rst | 103 +-
Documentation/admin-guide/cgroup-v2.rst | 11
Documentation/admin-guide/sysctl/vm.rst | 3
Documentation/core-api/mm-api.rst | 3
Documentation/core-api/pin_user_pages.rst | 86 +
arch/alpha/include/asm/Kbuild | 11
arch/alpha/mm/fault.c | 6
arch/arc/include/asm/Kbuild | 21
arch/arc/mm/fault.c | 37
arch/arm/include/asm/Kbuild | 12
arch/arm/mm/fault.c | 7
arch/arm64/include/asm/Kbuild | 18
arch/arm64/mm/fault.c | 26
arch/c6x/include/asm/Kbuild | 37
arch/csky/include/asm/Kbuild | 36
arch/h8300/include/asm/Kbuild | 46
arch/hexagon/include/asm/Kbuild | 33
arch/hexagon/mm/vm_fault.c | 5
arch/ia64/include/asm/Kbuild | 7
arch/ia64/mm/fault.c | 5
arch/m68k/include/asm/Kbuild | 24
arch/m68k/mm/fault.c | 7
arch/microblaze/include/asm/Kbuild | 29
arch/microblaze/mm/fault.c | 5
arch/mips/include/asm/Kbuild | 13
arch/mips/mm/fault.c | 5
arch/nds32/include/asm/Kbuild | 37
arch/nds32/mm/fault.c | 5
arch/nios2/include/asm/Kbuild | 38
arch/nios2/mm/fault.c | 7
arch/openrisc/include/asm/Kbuild | 36
arch/openrisc/mm/fault.c | 5
arch/parisc/include/asm/Kbuild | 18
arch/parisc/mm/fault.c | 8
arch/powerpc/include/asm/Kbuild | 4
arch/powerpc/mm/book3s64/pkeys.c | 12
arch/powerpc/mm/fault.c | 20
arch/powerpc/platforms/pseries/hotplug-memory.c | 2
arch/riscv/include/asm/Kbuild | 28
arch/riscv/mm/fault.c | 9
arch/s390/include/asm/Kbuild | 15
arch/s390/mm/fault.c | 10
arch/sh/include/asm/Kbuild | 16
arch/sh/mm/fault.c | 13
arch/sparc/include/asm/Kbuild | 14
arch/sparc/mm/fault_32.c | 5
arch/sparc/mm/fault_64.c | 5
arch/um/kernel/trap.c | 3
arch/unicore32/include/asm/Kbuild | 34
arch/unicore32/mm/fault.c | 8
arch/x86/include/asm/Kbuild | 2
arch/x86/include/asm/mmu_context.h | 15
arch/x86/mm/fault.c | 32
arch/xtensa/include/asm/Kbuild | 26
arch/xtensa/mm/fault.c | 5
drivers/base/node.c | 2
drivers/gpu/drm/ttm/ttm_bo_vm.c | 12
fs/fs_parser.c | 2
fs/hugetlbfs/inode.c | 30
fs/ocfs2/alloc.c | 3
fs/ocfs2/cluster/heartbeat.c | 12
fs/ocfs2/cluster/netdebug.c | 4
fs/ocfs2/cluster/tcp.c | 27
fs/ocfs2/cluster/tcp.h | 2
fs/ocfs2/dir.c | 4
fs/ocfs2/dlm/dlmcommon.h | 8
fs/ocfs2/dlm/dlmdebug.c | 100 -
fs/ocfs2/dlm/dlmmaster.c | 2
fs/ocfs2/dlm/dlmthread.c | 3
fs/ocfs2/dlmglue.c | 2
fs/ocfs2/journal.c | 2
fs/ocfs2/namei.c | 15
fs/ocfs2/ocfs2_fs.h | 18
fs/ocfs2/refcounttree.c | 2
fs/ocfs2/reservations.c | 3
fs/ocfs2/stackglue.c | 2
fs/ocfs2/suballoc.c | 5
fs/ocfs2/super.c | 46
fs/pipe.c | 2
fs/userfaultfd.c | 64 -
include/asm-generic/Kbuild | 52 +
include/linux/cgroup-defs.h | 5
include/linux/fs.h | 5
include/linux/gfp.h | 6
include/linux/huge_mm.h | 10
include/linux/hugetlb.h | 76 +
include/linux/hugetlb_cgroup.h | 175 +++
include/linux/kasan.h | 2
include/linux/kthread.h | 3
include/linux/memcontrol.h | 66 -
include/linux/mempolicy.h | 29
include/linux/mm.h | 243 +++-
include/linux/mm_types.h | 7
include/linux/mmzone.h | 6
include/linux/page_ref.h | 9
include/linux/pagemap.h | 29
include/linux/sched/signal.h | 18
include/linux/swap.h | 1
include/linux/topology.h | 17
include/trace/events/mmap.h | 48
include/uapi/linux/mman.h | 5
kernel/cgroup/cgroup.c | 17
kernel/fork.c | 9
kernel/sysctl.c | 31
lib/test_kasan.c | 19
mm/Makefile | 1
mm/compaction.c | 31
mm/debug.c | 54 -
mm/filemap.c | 77 -
mm/gup.c | 682 ++++++++++---
mm/gup_benchmark.c | 71 +
mm/huge_memory.c | 29
mm/hugetlb.c | 866 ++++++++++++-----
mm/hugetlb_cgroup.c | 347 +++++-
mm/internal.h | 32
mm/kasan/common.c | 26
mm/kasan/generic.c | 9
mm/kasan/generic_report.c | 11
mm/kasan/kasan.h | 2
mm/kasan/report.c | 5
mm/kasan/tags.c | 9
mm/kasan/tags_report.c | 11
mm/khugepaged.c | 4
mm/kmemleak.c | 2
mm/list_lru.c | 12
mm/mapping_dirty_helpers.c | 42
mm/memblock.c | 2
mm/memcontrol.c | 378 ++++---
mm/memory-failure.c | 29
mm/memory.c | 4
mm/mempolicy.c | 73 +
mm/migrate.c | 25
mm/mmap.c | 32
mm/mremap.c | 92 +
mm/page-writeback.c | 19
mm/page_alloc.c | 82 -
mm/page_counter.c | 29
mm/page_ext.c | 2
mm/rmap.c | 39
mm/shuffle.c | 2
mm/slab.h | 32
mm/slab_common.c | 2
mm/slub.c | 27
mm/sparse.c | 33
mm/swap.c | 5
mm/swap_slots.c | 12
mm/swap_state.c | 2
mm/swapfile.c | 10
mm/userfaultfd.c | 11
mm/vmpressure.c | 8
mm/vmscan.c | 111 --
mm/vmstat.c | 2
scripts/spelling.txt | 21
tools/accounting/getdelays.c | 2
tools/testing/selftests/vm/.gitignore | 1
tools/testing/selftests/vm/Makefile | 2
tools/testing/selftests/vm/charge_reserved_hugetlb.sh | 575 +++++++++++
tools/testing/selftests/vm/gup_benchmark.c | 15
tools/testing/selftests/vm/hugetlb_reparenting_test.sh | 244 ++++
tools/testing/selftests/vm/map_hugetlb.c | 14
tools/testing/selftests/vm/mlock2-tests.c | 233 ----
tools/testing/selftests/vm/mremap_dontunmap.c | 313 ++++++
tools/testing/selftests/vm/run_vmtests | 37
tools/testing/selftests/vm/write_hugetlb_memory.sh | 23
tools/testing/selftests/vm/write_to_hugetlbfs.c | 242 ++++
165 files changed, 5020 insertions(+), 2376 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-03-29 2:14 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-03-29 2:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
5 fixes, based on 83fd69c93340177dcd66fd26ce6441fb581c1dbf:
Naohiro Aota <naohiro.aota@wdc.com>:
mm/swapfile.c: move inode_lock out of claim_swapfile
David Hildenbrand <david@redhat.com>:
drivers/base/memory.c: indicate all memory blocks as removable
Mina Almasry <almasrymina@google.com>:
hugetlb_cgroup: fix illegal access to memory
Roman Gushchin <guro@fb.com>:
mm: fork: fix kernel_stack memcg stats for various stack implementations
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
mm/sparse: fix kernel crash with pfn_section_valid check
drivers/base/memory.c | 23 +++--------------------
include/linux/memcontrol.h | 12 ++++++++++++
kernel/fork.c | 4 ++--
mm/hugetlb_cgroup.c | 3 +--
mm/memcontrol.c | 38 ++++++++++++++++++++++++++++++++++++++
mm/sparse.c | 6 ++++++
mm/swapfile.c | 41 ++++++++++++++++++++---------------------
7 files changed, 82 insertions(+), 45 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-03-22 1:19 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-03-22 1:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
10 fixes, based on c63c50fc2ec9afc4de21ef9ead2eac64b178cce1:
Chunguang Xu <brookxu@tencent.com>:
memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event
Baoquan He <bhe@redhat.com>:
mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case
Qian Cai <cai@lca.pw>:
page-flags: fix a crash at SetPageError(THP_SWAP)
Chris Down <chris@chrisdown.name>:
mm, memcg: fix corruption on 64-bit divisor in memory.high throttling
mm, memcg: throttle allocators based on ancestral memory.high
Michal Hocko <mhocko@suse.com>:
mm: do not allow MADV_PAGEOUT for CoW pages
Roman Penyaev <rpenyaev@suse.de>:
epoll: fix possible lost wakeup on epoll_ctl() path
Qian Cai <cai@lca.pw>:
mm/mmu_notifier: silence PROVE_RCU_LIST warnings
Vlastimil Babka <vbabka@suse.cz>:
mm, slub: prevent kmalloc_node crashes and memory leaks
Joerg Roedel <jroedel@suse.de>:
x86/mm: split vmalloc_sync_all()
arch/x86/mm/fault.c | 26 ++++++++++-
drivers/acpi/apei/ghes.c | 2
fs/eventpoll.c | 8 +--
include/linux/page-flags.h | 2
include/linux/vmalloc.h | 5 +-
kernel/notifier.c | 2
mm/madvise.c | 12 +++--
mm/memcontrol.c | 105 ++++++++++++++++++++++++++++-----------------
mm/mmu_notifier.c | 27 +++++++----
mm/nommu.c | 10 +++-
mm/slub.c | 26 +++++++----
mm/sparse.c | 8 ++-
mm/vmalloc.c | 11 +++-
13 files changed, 165 insertions(+), 79 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-03-06 6:27 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-03-06 6:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
7 fixes, based on 9f65ed5fe41ce08ed1cb1f6a950f9ec694c142ad:
Mel Gorman <mgorman@techsingularity.net>:
mm, numa: fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa
Huang Ying <ying.huang@intel.com>:
mm: fix possible PMD dirty bit lost in set_pmd_migration_entry()
"Kirill A. Shutemov" <kirill@shutemov.name>:
mm: avoid data corruption on CoW fault into PFN-mapped VMA
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
fat: fix uninit-memory access for partial initialized inode
Sebastian Andrzej Siewior <bigeasy@linutronix.de>:
mm/z3fold.c: do not include rwlock.h directly
Vlastimil Babka <vbabka@suse.cz>:
mm, hotplug: fix page online with DEBUG_PAGEALLOC compiled but not enabled
Miroslav Benes <mbenes@suse.cz>:
arch/Kconfig: update HAVE_RELIABLE_STACKTRACE description
arch/Kconfig | 5 +++--
fs/fat/inode.c | 19 +++++++------------
include/linux/mm.h | 4 ++++
mm/huge_memory.c | 3 +--
mm/memory.c | 35 +++++++++++++++++++++++++++--------
mm/memory_hotplug.c | 8 +++++++-
mm/mprotect.c | 38 ++++++++++++++++++++++++++++++++++++--
mm/z3fold.c | 1 -
8 files changed, 85 insertions(+), 28 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-02-21 4:00 Andrew Morton
2020-02-21 4:03 ` incoming Andrew Morton
2020-02-21 18:21 ` incoming Linus Torvalds
0 siblings, 2 replies; 325+ messages in thread
From: Andrew Morton @ 2020-02-21 4:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
- A few y2038 fixes which missed the merge window whiole dependencies
in NFS were being sorted out.
- A bunch of fixes. Some minor, some not.
Subsystems affected by this patch series:
Arnd Bergmann <arnd@arndb.de>:
y2038: remove ktime to/from timespec/timeval conversion
y2038: remove unused time32 interfaces
y2038: hide timeval/timespec/itimerval/itimerspec types
Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>:
Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"
Christian Borntraeger <borntraeger@de.ibm.com>:
include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
SeongJae Park <sjpark@amazon.de>:
selftests/vm: add missed tests in run_vmtests
Joe Perches <joe@perches.com>:
get_maintainer: remove uses of P: for maintainer name
Douglas Anderson <dianders@chromium.org>:
scripts/get_maintainer.pl: deprioritize old Fixes: addresses
Christoph Hellwig <hch@lst.de>:
mm/swapfile.c: fix a comment in sys_swapon()
Vasily Averin <vvs@virtuozzo.com>:
mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps()
Alexandru Ardelean <alexandru.ardelean@analog.com>:
lib/string.c: update match_string() doc-strings with correct behavior
Gavin Shan <gshan@redhat.com>:
mm/vmscan.c: don't round up scan size for online memory cgroup
Wei Yang <richardw.yang@linux.intel.com>:
mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM
Alexander Potapenko <glider@google.com>:
lib/stackdepot.c: fix global out-of-bounds in stack_slabs
Randy Dunlap <rdunlap@infradead.org>:
MAINTAINERS: use tabs for SAFESETID
MAINTAINERS | 8 -
include/linux/compat.h | 29 ------
include/linux/ktime.h | 37 -------
include/linux/time32.h | 154 ---------------------------------
include/linux/timekeeping32.h | 32 ------
include/linux/types.h | 5 -
include/uapi/asm-generic/posix_types.h | 2
include/uapi/linux/swab.h | 4
include/uapi/linux/time.h | 22 ++--
ipc/sem.c | 6 -
kernel/compat.c | 64 -------------
kernel/time/time.c | 43 ---------
lib/stackdepot.c | 8 +
lib/string.c | 16 +++
mm/memcontrol.c | 4
mm/sparse.c | 2
mm/swapfile.c | 2
mm/vmscan.c | 9 +
scripts/get_maintainer.pl | 32 ------
tools/testing/selftests/vm/run_vmtests | 33 +++++++
20 files changed, 93 insertions(+), 419 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-21 4:00 incoming Andrew Morton
@ 2020-02-21 4:03 ` Andrew Morton
2020-02-21 18:21 ` incoming Linus Torvalds
1 sibling, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-02-21 4:03 UTC (permalink / raw)
To: Linus Torvalds, linux-mm, mm-commits
On Thu, 20 Feb 2020 20:00:30 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> - A few y2038 fixes which missed the merge window whiole dependencies
> in NFS were being sorted out.
>
> - A bunch of fixes. Some minor, some not.
15 patches, based on ca7e1fd1026c5af6a533b4b5447e1d2f153e28f2
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-21 4:00 incoming Andrew Morton
2020-02-21 4:03 ` incoming Andrew Morton
@ 2020-02-21 18:21 ` Linus Torvalds
2020-02-21 18:32 ` incoming Konstantin Ryabitsev
2020-02-21 19:33 ` incoming Linus Torvalds
1 sibling, 2 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-02-21 18:21 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: Linux-MM, mm-commits
On Thu, Feb 20, 2020 at 8:00 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> - A few y2038 fixes which missed the merge window whiole dependencies
> in NFS were being sorted out.
>
> - A bunch of fixes. Some minor, some not.
Hmm. Konstantin's nice lore script _used_ to pick up your patches, but
now they don't.
I'm not sure what changed. It worked with your big series of 118 patches.
It doesn't work with this smaller series of fixes.
I think the difference is that you've done something bad to your patch
sending. That big series was properly threaded with each of the
patches being a reply to the 'incoming' message.
This series is not.
Please, Andrew, can you make your email flow more consistent so that I
can actually use the nice new tool to download a patch series?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-21 18:21 ` incoming Linus Torvalds
@ 2020-02-21 18:32 ` Konstantin Ryabitsev
2020-02-27 9:59 ` incoming Vlastimil Babka
2020-02-21 19:33 ` incoming Linus Torvalds
1 sibling, 1 reply; 325+ messages in thread
From: Konstantin Ryabitsev @ 2020-02-21 18:32 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, Linux-MM, mm-commits
On Fri, Feb 21, 2020 at 10:21:19AM -0800, Linus Torvalds wrote:
> On Thu, Feb 20, 2020 at 8:00 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > - A few y2038 fixes which missed the merge window whiole dependencies
> > in NFS were being sorted out.
> >
> > - A bunch of fixes. Some minor, some not.
>
> Hmm. Konstantin's nice lore script _used_ to pick up your patches, but
> now they don't.
>
> I'm not sure what changed. It worked with your big series of 118 patches.
>
> It doesn't work with this smaller series of fixes.
>
> I think the difference is that you've done something bad to your patch
> sending. That big series was properly threaded with each of the
> patches being a reply to the 'incoming' message.
>
> This series is not.
This is correct -- each patch is posted without an in-reply-to, so
public-inbox doesn't group them into a thread.
E.g.:
https://lore.kernel.org/linux-mm/20200221040350.84HaG%25akpm@linux-foundation.org/
>
> Please, Andrew, can you make your email flow more consistent so that I
> can actually use the nice new tool to download a patch series?
Andrew, I'll be happy to provide you with a helper tool if you can
describe me your workflow. E.g. if you have a quilt directory of patches
plus a series file, it could easily be a tiny wrapper like:
send-patches --base-commit 1234abcd --cover cover.txt patchdir/series
-K
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-21 18:32 ` incoming Konstantin Ryabitsev
@ 2020-02-27 9:59 ` Vlastimil Babka
0 siblings, 0 replies; 325+ messages in thread
From: Vlastimil Babka @ 2020-02-27 9:59 UTC (permalink / raw)
To: Konstantin Ryabitsev, Linus Torvalds; +Cc: Andrew Morton, Linux-MM, mm-commits
On 2/21/20 7:32 PM, Konstantin Ryabitsev wrote:
> On Fri, Feb 21, 2020 at 10:21:19AM -0800, Linus Torvalds wrote:
>> On Thu, Feb 20, 2020 at 8:00 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>> >
>> > - A few y2038 fixes which missed the merge window whiole dependencies
>> > in NFS were being sorted out.
>> >
>> > - A bunch of fixes. Some minor, some not.
>>
>> Hmm. Konstantin's nice lore script _used_ to pick up your patches, but
>> now they don't.
>>
>> I'm not sure what changed. It worked with your big series of 118 patches.
>>
>> It doesn't work with this smaller series of fixes.
>>
>> I think the difference is that you've done something bad to your patch
>> sending. That big series was properly threaded with each of the
>> patches being a reply to the 'incoming' message.
>>
>> This series is not.
>
> This is correct -- each patch is posted without an in-reply-to, so
> public-inbox doesn't group them into a thread.
>
> E.g.:
> https://lore.kernel.org/linux-mm/20200221040350.84HaG%25akpm@linux-foundation.org/
>
>>
>> Please, Andrew, can you make your email flow more consistent so that I
>> can actually use the nice new tool to download a patch series?
>
> Andrew, I'll be happy to provide you with a helper tool if you can
> describe me your workflow. E.g. if you have a quilt directory of patches
> plus a series file, it could easily be a tiny wrapper like:
>
> send-patches --base-commit 1234abcd --cover cover.txt patchdir/series
Once/if there is such tool, could it perhaps instead of mass e-mailing create
git commits, push them to korg repo and send a pull request?
Thanks,
Vlastimil
> -K
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-21 18:21 ` incoming Linus Torvalds
2020-02-21 18:32 ` incoming Konstantin Ryabitsev
@ 2020-02-21 19:33 ` Linus Torvalds
1 sibling, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-02-21 19:33 UTC (permalink / raw)
To: Andrew Morton, Konstantin Ryabitsev; +Cc: Linux-MM, mm-commits
Side note: I've obviously picked it up the old-fashioned way, but I
had been looking forward to seeing if I could just automate this more.
Linus
On Fri, Feb 21, 2020 at 10:21 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Please, Andrew, can you make your email flow more consistent so that I
> can actually use the nice new tool to download a patch series?
>
> Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-02-04 1:33 Andrew Morton
2020-02-04 2:27 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-02-04 1:33 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
The rest of MM and the rest of everything else.
Subsystems affected by this patch series:
hotfixes
mm/pagealloc
mm/memory-hotplug
ipc
misc
mm/cleanups
mm/pagemap
procfs
lib
cleanups
arm
Subsystem: hotfixes
Gang He <GHe@suse.com>:
ocfs2: fix oops when writing cloned file
David Hildenbrand <david@redhat.com>:
Patch series "mm: fix max_pfn not falling on section boundary", v2:
mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section
fs/proc/page.c: allow inspection of last section and fix end detection
mm/page_alloc.c: initialize memmap of unavailable memory directly
Subsystem: mm/pagealloc
David Hildenbrand <david@redhat.com>:
mm/page_alloc: fix and rework pfn handling in memmap_init_zone()
mm: factor out next_present_section_nr()
Subsystem: mm/memory-hotplug
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "mm/memory_hotplug: Shrink zones before removing memory", v6:
mm/memmap_init: update variable name in memmap_init_zone
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: poison memmap in remove_pfn_range_from_zone()
mm/memory_hotplug: we always have a zone in find_(smallest|biggest)_section_pfn
mm/memory_hotplug: don't check for "all holes" in shrink_zone_span()
mm/memory_hotplug: drop local variables in shrink_zone_span()
mm/memory_hotplug: cleanup __remove_pages()
mm/memory_hotplug: drop valid_start/valid_end from test_pages_in_a_zone()
Subsystem: ipc
Manfred Spraul <manfred@colorfullife.com>:
smp_mb__{before,after}_atomic(): update Documentation
Davidlohr Bueso <dave@stgolabs.net>:
ipc/mqueue.c: remove duplicated code
Manfred Spraul <manfred@colorfullife.com>:
ipc/mqueue.c: update/document memory barriers
ipc/msg.c: update and document memory barriers
ipc/sem.c: document and update memory barriers
Lu Shuaibing <shuaibinglu@126.com>:
ipc/msg.c: consolidate all xxxctl_down() functions
drivers/block/null_blk_main.c: fix layout
Subsystem: misc
Andrew Morton <akpm@linux-foundation.org>:
drivers/block/null_blk_main.c: fix layout
drivers/block/null_blk_main.c: fix uninitialized var warnings
Randy Dunlap <rdunlap@infradead.org>:
pinctrl: fix pxa2xx.c build warnings
Subsystem: mm/cleanups
Florian Westphal <fw@strlen.de>:
mm: remove __krealloc
Subsystem: mm/pagemap
Steven Price <steven.price@arm.com>:
Patch series "Generic page walk and ptdump", v17:
mm: add generic p?d_leaf() macros
arc: mm: add p?d_leaf() definitions
arm: mm: add p?d_leaf() definitions
arm64: mm: add p?d_leaf() definitions
mips: mm: add p?d_leaf() definitions
powerpc: mm: add p?d_leaf() definitions
riscv: mm: add p?d_leaf() definitions
s390: mm: add p?d_leaf() definitions
sparc: mm: add p?d_leaf() definitions
x86: mm: add p?d_leaf() definitions
mm: pagewalk: add p4d_entry() and pgd_entry()
mm: pagewalk: allow walking without vma
mm: pagewalk: don't lock PTEs for walk_page_range_novma()
mm: pagewalk: fix termination condition in walk_pte_range()
mm: pagewalk: add 'depth' parameter to pte_hole
x86: mm: point to struct seq_file from struct pg_state
x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct
x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct
mm: add generic ptdump
x86: mm: convert dump_pagetables to use walk_page_range
arm64: mm: convert mm/dump.c to use walk_page_range()
arm64: mm: display non-present entries in ptdump
mm: ptdump: reduce level numbers by 1 in note_page()
x86: mm: avoid allocating struct mm_struct on the stack
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "Fixup page directory freeing", v4:
powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case
Peter Zijlstra <peterz@infradead.org>:
mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
asm-generic/tlb: avoid potential double flush
asm-gemeric/tlb: remove stray function declarations
asm-generic/tlb: add missing CONFIG symbol
asm-generic/tlb: rename HAVE_RCU_TABLE_FREE
asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE
asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER
asm-generic/tlb: provide MMU_GATHER_TABLE_FREE
Subsystem: procfs
Alexey Dobriyan <adobriyan@gmail.com>:
proc: decouple proc from VFS with "struct proc_ops"
proc: convert everything to "struct proc_ops"
Subsystem: lib
Yury Norov <yury.norov@gmail.com>:
Patch series "lib: rework bitmap_parse", v5:
lib/string: add strnchrnul()
bitops: more BITS_TO_* macros
lib: add test for bitmap_parse()
lib: make bitmap_parse_user a wrapper on bitmap_parse
lib: rework bitmap_parse()
lib: new testcases for bitmap_parse{_user}
include/linux/cpumask.h: don't calculate length of the input string
Subsystem: cleanups
Masahiro Yamada <masahiroy@kernel.org>:
treewide: remove redundant IS_ERR() before error code check
Subsystem: arm
Chen-Yu Tsai <wens@csie.org>:
ARM: dma-api: fix max_pfn off-by-one error in __dma_supported()
Documentation/memory-barriers.txt | 14
arch/Kconfig | 17
arch/alpha/kernel/srm_env.c | 17
arch/arc/include/asm/pgtable.h | 1
arch/arm/Kconfig | 2
arch/arm/include/asm/pgtable-2level.h | 1
arch/arm/include/asm/pgtable-3level.h | 1
arch/arm/include/asm/tlb.h | 6
arch/arm/kernel/atags_proc.c | 8
arch/arm/mm/alignment.c | 14
arch/arm/mm/dma-mapping.c | 2
arch/arm64/Kconfig | 3
arch/arm64/Kconfig.debug | 19
arch/arm64/include/asm/pgtable.h | 2
arch/arm64/include/asm/ptdump.h | 8
arch/arm64/mm/Makefile | 4
arch/arm64/mm/dump.c | 152 ++----
arch/arm64/mm/mmu.c | 4
arch/arm64/mm/ptdump_debugfs.c | 2
arch/ia64/kernel/salinfo.c | 24 -
arch/m68k/kernel/bootinfo_proc.c | 8
arch/mips/include/asm/pgtable.h | 5
arch/mips/lasat/picvue_proc.c | 31 -
arch/powerpc/Kconfig | 7
arch/powerpc/include/asm/book3s/32/pgalloc.h | 8
arch/powerpc/include/asm/book3s/64/pgalloc.h | 2
arch/powerpc/include/asm/book3s/64/pgtable.h | 3
arch/powerpc/include/asm/nohash/pgalloc.h | 8
arch/powerpc/include/asm/tlb.h | 11
arch/powerpc/kernel/proc_powerpc.c | 10
arch/powerpc/kernel/rtas-proc.c | 70 +--
arch/powerpc/kernel/rtas_flash.c | 34 -
arch/powerpc/kernel/rtasd.c | 14
arch/powerpc/mm/book3s64/pgtable.c | 7
arch/powerpc/mm/numa.c | 12
arch/powerpc/platforms/pseries/lpar.c | 24 -
arch/powerpc/platforms/pseries/lparcfg.c | 14
arch/powerpc/platforms/pseries/reconfig.c | 8
arch/powerpc/platforms/pseries/scanlog.c | 15
arch/riscv/include/asm/pgtable-64.h | 7
arch/riscv/include/asm/pgtable.h | 7
arch/s390/Kconfig | 4
arch/s390/include/asm/pgtable.h | 2
arch/sh/mm/alignment.c | 17
arch/sparc/Kconfig | 3
arch/sparc/include/asm/pgtable_64.h | 2
arch/sparc/include/asm/tlb_64.h | 11
arch/sparc/kernel/led.c | 15
arch/um/drivers/mconsole_kern.c | 9
arch/um/kernel/exitcode.c | 15
arch/um/kernel/process.c | 15
arch/x86/Kconfig | 3
arch/x86/Kconfig.debug | 20
arch/x86/include/asm/pgtable.h | 10
arch/x86/include/asm/tlb.h | 4
arch/x86/kernel/cpu/mtrr/if.c | 21
arch/x86/mm/Makefile | 4
arch/x86/mm/debug_pagetables.c | 18
arch/x86/mm/dump_pagetables.c | 418 +++++-------------
arch/x86/platform/efi/efi_32.c | 2
arch/x86/platform/efi/efi_64.c | 4
arch/x86/platform/uv/tlb_uv.c | 14
arch/xtensa/platforms/iss/simdisk.c | 10
crypto/af_alg.c | 2
drivers/acpi/battery.c | 15
drivers/acpi/proc.c | 15
drivers/acpi/scan.c | 2
drivers/base/memory.c | 9
drivers/block/null_blk_main.c | 58 +-
drivers/char/hw_random/bcm2835-rng.c | 2
drivers/char/hw_random/omap-rng.c | 4
drivers/clk/clk.c | 2
drivers/dma/mv_xor_v2.c | 2
drivers/firmware/efi/arm-runtime.c | 2
drivers/gpio/gpiolib-devres.c | 2
drivers/gpio/gpiolib-of.c | 8
drivers/gpio/gpiolib.c | 2
drivers/hwmon/dell-smm-hwmon.c | 15
drivers/i2c/busses/i2c-mv64xxx.c | 5
drivers/i2c/busses/i2c-synquacer.c | 2
drivers/ide/ide-proc.c | 19
drivers/input/input.c | 28 -
drivers/isdn/capi/kcapi_proc.c | 6
drivers/macintosh/via-pmu.c | 17
drivers/md/md.c | 15
drivers/misc/sgi-gru/gruprocfs.c | 42 -
drivers/mtd/ubi/build.c | 2
drivers/net/wireless/cisco/airo.c | 126 ++---
drivers/net/wireless/intel/ipw2x00/libipw_module.c | 15
drivers/net/wireless/intersil/hostap/hostap_hw.c | 4
drivers/net/wireless/intersil/hostap/hostap_proc.c | 14
drivers/net/wireless/intersil/hostap/hostap_wlan.h | 2
drivers/net/wireless/ray_cs.c | 20
drivers/of/device.c | 2
drivers/parisc/led.c | 17
drivers/pci/controller/pci-tegra.c | 2
drivers/pci/proc.c | 25 -
drivers/phy/phy-core.c | 4
drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 1
drivers/platform/x86/thinkpad_acpi.c | 15
drivers/platform/x86/toshiba_acpi.c | 60 +-
drivers/pnp/isapnp/proc.c | 9
drivers/pnp/pnpbios/proc.c | 17
drivers/s390/block/dasd_proc.c | 15
drivers/s390/cio/blacklist.c | 14
drivers/s390/cio/css.c | 11
drivers/scsi/esas2r/esas2r_main.c | 9
drivers/scsi/scsi_devinfo.c | 15
drivers/scsi/scsi_proc.c | 29 -
drivers/scsi/sg.c | 30 -
drivers/spi/spi-orion.c | 3
drivers/staging/rtl8192u/ieee80211/ieee80211_module.c | 14
drivers/tty/sysrq.c | 8
drivers/usb/gadget/function/rndis.c | 17
drivers/video/fbdev/imxfb.c | 2
drivers/video/fbdev/via/viafbdev.c | 105 ++--
drivers/zorro/proc.c | 9
fs/cifs/cifs_debug.c | 108 ++--
fs/cifs/dfs_cache.c | 13
fs/cifs/dfs_cache.h | 2
fs/ext4/super.c | 2
fs/f2fs/node.c | 2
fs/fscache/internal.h | 2
fs/fscache/object-list.c | 11
fs/fscache/proc.c | 2
fs/jbd2/journal.c | 13
fs/jfs/jfs_debug.c | 14
fs/lockd/procfs.c | 12
fs/nfsd/nfsctl.c | 13
fs/nfsd/stats.c | 12
fs/ocfs2/file.c | 14
fs/ocfs2/suballoc.c | 2
fs/proc/cpuinfo.c | 12
fs/proc/generic.c | 38 -
fs/proc/inode.c | 76 +--
fs/proc/internal.h | 5
fs/proc/kcore.c | 13
fs/proc/kmsg.c | 14
fs/proc/page.c | 54 +-
fs/proc/proc_net.c | 32 -
fs/proc/proc_sysctl.c | 2
fs/proc/root.c | 2
fs/proc/stat.c | 12
fs/proc/task_mmu.c | 4
fs/proc/vmcore.c | 10
fs/sysfs/group.c | 2
include/asm-generic/pgtable.h | 20
include/asm-generic/tlb.h | 138 +++--
include/linux/bitmap.h | 8
include/linux/bitops.h | 4
include/linux/cpumask.h | 4
include/linux/memory_hotplug.h | 4
include/linux/mm.h | 6
include/linux/mmzone.h | 10
include/linux/pagewalk.h | 49 +-
include/linux/proc_fs.h | 23
include/linux/ptdump.h | 24 -
include/linux/seq_file.h | 13
include/linux/slab.h | 1
include/linux/string.h | 1
include/linux/sunrpc/stats.h | 4
ipc/mqueue.c | 123 ++++-
ipc/msg.c | 62 +-
ipc/sem.c | 66 +-
ipc/util.c | 14
kernel/configs.c | 9
kernel/irq/proc.c | 42 -
kernel/kallsyms.c | 12
kernel/latencytop.c | 14
kernel/locking/lockdep_proc.c | 15
kernel/module.c | 12
kernel/profile.c | 24 -
kernel/sched/psi.c | 48 +-
lib/bitmap.c | 195 ++++----
lib/string.c | 17
lib/test_bitmap.c | 105 ++++
mm/Kconfig.debug | 21
mm/Makefile | 1
mm/gup.c | 2
mm/hmm.c | 66 +-
mm/memory_hotplug.c | 104 +---
mm/memremap.c | 2
mm/migrate.c | 5
mm/mincore.c | 1
mm/mmu_gather.c | 158 ++++--
mm/page_alloc.c | 75 +--
mm/pagewalk.c | 167 +++++--
mm/ptdump.c | 159 ++++++
mm/slab_common.c | 37 -
mm/sparse.c | 10
mm/swapfile.c | 14
net/atm/mpoa_proc.c | 17
net/atm/proc.c | 8
net/core/dev.c | 2
net/core/filter.c | 2
net/core/pktgen.c | 44 -
net/ipv4/ipconfig.c | 10
net/ipv4/netfilter/ipt_CLUSTERIP.c | 16
net/ipv4/route.c | 24 -
net/netfilter/xt_recent.c | 17
net/sunrpc/auth_gss/svcauth_gss.c | 10
net/sunrpc/cache.c | 45 -
net/sunrpc/stats.c | 21
net/xfrm/xfrm_policy.c | 2
samples/kfifo/bytestream-example.c | 11
samples/kfifo/inttype-example.c | 11
samples/kfifo/record-example.c | 11
scripts/coccinelle/free/devm_free.cocci | 4
sound/core/info.c | 34 -
sound/soc/codecs/ak4104.c | 3
sound/soc/codecs/cs4270.c | 3
sound/soc/codecs/tlv320aic32x4.c | 6
sound/soc/sunxi/sun4i-spdif.c | 2
tools/include/linux/bitops.h | 9
214 files changed, 2589 insertions(+), 2227 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-04 1:33 incoming Andrew Morton
@ 2020-02-04 2:27 ` Linus Torvalds
2020-02-04 2:46 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2020-02-04 2:27 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Tue, Feb 4, 2020 at 1:33 AM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> The rest of MM and the rest of everything else.
What's the base? You've changed your scripts or something, and that
information is no longer in your cover letter..
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-04 2:27 ` incoming Linus Torvalds
@ 2020-02-04 2:46 ` Andrew Morton
2020-02-04 3:11 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2020-02-04 2:46 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, Linux-MM
On Tue, 4 Feb 2020 02:27:48 +0000 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, Feb 4, 2020 at 1:33 AM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > The rest of MM and the rest of everything else.
>
> What's the base? You've changed your scripts or something, and that
> information is no longer in your cover letter..
>
Crap, sorry, geriatric.
d4e9056daedca3891414fe3c91de3449a5dad0f2
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2020-02-04 2:46 ` incoming Andrew Morton
@ 2020-02-04 3:11 ` Linus Torvalds
0 siblings, 0 replies; 325+ messages in thread
From: Linus Torvalds @ 2020-02-04 3:11 UTC (permalink / raw)
To: Andrew Morton; +Cc: mm-commits, Linux-MM
On Tue, Feb 4, 2020 at 2:46 AM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> On Tue, 4 Feb 2020 02:27:48 +0000 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> > What's the base? You've changed your scripts or something, and that
> > information is no longer in your cover letter..
>
> Crap, sorry, geriatric.
>
> d4e9056daedca3891414fe3c91de3449a5dad0f2
Ok, I've tentatively applied it with the MIME decoding fixes I found,
and I'll guess I'll let it build and sit for a while before merging it
into my tree.
I didn't find anything else odd in there. But...
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-01-31 6:10 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-01-31 6:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
Most of -mm and quite a number of other subsystems.
MM is fairly quiet this time. Holidays, I assume.
119 patches, based on 39bed42de2e7d74686a2d5a45638d6a5d7e7d473:
Subsystems affected by this patch series:
hotfixes
scripts
ocfs2
mm/slub
mm/kmemleak
mm/debug
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/tracing
mm/kasan
mm/initialization
mm/pagealloc
mm/vmscan
mm/tools
mm/memblock
mm/oom-kill
mm/hugetlb
mm/migration
mm/mmap
mm/memory-hotplug
mm/zswap
mm/cleanups
mm/zram
misc
lib
binfmt
init
reiserfs
exec
dma-mapping
kcov
Subsystem: hotfixes
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
lib/test_bitmap: correct test data offsets for 32-bit
"Theodore Ts'o" <tytso@mit.edu>:
memcg: fix a crash in wb_workfn when a device disappears
Dan Carpenter <dan.carpenter@oracle.com>:
mm/mempolicy.c: fix out of bounds write in mpol_parse_str()
Pingfan Liu <kernelfans@gmail.com>:
mm/sparse.c: reset section's mem_map when fully deactivated
Wei Yang <richardw.yang@linux.intel.com>:
mm/migrate.c: also overwrite error when it is bigger than zero
Dan Williams <dan.j.williams@intel.com>:
mm/memory_hotplug: fix remove_memory() lockdep splat
Wei Yang <richardw.yang@linux.intel.com>:
mm: thp: don't need care deferred split queue in memcg charge move path
Yang Shi <yang.shi@linux.alibaba.com>:
mm: move_pages: report the number of non-attempted pages
Subsystem: scripts
Xiong <xndchn@gmail.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Luca Ceresoli <luca@lucaceresoli.net>:
scripts/spelling.txt: add "issus" typo
Subsystem: ocfs2
Aditya Pakki <pakki001@umn.edu>:
fs: ocfs: remove unnecessary assertion in dlm_migrate_lockres
zhengbin <zhengbin13@huawei.com>:
ocfs2: remove unneeded semicolons
Masahiro Yamada <masahiroy@kernel.org>:
ocfs2: make local header paths relative to C files
Colin Ian King <colin.king@canonical.com>:
ocfs2/dlm: remove redundant assignment to ret
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use
wangyan <wangyan122@huawei.com>:
ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
ocfs2: use ocfs2_update_inode_fsync_trans() to access t_tid in handle->h_transaction
Subsystem: mm/slub
Yu Zhao <yuzhao@google.com>:
mm/slub.c: avoid slub allocation while holding list_lock
Subsystem: mm/kmemleak
He Zhe <zhe.he@windriver.com>:
mm/kmemleak: turn kmemleak_lock and object->lock to raw_spinlock_t
Subsystem: mm/debug
Vlastimil Babka <vbabka@suse.cz>:
mm/debug.c: always print flags in dump_page()
Subsystem: mm/pagecache
Ira Weiny <ira.weiny@intel.com>:
mm/filemap.c: clean up filemap_write_and_wait()
Subsystem: mm/gup
Qiujun Huang <hqjagain@gmail.com>:
mm: fix gup_pud_range
Wei Yang <richardw.yang@linux.intel.com>:
mm/gup.c: use is_vm_hugetlb_page() to check whether to follow huge
John Hubbard <jhubbard@nvidia.com>:
Patch series "mm/gup: prereqs to track dma-pinned pages: FOLL_PIN", v12:
mm/gup: factor out duplicate code from four routines
mm/gup: move try_get_compound_head() to top, fix minor issues
Dan Williams <dan.j.williams@intel.com>:
mm: Cleanup __put_devmap_managed_page() vs ->page_free()
John Hubbard <jhubbard@nvidia.com>:
mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages
goldish_pipe: rename local pin_user_pages() routine
mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM
vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call
mm/gup: allow FOLL_FORCE for get_user_pages_fast()
IB/umem: use get_user_pages_fast() to pin DMA pages
media/v4l2-core: set pages dirty upon releasing DMA buffers
mm/gup: introduce pin_user_pages*() and FOLL_PIN
goldish_pipe: convert to pin_user_pages() and put_user_page()
IB/{core,hw,umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP
mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote()
drm/via: set FOLL_PIN via pin_user_pages_fast()
fs/io_uring: set FOLL_PIN via pin_user_pages()
net/xdp: set FOLL_PIN via pin_user_pages()
media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion
vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion
powerpc: book3s64: convert to pin_user_pages() and put_user_page()
mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1"
mm, tree-wide: rename put_user_page*() to unpin_user_page*()
Subsystem: mm/swap
Vasily Averin <vvs@virtuozzo.com>:
mm/swapfile.c: swap_next should increase position index
Subsystem: mm/memcg
Kaitao Cheng <pilgrimtao@gmail.com>:
mm/memcontrol.c: cleanup some useless code
Subsystem: mm/pagemap
Li Xinhai <lixinhai.lxh@gmail.com>:
mm/page_vma_mapped.c: explicitly compare pfn for normal, hugetlbfs and THP page
Subsystem: mm/tracing
Junyong Sun <sunjy516@gmail.com>:
mm, tracing: print symbol name for kmem_alloc_node call_site events
Subsystem: mm/kasan
"Gustavo A. R. Silva" <gustavo@embeddedor.com>:
lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
Subsystem: mm/initialization
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
mm/early_ioremap.c: use %pa to print resource_size_t variables
Subsystem: mm/pagealloc
"Kirill A. Shutemov" <kirill@shutemov.name>:
mm/page_alloc: skip non present sections on zone initialization
David Hildenbrand <david@redhat.com>:
mm: remove the memory isolate notifier
mm: remove "count" parameter from has_unmovable_pages()
Subsystem: mm/vmscan
Liu Song <liu.song11@zte.com.cn>:
mm/vmscan.c: remove unused return value of shrink_node
Alex Shi <alex.shi@linux.alibaba.com>:
mm/vmscan: remove prefetch_prev_lru_page
mm/vmscan: remove unused RECLAIM_OFF/RECLAIM_ZONE
Subsystem: mm/tools
Daniel Wagner <dwagner@suse.de>:
tools/vm/slabinfo: fix sanity checks enabling
Subsystem: mm/memblock
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/memblock: define memblock_physmem_add()
memblock: Use __func__ in remaining memblock_dbg() call sites
Subsystem: mm/oom-kill
David Rientjes <rientjes@google.com>:
mm, oom: dump stack of victim when reaping failed
Subsystem: mm/hugetlb
Wei Yang <richardw.yang@linux.intel.com>:
mm/huge_memory.c: use head to check huge zero page
mm/huge_memory.c: use head to emphasize the purpose of page
mm/huge_memory.c: reduce critical section protected by split_queue_lock
Subsystem: mm/migration
Ralph Campbell <rcampbell@nvidia.com>:
mm/migrate: remove useless mask of start address
mm/migrate: clean up some minor coding style
mm/migrate: add stable check in migrate_vma_insert_page()
David Rientjes <rientjes@google.com>:
mm, thp: fix defrag setting if newline is not used
Subsystem: mm/mmap
Miaohe Lin <linmiaohe@huawei.com>:
mm/mmap.c: get rid of odd jump labels in find_mergeable_anon_vma()
Subsystem: mm/memory-hotplug
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: pass in nid to online_pages()":
mm/memory_hotplug: pass in nid to online_pages()
Qian Cai <cai@lca.pw>:
mm/hotplug: silence a lockdep splat with printk()
mm/page_isolation: fix potential warning from user
Subsystem: mm/zswap
Vitaly Wool <vitaly.wool@konsulko.com>:
mm/zswap.c: add allocation hysteresis if pool limit is hit
Dan Carpenter <dan.carpenter@oracle.com>:
zswap: potential NULL dereference on error in init_zswap()
Subsystem: mm/cleanups
Yu Zhao <yuzhao@google.com>:
include/linux/mm.h: clean up obsolete check on space in page->flags
Wei Yang <richardw.yang@linux.intel.com>:
include/linux/mm.h: remove dead code totalram_pages_set()
Anshuman Khandual <anshuman.khandual@arm.com>:
include/linux/memory.h: drop fields 'hw' and 'phys_callback' from struct memory_block
Hao Lee <haolee.swjtu@gmail.com>:
mm: fix comments related to node reclaim
Subsystem: mm/zram
Taejoon Song <taejoon.song@lge.com>:
zram: try to avoid worst-case scenario on same element pages
Colin Ian King <colin.king@canonical.com>:
drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store
Subsystem: misc
Akinobu Mita <akinobu.mita@gmail.com>:
Patch series "add header file for kelvin to/from Celsius conversion:
include/linux/units.h: add helpers for kelvin to/from Celsius conversion
ACPI: thermal: switch to use <linux/units.h> helpers
platform/x86: asus-wmi: switch to use <linux/units.h> helpers
platform/x86: intel_menlow: switch to use <linux/units.h> helpers
thermal: int340x: switch to use <linux/units.h> helpers
thermal: intel_pch: switch to use <linux/units.h> helpers
nvme: hwmon: switch to use <linux/units.h> helpers
thermal: remove kelvin to/from Celsius conversion helpers from <linux/thermal.h>
iwlegacy: use <linux/units.h> helpers
iwlwifi: use <linux/units.h> helpers
thermal: armada: remove unused TO_MCELSIUS macro
iio: adc: qcom-vadc-common: use <linux/units.h> helpers
Subsystem: lib
Mikhail Zaslonko <zaslonko@linux.ibm.com>:
Patch series "S390 hardware support for kernel zlib", v3:
lib/zlib: add s390 hardware support for kernel zlib_deflate
s390/boot: rename HEAP_SIZE due to name collision
lib/zlib: add s390 hardware support for kernel zlib_inflate
s390/boot: add dfltcc= kernel command line parameter
lib/zlib: add zlib_deflate_dfltcc_enabled() function
btrfs: use larger zlib buffer for s390 hardware compression
Nathan Chancellor <natechancellor@gmail.com>:
lib/scatterlist.c: adjust indentation in __sg_alloc_table
Yury Norov <yury.norov@gmail.com>:
uapi: rename ext2_swab() to swab() and share globally in swab.h
lib/find_bit.c: join _find_next_bit{_le}
lib/find_bit.c: uninline helper _find_next_bit()
Subsystem: binfmt
Alexey Dobriyan <adobriyan@gmail.com>:
fs/binfmt_elf.c: smaller code generation around auxv vector fill
fs/binfmt_elf.c: fix ->start_code calculation
fs/binfmt_elf.c: don't copy ELF header around
fs/binfmt_elf.c: better codegen around current->mm
fs/binfmt_elf.c: make BAD_ADDR() unlikely
fs/binfmt_elf.c: coredump: allocate core ELF header on stack
fs/binfmt_elf.c: coredump: delete duplicated overflow check
fs/binfmt_elf.c: coredump: allow process with empty address space to coredump
Subsystem: init
Arvind Sankar <nivedita@alum.mit.edu>:
init/main.c: log arguments and environment passed to init
init/main.c: remove unnecessary repair_env_string in do_initcall_level
Patch series "init/main.c: minor cleanup/bugfix of envvar handling", v2:
init/main.c: fix quoted value handling in unknown_bootoption
Christophe Leroy <christophe.leroy@c-s.fr>:
init/main.c: fix misleading "This architecture does not have kernel memory protection" message
Subsystem: reiserfs
Yunfeng Ye <yeyunfeng@huawei.com>:
reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
Subsystem: exec
Alexey Dobriyan <adobriyan@gmail.com>:
execve: warn if process starts with executable stack
Subsystem: dma-mapping
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
include/linux/io-mapping.h-mapping: use PHYS_PFN() macro in io_mapping_map_atomic_wc()
Subsystem: kcov
Dmitry Vyukov <dvyukov@google.com>:
kcov: ignore fault-inject and stacktrace
Documentation/admin-guide/kernel-parameters.txt | 12
Documentation/core-api/index.rst | 1
Documentation/core-api/pin_user_pages.rst | 234 +++++
Documentation/vm/zswap.rst | 13
arch/powerpc/mm/book3s64/iommu_api.c | 14
arch/s390/boot/compressed/decompressor.c | 8
arch/s390/boot/ipl_parm.c | 14
arch/s390/include/asm/setup.h | 7
arch/s390/kernel/setup.c | 14
drivers/acpi/thermal.c | 34
drivers/base/memory.c | 25
drivers/block/zram/zram_drv.c | 10
drivers/gpu/drm/via/via_dmablit.c | 6
drivers/iio/adc/qcom-vadc-common.c | 6
drivers/iio/adc/qcom-vadc-common.h | 1
drivers/infiniband/core/umem.c | 21
drivers/infiniband/core/umem_odp.c | 13
drivers/infiniband/hw/hfi1/user_pages.c | 4
drivers/infiniband/hw/mthca/mthca_memfree.c | 8
drivers/infiniband/hw/qib/qib_user_pages.c | 4
drivers/infiniband/hw/qib/qib_user_sdma.c | 8
drivers/infiniband/hw/usnic/usnic_uiom.c | 4
drivers/infiniband/sw/siw/siw_mem.c | 4
drivers/media/v4l2-core/videobuf-dma-sg.c | 20
drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h | 1
drivers/net/wireless/intel/iwlegacy/4965-mac.c | 3
drivers/net/wireless/intel/iwlegacy/4965.c | 17
drivers/net/wireless/intel/iwlegacy/common.h | 3
drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 5
drivers/net/wireless/intel/iwlwifi/dvm/devices.c | 6
drivers/nvdimm/pmem.c | 6
drivers/nvme/host/hwmon.c | 13
drivers/platform/goldfish/goldfish_pipe.c | 39
drivers/platform/x86/asus-wmi.c | 7
drivers/platform/x86/intel_menlow.c | 9
drivers/thermal/armada_thermal.c | 2
drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c | 7
drivers/thermal/intel/intel_pch_thermal.c | 3
drivers/vfio/vfio_iommu_type1.c | 39
fs/binfmt_elf.c | 154 +--
fs/btrfs/compression.c | 2
fs/btrfs/zlib.c | 135 ++
fs/exec.c | 5
fs/fs-writeback.c | 2
fs/io_uring.c | 6
fs/ocfs2/cluster/quorum.c | 2
fs/ocfs2/dlm/Makefile | 2
fs/ocfs2/dlm/dlmast.c | 8
fs/ocfs2/dlm/dlmcommon.h | 4
fs/ocfs2/dlm/dlmconvert.c | 8
fs/ocfs2/dlm/dlmdebug.c | 8
fs/ocfs2/dlm/dlmdomain.c | 8
fs/ocfs2/dlm/dlmlock.c | 8
fs/ocfs2/dlm/dlmmaster.c | 10
fs/ocfs2/dlm/dlmrecovery.c | 10
fs/ocfs2/dlm/dlmthread.c | 8
fs/ocfs2/dlm/dlmunlock.c | 8
fs/ocfs2/dlmfs/Makefile | 2
fs/ocfs2/dlmfs/dlmfs.c | 4
fs/ocfs2/dlmfs/userdlm.c | 6
fs/ocfs2/dlmglue.c | 2
fs/ocfs2/journal.h | 8
fs/ocfs2/namei.c | 3
fs/reiserfs/stree.c | 3
include/linux/backing-dev.h | 10
include/linux/bitops.h | 1
include/linux/fs.h | 6
include/linux/io-mapping.h | 5
include/linux/memblock.h | 7
include/linux/memory.h | 29
include/linux/memory_hotplug.h | 3
include/linux/mm.h | 116 +-
include/linux/mmzone.h | 2
include/linux/page-isolation.h | 8
include/linux/swab.h | 1
include/linux/thermal.h | 11
include/linux/units.h | 84 +
include/linux/zlib.h | 6
include/trace/events/kmem.h | 4
include/trace/events/writeback.h | 37
include/uapi/linux/swab.h | 10
include/uapi/linux/sysctl.h | 2
init/main.c | 36
kernel/Makefile | 1
lib/Kconfig | 7
lib/Makefile | 2
lib/decompress_inflate.c | 13
lib/find_bit.c | 82 -
lib/scatterlist.c | 2
lib/test_bitmap.c | 9
lib/test_kasan.c | 1
lib/zlib_deflate/deflate.c | 85 +
lib/zlib_deflate/deflate_syms.c | 1
lib/zlib_deflate/deftree.c | 54 -
lib/zlib_deflate/defutil.h | 134 ++
lib/zlib_dfltcc/Makefile | 13
lib/zlib_dfltcc/dfltcc.c | 57 +
lib/zlib_dfltcc/dfltcc.h | 155 +++
lib/zlib_dfltcc/dfltcc_deflate.c | 280 ++++++
lib/zlib_dfltcc/dfltcc_inflate.c | 149 +++
lib/zlib_dfltcc/dfltcc_syms.c | 17
lib/zlib_dfltcc/dfltcc_util.h | 123 ++
lib/zlib_inflate/inflate.c | 32
lib/zlib_inflate/inflate.h | 8
lib/zlib_inflate/infutil.h | 18
mm/Makefile | 1
mm/backing-dev.c | 1
mm/debug.c | 18
mm/early_ioremap.c | 8
mm/filemap.c | 34
mm/gup.c | 503 ++++++-----
mm/gup_benchmark.c | 9
mm/huge_memory.c | 44
mm/kmemleak.c | 112 +-
mm/memblock.c | 22
mm/memcontrol.c | 25
mm/memory_hotplug.c | 24
mm/mempolicy.c | 6
mm/memremap.c | 95 --
mm/migrate.c | 77 +
mm/mmap.c | 30
mm/oom_kill.c | 2
mm/page_alloc.c | 83 +
mm/page_isolation.c | 69 -
mm/page_vma_mapped.c | 12
mm/process_vm_access.c | 32
mm/slub.c | 88 +
mm/sparse.c | 2
mm/swap.c | 27
mm/swapfile.c | 2
mm/vmscan.c | 24
mm/zswap.c | 88 +
net/xdp/xdp_umem.c | 4
scripts/spelling.txt | 14
tools/testing/selftests/vm/gup_benchmark.c | 6
tools/vm/slabinfo.c | 4
136 files changed, 2790 insertions(+), 1358 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-01-14 0:28 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-01-14 0:28 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
11 MM fixes, based on b3a987b0264d3ddbb24293ebff10eddfc472f653:
Vlastimil Babka <vbabka@suse.cz>:
mm, thp: tweak reclaim/compaction effort of local-only and all-node allocations
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: don't free usage map when removing a re-added early section
"Kirill A. Shutemov" <kirill@shutemov.name>:
Patch series "Fix two above-47bit hint address vs. THP bugs":
mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment
mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: fix percpu slab vmstats flushing
Vlastimil Babka <vbabka@suse.cz>:
mm, debug_pagealloc: don't rely on static keys too early
Wen Yang <wenyang@linux.alibaba.com>:
Patch series "use div64_ul() instead of div_u64() if the divisor is:
mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
mm/page-writeback.c: use div64_ul() for u64-by-unsigned-long divide
mm/page-writeback.c: improve arithmetic divisions
Adrian Huang <ahuang12@lenovo.com>:
mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid
Yang Shi <yang.shi@linux.alibaba.com>:
mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE
include/linux/mm.h | 18 +++++++++-
include/linux/mmzone.h | 5 +--
include/trace/events/huge_memory.h | 3 +
init/main.c | 1
mm/huge_memory.c | 38 ++++++++++++++---------
mm/memcontrol.c | 37 +++++-----------------
mm/mempolicy.c | 10 ++++--
mm/page-writeback.c | 10 +++---
mm/page_alloc.c | 61 ++++++++++---------------------------
mm/shmem.c | 7 ++--
mm/slab.c | 4 +-
mm/slab_common.c | 3 +
mm/slub.c | 2 -
mm/sparse.c | 9 ++++-
mm/vmalloc.c | 4 +-
15 files changed, 102 insertions(+), 110 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2020-01-04 20:55 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2020-01-04 20:55 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
17 fixes, base on 5613970af3f5f8372c596b138bd64f3918513515:
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: shrink zones when offlining memory
Chanho Min <chanho.min@lge.com>:
mm/zsmalloc.c: fix the migrated zspage statistics.
Andrey Konovalov <andreyknvl@google.com>:
kcov: fix struct layout for kcov_remote_arg
Shakeel Butt <shakeelb@google.com>:
memcg: account security cred as well to kmemcg
Yang Shi <yang.shi@linux.alibaba.com>:
mm: move_pages: return valid node id in status if the page is already on the target node
Eric Biggers <ebiggers@google.com>:
fs/direct-io.c: include fs/internal.h for missing prototype
fs/nsfs.c: include headers for missing declarations
fs/namespace.c: make to_mnt_ns() static
Nick Desaulniers <ndesaulniers@google.com>:
hexagon: parenthesize registers in asm predicates
hexagon: work around compiler crash
Randy Dunlap <rdunlap@infradead.org>:
fs/posix_acl.c: fix kernel-doc warnings
Ilya Dryomov <idryomov@gmail.com>:
mm/oom: fix pgtables units mismatch in Killed process message
Navid Emamdoost <navid.emamdoost@gmail.com>:
mm/gup: fix memory leak in __gup_benchmark_ioctl
Waiman Long <longman@redhat.com>:
mm/hugetlb: defer freeing of huge pages if in non-task context
Kai Li <li.kai4@h3c.com>:
ocfs2: call journal flush to mark journal as empty after journal recovery when mount
Gang He <GHe@suse.com>:
ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less
Nick Desaulniers <ndesaulniers@google.com>:
hexagon: define ioremap_uc
Documentation/dev-tools/kcov.rst | 10 +++----
arch/arm64/mm/mmu.c | 4 --
arch/hexagon/include/asm/atomic.h | 8 ++---
arch/hexagon/include/asm/bitops.h | 8 ++---
arch/hexagon/include/asm/cmpxchg.h | 2 -
arch/hexagon/include/asm/futex.h | 6 ++--
arch/hexagon/include/asm/io.h | 1
arch/hexagon/include/asm/spinlock.h | 20 +++++++-------
arch/hexagon/kernel/stacktrace.c | 4 --
arch/hexagon/kernel/vm_entry.S | 2 -
arch/ia64/mm/init.c | 4 --
arch/powerpc/mm/mem.c | 3 --
arch/s390/mm/init.c | 4 --
arch/sh/mm/init.c | 4 --
arch/x86/mm/init_32.c | 4 --
arch/x86/mm/init_64.c | 4 --
fs/direct-io.c | 2 +
fs/namespace.c | 2 -
fs/nsfs.c | 3 ++
fs/ocfs2/dlmglue.c | 1
fs/ocfs2/journal.c | 8 +++++
fs/posix_acl.c | 7 +++-
include/linux/memory_hotplug.h | 7 +++-
include/uapi/linux/kcov.h | 10 +++----
kernel/cred.c | 6 ++--
mm/gup_benchmark.c | 8 ++++-
mm/hugetlb.c | 51 +++++++++++++++++++++++++++++++++++-
mm/memory_hotplug.c | 31 +++++++++++----------
mm/memremap.c | 2 -
mm/migrate.c | 23 ++++++++++++----
mm/oom_kill.c | 2 -
mm/zsmalloc.c | 5 +++
32 files changed, 166 insertions(+), 90 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-12-18 4:50 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-12-18 4:50 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-mm, mm-commits
6 fixes based on 2187f215ebaac73ddbd814696d7c7fa34f0c3de0:
Andrey Ryabinin <aryabinin@virtuozzo.com>:
kasan: fix crashes on access to memory mapped by vm_map_ram()
Daniel Axtens <dja@axtens.net>:
mm/memory.c: add apply_to_existing_page_range() helper
kasan: use apply_to_existing_page_range() for releasing vmalloc shadow
kasan: don't assume percpu shadow allocations will succeed
Yang Shi <yang.shi@linux.alibaba.com>:
mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG
Changbin Du <changbin.du@gmail.com>:
lib/Kconfig.debug: fix some messed up configurations
include/linux/kasan.h | 15 +++--
include/linux/mm.h | 3 +
lib/Kconfig.debug | 100 ++++++++++++++++++------------------
mm/kasan/common.c | 36 ++++++++-----
mm/memory.c | 136 ++++++++++++++++++++++++++++++++++----------------
mm/vmalloc.c | 133 ++++++++++++++++++++++++++++--------------------
mm/vmscan.c | 2
7 files changed, 260 insertions(+), 165 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-12-05 0:48 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-12-05 0:48 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
Most of the rest of MM and various other things. Some Kconfig rework
still awaits merges of dependent trees from linux-next.
86 patches, based on 63de37476ebd1e9bab6a9e17186dc5aa1da9ea99.
Subsystems affected by this patch series:
mm/hotfixes
mm/memcg
mm/vmstat
mm/thp
procfs
sysctl
misc
notifiers
core-kernel
bitops
lib
checkpatch
epoll
binfmt
init
rapidio
uaccess
kcov
ubsan
ipc
bitmap
mm/pagemap
Subsystem: mm/hotfixes
zhong jiang <zhongjiang@huawei.com>:
mm/kasan/common.c: fix compile error
Subsystem: mm/memcg
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction
Subsystem: mm/vmstat
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm/vmstat: add helpers to get vmstat item names for each enum type
mm/memcontrol: use vmstat names for printing statistics
Subsystem: mm/thp
Yu Zhao <yuzhao@google.com>:
mm/memory.c: replace is_zero_pfn with is_huge_zero_pmd for thp
Subsystem: procfs
Alexey Dobriyan <adobriyan@gmail.com>:
proc: change ->nlink under proc_subdir_lock
fs/proc/generic.c: delete useless "len" variable
fs/proc/internal.h: shuffle "struct pde_opener"
Miaohe Lin <linmiaohe@huawei.com>:
include/linux/proc_fs.h: fix confusing macro arg name
Krzysztof Kozlowski <krzk@kernel.org>:
fs/proc/Kconfig: fix indentation
Subsystem: sysctl
Alessio Balsini <balsini@android.com>:
include/linux/sysctl.h: inline braces for ctl_table and ctl_table_header
Subsystem: misc
Stephen Boyd <swboyd@chromium.org>:
.gitattributes: use 'dts' diff driver for dts files
Rikard Falkeborn <rikard.falkeborn@gmail.com>:
linux/build_bug.h: change type to int
Masahiro Yamada <yamada.masahiro@socionext.com>:
linux/scc.h: make uapi linux/scc.h self-contained
Krzysztof Kozlowski <krzk@kernel.org>:
arch/Kconfig: fix indentation
Joe Perches <joe@perches.com>:
scripts/get_maintainer.pl: add signatures from Fixes: <badcommit> lines in commit message
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
kernel.h: update comment about simple_strto<foo>() functions
auxdisplay: charlcd: deduplicate simple_strtoul()
Subsystem: notifiers
Xiaoming Ni <nixiaoming@huawei.com>:
kernel/notifier.c: intercept duplicate registrations to avoid infinite loops
kernel/notifier.c: remove notifier_chain_cond_register()
kernel/notifier.c: remove blocking_notifier_chain_cond_register()
Subsystem: core-kernel
Nathan Chancellor <natechancellor@gmail.com>:
kernel/profile.c: use cpumask_available to check for NULL cpumask
Joe Perches <joe@perches.com>:
kernel/sys.c: avoid copying possible padding bytes in copy_to_user
Subsystem: bitops
William Breathitt Gray <vilhelm.gray@gmail.com>:
bitops: introduce the for_each_set_clump8 macro
lib/test_bitmap.c: add for_each_set_clump8 test cases
gpio: 104-dio-48e: utilize for_each_set_clump8 macro
gpio: 104-idi-48: utilize for_each_set_clump8 macro
gpio: gpio-mm: utilize for_each_set_clump8 macro
gpio: ws16c48: utilize for_each_set_clump8 macro
gpio: pci-idio-16: utilize for_each_set_clump8 macro
gpio: pcie-idio-24: utilize for_each_set_clump8 macro
gpio: uniphier: utilize for_each_set_clump8 macro
gpio: 74x164: utilize the for_each_set_clump8 macro
thermal: intel: intel_soc_dts_iosf: Utilize for_each_set_clump8 macro
gpio: pisosr: utilize the for_each_set_clump8 macro
gpio: max3191x: utilize the for_each_set_clump8 macro
gpio: pca953x: utilize the for_each_set_clump8 macro
Subsystem: lib
Wei Yang <richardw.yang@linux.intel.com>:
lib/rbtree: set successor's parent unconditionally
lib/rbtree: get successor's color directly
Laura Abbott <labbott@redhat.com>:
lib/test_meminit.c: add bulk alloc/free tests
Trent Piepho <tpiepho@gmail.com>:
lib/math/rational.c: fix possible incorrect result from rational fractions helper
Huang Shijie <sjhuang@iluvatar.ai>:
lib/genalloc.c: export symbol addr_in_gen_pool
lib/genalloc.c: rename addr_in_gen_pool to gen_pool_has_addr
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: improve ignoring CamelCase SI style variants like mA
checkpatch: reduce is_maintained_obsolete lookup runtime
Subsystem: epoll
Jason Baron <jbaron@akamai.com>:
epoll: simplify ep_poll_safewake() for CONFIG_DEBUG_LOCK_ALLOC
Heiher <r@hev.cc>:
fs/epoll: remove unnecessary wakeups of nested epoll
selftests: add epoll selftests
Subsystem: binfmt
Alexey Dobriyan <adobriyan@gmail.com>:
fs/binfmt_elf.c: delete unused "interp_map_addr" argument
fs/binfmt_elf.c: extract elf_read() function
Subsystem: init
Krzysztof Kozlowski <krzk@kernel.org>:
init/Kconfig: fix indentation
Subsystem: rapidio
"Ben Dooks (Codethink)" <ben.dooks@codethink.co.uk>:
drivers/rapidio/rio-driver.c: fix missing include of <linux/rio_drv.h>
drivers/rapidio/rio-access.c: fix missing include of <linux/rio_drv.h>
Subsystem: uaccess
Daniel Vetter <daniel.vetter@ffwll.ch>:
drm: limit to INT_MAX in create_blob ioctl
Kees Cook <keescook@chromium.org>:
uaccess: disallow > INT_MAX copy sizes
Subsystem: kcov
Andrey Konovalov <andreyknvl@google.com>:
Patch series " kcov: collect coverage from usb and vhost", v3:
kcov: remote coverage support
usb, kcov: collect coverage from hub_event
vhost, kcov: collect coverage from vhost_worker
Subsystem: ubsan
Julien Grall <julien.grall@arm.com>:
lib/ubsan: don't serialize UBSAN report
Subsystem: ipc
Masahiro Yamada <yamada.masahiro@socionext.com>:
arch: ipcbuf.h: make uapi asm/ipcbuf.h self-contained
arch: msgbuf.h: make uapi asm/msgbuf.h self-contained
arch: sembuf.h: make uapi asm/sembuf.h self-contained
Subsystem: bitmap
Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
Patch series "gpio: pca953x: Convert to bitmap (extended) API", v2:
lib/test_bitmap: force argument of bitmap_parselist_user() to proper address space
lib/test_bitmap: undefine macros after use
lib/test_bitmap: name EXP_BYTES properly
lib/test_bitmap: rename exp to exp1 to avoid ambiguous name
lib/test_bitmap: move exp1 and exp2 upper for others to use
lib/test_bitmap: fix comment about this file
lib/bitmap: introduce bitmap_replace() helper
gpio: pca953x: remove redundant variable and check in IRQ handler
gpio: pca953x: use input from regs structure in pca953x_irq_pending()
gpio: pca953x: convert to use bitmap API
gpio: pca953x: tighten up indentation
Subsystem: mm/pagemap
Mike Rapoport <rppt@linux.ibm.com>:
Patch series "mm: remove __ARCH_HAS_4LEVEL_HACK", v13:
alpha: use pgtable-nopud instead of 4level-fixup
arm: nommu: use pgtable-nopud instead of 4level-fixup
c6x: use pgtable-nopud instead of 4level-fixup
m68k: nommu: use pgtable-nopud instead of 4level-fixup
m68k: mm: use pgtable-nopXd instead of 4level-fixup
microblaze: use pgtable-nopmd instead of 4level-fixup
nds32: use pgtable-nopmd instead of 4level-fixup
parisc: use pgtable-nopXd instead of 4level-fixup
Helge Deller <deller@gmx.de>:
parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup
Mike Rapoport <rppt@linux.ibm.com>:
sparc32: use pgtable-nopud instead of 4level-fixup
um: remove unused pxx_offset_proc() and addr_pte() functions
um: add support for folded p4d page tables
mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h
.gitattributes | 2
Documentation/core-api/genalloc.rst | 2
Documentation/dev-tools/kcov.rst | 129
arch/Kconfig | 22
arch/alpha/include/asm/mmzone.h | 1
arch/alpha/include/asm/pgalloc.h | 4
arch/alpha/include/asm/pgtable.h | 24
arch/alpha/mm/init.c | 12
arch/arm/include/asm/pgtable.h | 2
arch/arm/mm/dma-mapping.c | 2
arch/c6x/include/asm/pgtable.h | 2
arch/m68k/include/asm/mcf_pgalloc.h | 7
arch/m68k/include/asm/mcf_pgtable.h | 28
arch/m68k/include/asm/mmu_context.h | 12
arch/m68k/include/asm/motorola_pgalloc.h | 4
arch/m68k/include/asm/motorola_pgtable.h | 32
arch/m68k/include/asm/page.h | 9
arch/m68k/include/asm/pgtable_mm.h | 11
arch/m68k/include/asm/pgtable_no.h | 2
arch/m68k/include/asm/sun3_pgalloc.h | 5
arch/m68k/include/asm/sun3_pgtable.h | 18
arch/m68k/kernel/sys_m68k.c | 10
arch/m68k/mm/init.c | 6
arch/m68k/mm/kmap.c | 39
arch/m68k/mm/mcfmmu.c | 16
arch/m68k/mm/motorola.c | 17
arch/m68k/sun3x/dvma.c | 7
arch/microblaze/include/asm/page.h | 3
arch/microblaze/include/asm/pgalloc.h | 16
arch/microblaze/include/asm/pgtable.h | 32
arch/microblaze/kernel/signal.c | 10
arch/microblaze/mm/init.c | 7
arch/microblaze/mm/pgtable.c | 13
arch/mips/include/uapi/asm/msgbuf.h | 1
arch/mips/include/uapi/asm/sembuf.h | 2
arch/nds32/include/asm/page.h | 3
arch/nds32/include/asm/pgalloc.h | 3
arch/nds32/include/asm/pgtable.h | 12
arch/nds32/include/asm/tlb.h | 1
arch/nds32/kernel/pm.c | 4
arch/nds32/mm/fault.c | 16
arch/nds32/mm/init.c | 11
arch/nds32/mm/mm-nds32.c | 6
arch/nds32/mm/proc.c | 26
arch/parisc/include/asm/page.h | 30
arch/parisc/include/asm/pgalloc.h | 41
arch/parisc/include/asm/pgtable.h | 52
arch/parisc/include/asm/tlb.h | 2
arch/parisc/include/uapi/asm/msgbuf.h | 1
arch/parisc/include/uapi/asm/sembuf.h | 1
arch/parisc/kernel/cache.c | 13
arch/parisc/kernel/pci-dma.c | 9
arch/parisc/mm/fixmap.c | 10
arch/parisc/mm/hugetlbpage.c | 18
arch/powerpc/include/uapi/asm/msgbuf.h | 2
arch/powerpc/include/uapi/asm/sembuf.h | 2
arch/s390/include/uapi/asm/ipcbuf.h | 2
arch/sparc/include/asm/pgalloc_32.h | 6
arch/sparc/include/asm/pgtable_32.h | 28
arch/sparc/include/uapi/asm/ipcbuf.h | 2
arch/sparc/include/uapi/asm/msgbuf.h | 2
arch/sparc/include/uapi/asm/sembuf.h | 2
arch/sparc/mm/fault_32.c | 11
arch/sparc/mm/highmem.c | 6
arch/sparc/mm/io-unit.c | 6
arch/sparc/mm/iommu.c | 6
arch/sparc/mm/srmmu.c | 51
arch/um/include/asm/pgtable-2level.h | 1
arch/um/include/asm/pgtable-3level.h | 1
arch/um/include/asm/pgtable.h | 3
arch/um/kernel/mem.c | 8
arch/um/kernel/skas/mmu.c | 12
arch/um/kernel/skas/uaccess.c | 7
arch/um/kernel/tlb.c | 85
arch/um/kernel/trap.c | 4
arch/x86/include/uapi/asm/msgbuf.h | 3
arch/x86/include/uapi/asm/sembuf.h | 2
arch/xtensa/include/uapi/asm/ipcbuf.h | 2
arch/xtensa/include/uapi/asm/msgbuf.h | 2
arch/xtensa/include/uapi/asm/sembuf.h | 1
drivers/auxdisplay/charlcd.c | 34
drivers/base/node.c | 9
drivers/gpio/gpio-104-dio-48e.c | 75
drivers/gpio/gpio-104-idi-48.c | 36
drivers/gpio/gpio-74x164.c | 19
drivers/gpio/gpio-gpio-mm.c | 75
drivers/gpio/gpio-max3191x.c | 19
drivers/gpio/gpio-pca953x.c | 209
drivers/gpio/gpio-pci-idio-16.c | 75
drivers/gpio/gpio-pcie-idio-24.c | 111
drivers/gpio/gpio-pisosr.c | 12
drivers/gpio/gpio-uniphier.c | 13
drivers/gpio/gpio-ws16c48.c | 73
drivers/gpu/drm/drm_property.c | 2
drivers/misc/sram-exec.c | 2
drivers/rapidio/rio-access.c | 2
drivers/rapidio/rio-driver.c | 1
drivers/thermal/intel/intel_soc_dts_iosf.c | 31
drivers/thermal/intel/intel_soc_dts_iosf.h | 2
drivers/usb/core/hub.c | 5
drivers/vhost/vhost.c | 6
drivers/vhost/vhost.h | 1
fs/binfmt_elf.c | 56
fs/eventpoll.c | 52
fs/proc/Kconfig | 8
fs/proc/generic.c | 37
fs/proc/internal.h | 2
include/asm-generic/4level-fixup.h | 39
include/asm-generic/bitops/find.h | 17
include/linux/bitmap.h | 51
include/linux/bitops.h | 12
include/linux/build_bug.h | 4
include/linux/genalloc.h | 2
include/linux/kcov.h | 23
include/linux/kernel.h | 19
include/linux/mm.h | 10
include/linux/notifier.h | 4
include/linux/proc_fs.h | 4
include/linux/rbtree_augmented.h | 6
include/linux/sched.h | 8
include/linux/sysctl.h | 6
include/linux/thread_info.h | 2
include/linux/vmstat.h | 54
include/uapi/asm-generic/ipcbuf.h | 2
include/uapi/asm-generic/msgbuf.h | 2
include/uapi/asm-generic/sembuf.h | 1
include/uapi/linux/kcov.h | 28
include/uapi/linux/scc.h | 1
init/Kconfig | 78
kernel/dma/remap.c | 2
kernel/kcov.c | 547 +
kernel/notifier.c | 45
kernel/profile.c | 6
kernel/sys.c | 4
lib/bitmap.c | 12
lib/find_bit.c | 14
lib/genalloc.c | 7
lib/math/rational.c | 63
lib/test_bitmap.c | 206
lib/test_meminit.c | 20
lib/ubsan.c | 64
mm/kasan/common.c | 1
mm/memcontrol.c | 52
mm/memory.c | 10
mm/slab_common.c | 12
mm/vmstat.c | 60
net/sunrpc/rpc_pipe.c | 2
scripts/checkpatch.pl | 13
scripts/get_maintainer.pl | 38
tools/testing/selftests/Makefile | 1
tools/testing/selftests/filesystems/epoll/.gitignore | 1
tools/testing/selftests/filesystems/epoll/Makefile | 7
tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c | 3074 ++++++++++
usr/include/Makefile | 4
154 files changed, 5270 insertions(+), 1360 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-12-01 1:47 Andrew Morton
2019-12-01 5:17 ` incoming James Bottomley
2019-12-01 21:07 ` incoming Linus Torvalds
0 siblings, 2 replies; 325+ messages in thread
From: Andrew Morton @ 2019-12-01 1:47 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- a small number of updates to scripts/, ocfs2 and fs/buffer.c
- most of MM. I still have quite a lot of material (mostly not MM)
staged after linux-next due to -next dependencies. I'll send thos
across next week as the preprequisites get merged up.
158 patches, based on 32ef9553635ab1236c33951a8bd9b5af1c3b1646.
Subsystems affected by this patch series:
scripts
ocfs2
vfs
mm/slab
mm/slub
mm/pagecache
mm/gup
mm/swap
mm/memcg
mm/pagemap
mm/memfd
mm/memory-failure
mm/memory-hotplug
mm/sparsemem
mm/vmalloc
mm/kasan
mm/pagealloc
mm/vmscan
mm/proc
mm/z3fold
mm/mempolicy
mm/memblock
mm/hugetlbfs
mm/hugetlb
mm/migration
mm/thp
mm/cma
mm/autonuma
mm/page-poison
mm/mmap
mm/madvise
mm/userfaultfd
mm/shmem
mm/cleanups
mm/support
Subsystem: scripts
Colin Ian King <colin.king@canonical.com>:
scripts/spelling.txt: add more spellings to spelling.txt
Subsystem: ocfs2
Ding Xiang <dingxiang@cmss.chinamobile.com>:
ocfs2: fix passing zero to 'PTR_ERR' warning
Subsystem: vfs
Saurav Girepunje <saurav.girepunje@gmail.com>:
fs/buffer.c: fix use true/false for bool type
Ben Dooks <ben.dooks@codethink.co.uk>:
fs/buffer.c: include internal.h for missing declarations
Subsystem: mm/slab
Pengfei Li <lpf.vector@gmail.com>:
Patch series "mm, slab: Make kmalloc_info[] contain all types of names", v6:
mm, slab: make kmalloc_info[] contain all types of names
mm, slab: remove unused kmalloc_size()
mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches
Subsystem: mm/slub
Miles Chen <miles.chen@mediatek.com>:
mm: slub: print the offset of fault addresses
Yu Zhao <yuzhao@google.com>:
mm/slub.c: update comments
mm/slub.c: clean up validate_slab()
Subsystem: mm/pagecache
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm/filemap.c: remove redundant cache invalidation after async direct-io write
fs/direct-io.c: keep dio_warn_stale_pagecache() when CONFIG_BLOCK=n
mm/filemap.c: warn if stale pagecache is left after direct write
Subsystem: mm/gup
zhong jiang <zhongjiang@huawei.com>:
mm/gup.c: allow CMA migration to propagate errors back to caller
Liu Xiang <liuxiang_1999@126.com>:
mm/gup.c: fix comments of __get_user_pages() and get_user_pages_remote()
Subsystem: mm/swap
Naohiro Aota <naohiro.aota@wdc.com>:
mm, swap: disallow swapon() on zoned block devices
Fengguang Wu <fengguang.wu@intel.com>:
mm/swap.c: trivial mark_page_accessed() cleanup
Subsystem: mm/memcg
Yafang Shao <laoar.shao@gmail.com>:
mm, memcg: clean up reclaim iter array
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: remove dead code from memory_max_write()
mm: memcontrol: try harder to set a new memory.high
Hao Lee <haolee.swjtu@gmail.com>:
include/linux/memcontrol.h: fix comments based on per-node memcg
Shakeel Butt <shakeelb@google.com>:
mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node()
Chris Down <chris@chrisdown.name>:
Documentation/admin-guide/cgroup-v2.rst: document why inactive_X + active_X may not equal X
Subsystem: mm/pagemap
Johannes Weiner <hannes@cmpxchg.org>:
mm: drop mmap_sem before calling balance_dirty_pages() in write fault
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
shmem: pin the file in shmem_fault() if mmap_sem is dropped
"Joel Fernandes (Google)" <joel@joelfernandes.org>:
mm: emit tracepoint when RSS changes
rss_stat: add support to detect RSS updates of external mm
Wei Yang <richardw.yang@linux.intel.com>:
mm/mmap.c: remove a never-triggered warning in __vma_adjust()
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm/swap.c: piggyback lru_add_drain_all() calls
Wei Yang <richardw.yang@linux.intel.com>:
mm/mmap.c: prev could be retrieved from vma->vm_prev
mm/mmap.c: __vma_unlink_prev() is not necessary now
mm/mmap.c: extract __vma_unlink_list() as counterpart for __vma_link_list()
mm/mmap.c: rb_parent is not necessary in __vma_link_list()
mm/rmap.c: don't reuse anon_vma if we just want a copy
mm/rmap.c: reuse mergeable anon_vma as parent when fork
Gaowei Pu <pugaowei@gmail.com>:
mm/mmap.c: use IS_ERR_VALUE to check return value of get_unmapped_area
Vineet Gupta <Vineet.Gupta1@synopsys.com>:
Patch series "elide extraneous generated code for folded p4d/pud/pmd", v3:
ARC: mm: remove __ARCH_USE_5LEVEL_HACK
asm-generic/tlb: stub out pud_free_tlb() if nopud ...
asm-generic/tlb: stub out p4d_free_tlb() if nop4d ...
asm-generic/tlb: stub out pmd_free_tlb() if nopmd
asm-generic/mm: stub out p{4,u}d_clear_bad() if __PAGETABLE_P{4,U}D_FOLDED
Miles Chen <miles.chen@mediatek.com>:
mm/rmap.c: fix outdated comment in page_get_anon_vma()
Yang Shi <yang.shi@linux.alibaba.com>:
mm/rmap.c: use VM_BUG_ON_PAGE() in __page_check_anon_rmap()
Thomas Hellstrom <thellstrom@vmware.com>:
mm: move the backup x_devmap() functions to asm-generic/pgtable.h
mm/memory.c: fix a huge pud insertion race during faulting
Steven Price <steven.price@arm.com>:
Patch series "Generic page walk and ptdump", v15:
mm: add generic p?d_leaf() macros
arc: mm: add p?d_leaf() definitions
arm: mm: add p?d_leaf() definitions
arm64: mm: add p?d_leaf() definitions
mips: mm: add p?d_leaf() definitions
powerpc: mm: add p?d_leaf() definitions
riscv: mm: add p?d_leaf() definitions
s390: mm: add p?d_leaf() definitions
sparc: mm: add p?d_leaf() definitions
x86: mm: add p?d_leaf() definitions
mm: pagewalk: add p4d_entry() and pgd_entry()
mm: pagewalk: allow walking without vma
mm: pagewalk: add test_p?d callbacks
mm: pagewalk: add 'depth' parameter to pte_hole
x86: mm: point to struct seq_file from struct pg_state
x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct
x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct
x86: mm: convert ptdump_walk_pgd_level_core() to take an mm_struct
mm: add generic ptdump
x86: mm: convert dump_pagetables to use walk_page_range
arm64: mm: convert mm/dump.c to use walk_page_range()
arm64: mm: display non-present entries in ptdump
mm: ptdump: reduce level numbers by 1 in note_page()
Subsystem: mm/memfd
Nicolas Geoffray <ngeoffray@google.com>:
mm, memfd: fix COW issue on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings
"Joel Fernandes (Google)" <joel@joelfernandes.org>:
memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings
Subsystem: mm/memory-failure
Jane Chu <jane.chu@oracle.com>:
mm/memory-failure.c clean up around tk pre-allocation
Naoya Horiguchi <nao.horiguchi@gmail.com>:
mm, soft-offline: convert parameter to pfn
Yunfeng Ye <yeyunfeng@huawei.com>:
mm/memory-failure.c: use page_shift() in add_to_kill()
Subsystem: mm/memory-hotplug
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/hotplug: reorder memblock_[free|remove]() calls in try_remove_memory()
Alastair D'Silva <alastair@d-silva.org>:
mm/memory_hotplug.c: add a bounds check to __add_pages()
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: Export generic_online_page()":
mm/memory_hotplug: export generic_online_page()
hv_balloon: use generic_online_page()
mm/memory_hotplug: remove __online_page_free() and __online_page_increment_counters()
Patch series "mm: Memory offlining + page isolation cleanups", v2:
mm/page_alloc.c: don't set pages PageReserved() when offlining
mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE
"Ben Dooks (Codethink)" <ben.dooks@codethink.co.uk>:
include/linux/memory_hotplug.h: move definitions of {set,clear}_zone_contiguous
David Hildenbrand <david@redhat.com>:
drivers/base/memory.c: drop the mem_sysfs_mutex
mm/memory_hotplug.c: don't allow to online/offline memory blocks with holes
Subsystem: mm/sparsemem
Vincent Whitchurch <vincent.whitchurch@axis.com>:
mm/sparse: consistently do not zero memmap
Ilya Leoshkevich <iii@linux.ibm.com>:
mm/sparse.c: mark populate_section_memmap as __meminit
Michal Hocko <mhocko@suse.com>:
mm/sparse.c: do not waste pre allocated memmap space
Subsystem: mm/vmalloc
Liu Xiang <liuxiang_1999@126.com>:
mm/vmalloc.c: remove unnecessary highmem_mask from parameter of gfpflags_allow_blocking()
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: remove preempt_disable/enable when doing preloading
mm/vmalloc: respect passed gfp_mask when doing preloading
mm/vmalloc: add more comments to the adjust_va_to_fit_type()
Anders Roxell <anders.roxell@linaro.org>:
selftests: vm: add fragment CONFIG_TEST_VMALLOC
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: rework vmap_area_lock
Subsystem: mm/kasan
Daniel Axtens <dja@axtens.net>:
Patch series "kasan: support backing vmalloc space with real shadow:
kasan: support backing vmalloc space with real shadow memory
kasan: add test for vmalloc
fork: support VMAP_STACK with KASAN_VMALLOC
x86/kasan: support KASAN_VMALLOC
Subsystem: mm/pagealloc
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/page_alloc: add alloc_contig_pages()
Mel Gorman <mgorman@techsingularity.net>:
mm, pcp: share common code between memory hotplug and percpu sysctl handler
mm, pcpu: make zone pcp updates and reset internal to the mm
Hao Lee <haolee.swjtu@gmail.com>:
include/linux/mmzone.h: fix comment for ISOLATE_UNMAPPED macro
lijiazi <jqqlijiazi@gmail.com>:
mm/page_alloc.c: print reserved_highatomic info
Subsystem: mm/vmscan
Andrey Ryabinin <aryabinin@virtuozzo.com>:
mm/vmscan: remove unused lru_pages argument
Yang Shi <yang.shi@linux.alibaba.com>:
mm/vmscan.c: remove unused scan_control parameter from pageout()
Johannes Weiner <hannes@cmpxchg.org>:
Patch series "mm: vmscan: cgroup-related cleanups":
mm: vmscan: simplify lruvec_lru_size()
mm: clean up and clarify lruvec lookup procedure
mm: vmscan: move inactive_list_is_low() swap check to the caller
mm: vmscan: naming fixes: global_reclaim() and sane_reclaim()
mm: vmscan: replace shrink_node() loop with a retry jump
mm: vmscan: turn shrink_node_memcg() into shrink_lruvec()
mm: vmscan: split shrink_node() into node part and memcgs part
mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs
Patch series "mm: fix page aging across multiple cgroups":
mm: vmscan: move file exhaustion detection to the node level
mm: vmscan: detect file thrashing at the reclaim root
mm: vmscan: enforce inactive:active ratio at the reclaim root
Xianting Tian <xianting_tian@126.com>:
mm/vmscan.c: fix typo in comment
Subsystem: mm/proc
Johannes Weiner <hannes@cmpxchg.org>:
kernel: sysctl: make drop_caches write-only
Subsystem: mm/z3fold
Vitaly Wool <vitaly.wool@konsulko.com>:
mm/z3fold.c: add inter-page compaction
Subsystem: mm/mempolicy
Li Xinhai <lixinhai.lxh@gmail.com>:
Patch series "mm: Fix checking unmapped holes for mbind", v4:
mm/mempolicy.c: check range first in queue_pages_test_walk
mm/mempolicy.c: fix checking unmapped holes for mbind
Subsystem: mm/memblock
Cao jin <caoj.fnst@cn.fujitsu.com>:
mm/memblock.c: cleanup doc
mm/memblock: correct doc for function
Yunfeng Ye <yeyunfeng@huawei.com>:
mm: support memblock alloc on the exact node for sparse_buffer_init()
Subsystem: mm/hugetlbfs
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlbfs: hugetlb_fault_mutex_hash() cleanup
mm/hugetlbfs: fix error handling when setting up mounts
Patch series "hugetlbfs: convert macros to static inline, fix sparse warning":
powerpc/mm: remove pmd_huge/pud_huge stubs and include hugetlb.h
hugetlbfs: convert macros to static inline, fix sparse warning
Piotr Sarna <p.sarna@tlen.pl>:
hugetlbfs: add O_TMPFILE support
Waiman Long <longman@redhat.com>:
hugetlbfs: take read_lock on i_mmap for PMD sharing
Subsystem: mm/hugetlb
Mina Almasry <almasrymina@google.com>:
hugetlb: region_chg provides only cache entry
hugetlb: remove duplicated code
Wei Yang <richardw.yang@linux.intel.com>:
hugetlb: remove unused hstate in hugetlb_fault_mutex_hash()
Zhigang Lu <tonnylu@tencent.com>:
mm/hugetlb: avoid looping to the same hugepage if !pages and !vmas
zhong jiang <zhongjiang@huawei.com>:
mm/huge_memory.c: split_huge_pages_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE
Subsystem: mm/migration
Yang Shi <yang.shi@linux.alibaba.com>:
mm/migrate.c: handle freed page at the first place
Subsystem: mm/thp
"Kirill A. Shutemov" <kirill@shutemov.name>:
mm, thp: do not queue fully unmapped pages for deferred split
Song Liu <songliubraving@fb.com>:
mm/thp: flush file for !is_shmem PageDirty() case in collapse_file()
Subsystem: mm/cma
Yunfeng Ye <yeyunfeng@huawei.com>:
mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation
zhong jiang <zhongjiang@huawei.com>:
mm/cma_debug.c: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
Subsystem: mm/autonuma
Huang Ying <ying.huang@intel.com>:
autonuma: fix watermark checking in migrate_balanced_pgdat()
autonuma: reduce cache footprint when scanning page tables
Subsystem: mm/page-poison
zhong jiang <zhongjiang@huawei.com>:
mm/hwpoison-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
Subsystem: mm/mmap
Wei Yang <richardw.yang@linux.intel.com>:
mm/mmap.c: make vma_merge() comment more easy to understand
Subsystem: mm/madvise
Yunfeng Ye <yeyunfeng@huawei.com>:
mm/madvise.c: replace with page_size() in madvise_inject_error()
Wei Yang <richardw.yang@linux.intel.com>:
mm/madvise.c: use PAGE_ALIGN[ED] for range checking
Subsystem: mm/userfaultfd
Wei Yang <richardw.yang@linux.intel.com>:
userfaultfd: use vma_pagesize for all huge page size calculation
userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb()
userfaultfd: wrap the common dst_vma check into an inlined function
Andrea Arcangeli <aarcange@redhat.com>:
fs/userfaultfd.c: wp: clear VM_UFFD_MISSING or VM_UFFD_WP during userfaultfd_register()
Mike Rapoport <rppt@linux.ibm.com>:
userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK
Subsystem: mm/shmem
Colin Ian King <colin.king@canonical.com>:
mm/shmem.c: make array 'values' static const, makes object smaller
Yang Shi <yang.shi@linux.alibaba.com>:
mm: shmem: use proper gfp flags for shmem_writepage()
Chen Jun <chenjun102@huawei.com>:
mm/shmem.c: cast the type of unmap_start to u64
Subsystem: mm/cleanups
Hao Lee <haolee.swjtu@gmail.com>:
mm: fix struct member name in function comments
Wei Yang <richardw.yang@linux.intel.com>:
mm: fix typos in comments when calling __SetPageUptodate()
Souptick Joarder <jrdr.linux@gmail.com>:
mm/memory_hotplug.c: remove __online_page_set_limits()
Krzysztof Kozlowski <krzk@kernel.org>:
mm/Kconfig: fix indentation
Randy Dunlap <rdunlap@infradead.org>:
mm/Kconfig: fix trivial help text punctuation
Subsystem: mm/support
Minchan Kim <minchan@google.com>:
mm/page_io.c: annotate refault stalls from swap_readpage
Documentation/admin-guide/cgroup-v2.rst | 7
Documentation/dev-tools/kasan.rst | 63 +
arch/Kconfig | 9
arch/arc/include/asm/pgtable.h | 2
arch/arc/mm/fault.c | 10
arch/arc/mm/highmem.c | 4
arch/arm/include/asm/pgtable-2level.h | 1
arch/arm/include/asm/pgtable-3level.h | 1
arch/arm64/Kconfig | 1
arch/arm64/Kconfig.debug | 19
arch/arm64/include/asm/pgtable.h | 2
arch/arm64/include/asm/ptdump.h | 8
arch/arm64/mm/Makefile | 4
arch/arm64/mm/dump.c | 148 +---
arch/arm64/mm/mmu.c | 4
arch/arm64/mm/ptdump_debugfs.c | 2
arch/mips/include/asm/pgtable.h | 5
arch/powerpc/include/asm/book3s/64/pgtable-4k.h | 3
arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3
arch/powerpc/include/asm/book3s/64/pgtable.h | 30
arch/powerpc/mm/book3s64/radix_pgtable.c | 1
arch/riscv/include/asm/pgtable-64.h | 7
arch/riscv/include/asm/pgtable.h | 7
arch/s390/include/asm/pgtable.h | 2
arch/sparc/include/asm/pgtable_64.h | 2
arch/x86/Kconfig | 2
arch/x86/Kconfig.debug | 20
arch/x86/include/asm/pgtable.h | 10
arch/x86/mm/Makefile | 4
arch/x86/mm/debug_pagetables.c | 8
arch/x86/mm/dump_pagetables.c | 431 +++---------
arch/x86/mm/kasan_init_64.c | 61 +
arch/x86/platform/efi/efi_32.c | 2
arch/x86/platform/efi/efi_64.c | 4
drivers/base/memory.c | 40 -
drivers/firmware/efi/arm-runtime.c | 2
drivers/hv/hv_balloon.c | 4
drivers/xen/balloon.c | 1
fs/buffer.c | 6
fs/direct-io.c | 21
fs/hugetlbfs/inode.c | 67 +
fs/ocfs2/acl.c | 4
fs/proc/task_mmu.c | 4
fs/userfaultfd.c | 21
include/asm-generic/4level-fixup.h | 1
include/asm-generic/5level-fixup.h | 1
include/asm-generic/pgtable-nop4d.h | 2
include/asm-generic/pgtable-nopmd.h | 2
include/asm-generic/pgtable-nopud.h | 2
include/asm-generic/pgtable.h | 71 ++
include/asm-generic/tlb.h | 4
include/linux/fs.h | 6
include/linux/gfp.h | 2
include/linux/hugetlb.h | 142 +++-
include/linux/kasan.h | 31
include/linux/memblock.h | 3
include/linux/memcontrol.h | 51 -
include/linux/memory_hotplug.h | 11
include/linux/mm.h | 42 -
include/linux/mmzone.h | 34
include/linux/moduleloader.h | 2
include/linux/page-isolation.h | 4
include/linux/pagewalk.h | 42 -
include/linux/ptdump.h | 22
include/linux/slab.h | 20
include/linux/string.h | 2
include/linux/swap.h | 2
include/linux/vmalloc.h | 12
include/trace/events/kmem.h | 53 +
kernel/events/uprobes.c | 2
kernel/fork.c | 4
kernel/sysctl.c | 2
lib/Kconfig.kasan | 16
lib/test_kasan.c | 26
lib/vsprintf.c | 40 -
mm/Kconfig | 40 -
mm/Kconfig.debug | 21
mm/Makefile | 1
mm/cma.c | 6
mm/cma_debug.c | 10
mm/filemap.c | 56 -
mm/gup.c | 40 -
mm/hmm.c | 8
mm/huge_memory.c | 2
mm/hugetlb.c | 298 ++------
mm/hwpoison-inject.c | 4
mm/internal.h | 27
mm/kasan/common.c | 233 ++++++
mm/kasan/generic_report.c | 3
mm/kasan/kasan.h | 1
mm/khugepaged.c | 18
mm/madvise.c | 14
mm/memblock.c | 113 ++-
mm/memcontrol.c | 167 ----
mm/memory-failure.c | 61 -
mm/memory.c | 56 +
mm/memory_hotplug.c | 86 +-
mm/mempolicy.c | 59 +
mm/migrate.c | 21
mm/mincore.c | 1
mm/mmap.c | 75 --
mm/mprotect.c | 8
mm/mremap.c | 4
mm/nommu.c | 10
mm/page_alloc.c | 137 +++
mm/page_io.c | 15
mm/page_isolation.c | 12
mm/pagewalk.c | 126 ++-
mm/pgtable-generic.c | 9
mm/ptdump.c | 167 ++++
mm/rmap.c | 65 +
mm/shmem.c | 29
mm/slab.c | 7
mm/slab.h | 6
mm/slab_common.c | 101 +-
mm/slub.c | 36 -
mm/sparse.c | 22
mm/swap.c | 29
mm/swapfile.c | 7
mm/userfaultfd.c | 77 +-
mm/util.c | 22
mm/vmalloc.c | 196 +++--
mm/vmscan.c | 798 +++++++++++------------
mm/workingset.c | 75 +-
mm/z3fold.c | 375 ++++++++--
scripts/spelling.txt | 28
tools/testing/selftests/memfd/memfd_test.c | 36 +
tools/testing/selftests/vm/config | 1
128 files changed, 3409 insertions(+), 2121 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-12-01 1:47 incoming Andrew Morton
@ 2019-12-01 5:17 ` James Bottomley
2019-12-01 21:07 ` incoming Linus Torvalds
1 sibling, 0 replies; 325+ messages in thread
From: James Bottomley @ 2019-12-01 5:17 UTC (permalink / raw)
To: Andrew Morton, Linus Torvalds; +Cc: mm-commits, linux-mm
On Sat, 2019-11-30 at 17:47 -0800, Andrew Morton wrote:
> - a small number of updates to scripts/, ocfs2 and fs/buffer.c
>
> - most of MM. I still have quite a lot of material (mostly not MM)
> staged after linux-next due to -next dependencies. I'll send thos
> across next week as the preprequisites get merged up.
>
> 158 patches, based on 32ef9553635ab1236c33951a8bd9b5af1c3b1646.
Hey, Andrew, would it be at all possible for you to thread these
patches under something like this incoming message? The selfish reason
I'm asking is so I can mark the thread as read instead of having to do
it individually for 158 messages ... my thumb would thank you for this.
Regards,
James
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-12-01 1:47 incoming Andrew Morton
2019-12-01 5:17 ` incoming James Bottomley
@ 2019-12-01 21:07 ` Linus Torvalds
2019-12-02 8:21 ` incoming Steven Price
1 sibling, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2019-12-01 21:07 UTC (permalink / raw)
To: Andrew Morton, Steven Price; +Cc: mm-commits, Linux-MM
On Sat, Nov 30, 2019 at 5:47 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Steven Price <steven.price@arm.com>:
> Patch series "Generic page walk and ptdump", v15:
> mm: add generic p?d_leaf() macros
> arc: mm: add p?d_leaf() definitions
> arm: mm: add p?d_leaf() definitions
> arm64: mm: add p?d_leaf() definitions
> mips: mm: add p?d_leaf() definitions
> powerpc: mm: add p?d_leaf() definitions
> riscv: mm: add p?d_leaf() definitions
> s390: mm: add p?d_leaf() definitions
> sparc: mm: add p?d_leaf() definitions
> x86: mm: add p?d_leaf() definitions
> mm: pagewalk: add p4d_entry() and pgd_entry()
> mm: pagewalk: allow walking without vma
> mm: pagewalk: add test_p?d callbacks
> mm: pagewalk: add 'depth' parameter to pte_hole
> x86: mm: point to struct seq_file from struct pg_state
> x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct
> x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct
> x86: mm: convert ptdump_walk_pgd_level_core() to take an mm_struct
> mm: add generic ptdump
> x86: mm: convert dump_pagetables to use walk_page_range
> arm64: mm: convert mm/dump.c to use walk_page_range()
> arm64: mm: display non-present entries in ptdump
> mm: ptdump: reduce level numbers by 1 in note_page()
I've dropped these, and since they clearly weren't ready I don't want
to see them re-sent for 5.5.
If somebody figures out the bug, trying again for 5.6 sounds fine.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-12-01 21:07 ` incoming Linus Torvalds
@ 2019-12-02 8:21 ` Steven Price
0 siblings, 0 replies; 325+ messages in thread
From: Steven Price @ 2019-12-02 8:21 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, mm-commits, Linux-MM
On Sun, Dec 01, 2019 at 09:07:47PM +0000, Linus Torvalds wrote:
> On Sat, Nov 30, 2019 at 5:47 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > Steven Price <steven.price@arm.com>:
> > Patch series "Generic page walk and ptdump", v15:
> > mm: add generic p?d_leaf() macros
> > arc: mm: add p?d_leaf() definitions
> > arm: mm: add p?d_leaf() definitions
> > arm64: mm: add p?d_leaf() definitions
> > mips: mm: add p?d_leaf() definitions
> > powerpc: mm: add p?d_leaf() definitions
> > riscv: mm: add p?d_leaf() definitions
> > s390: mm: add p?d_leaf() definitions
> > sparc: mm: add p?d_leaf() definitions
> > x86: mm: add p?d_leaf() definitions
> > mm: pagewalk: add p4d_entry() and pgd_entry()
> > mm: pagewalk: allow walking without vma
> > mm: pagewalk: add test_p?d callbacks
> > mm: pagewalk: add 'depth' parameter to pte_hole
> > x86: mm: point to struct seq_file from struct pg_state
> > x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct
> > x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct
> > x86: mm: convert ptdump_walk_pgd_level_core() to take an mm_struct
> > mm: add generic ptdump
> > x86: mm: convert dump_pagetables to use walk_page_range
> > arm64: mm: convert mm/dump.c to use walk_page_range()
> > arm64: mm: display non-present entries in ptdump
> > mm: ptdump: reduce level numbers by 1 in note_page()
>
> I've dropped these, and since they clearly weren't ready I don't want
> to see them re-sent for 5.5.
Sorry about this, I'll try to track down the cause of this and hopefully
resubmit for 5.6.
Thanks,
Steve
> If somebody figures out the bug, trying again for 5.6 sounds fine.
>
> Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-11-22 1:53 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-11-22 1:53 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
4 fixes, based on 81429eb8d9ca40b0c65bb739d29fa856c5d5e958:
Vincent Whitchurch <vincent.whitchurch@axis.com>:
mm/sparse: consistently do not zero memmap
Joseph Qi <joseph.qi@linux.alibaba.com>:
Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()"
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_span()
Andrey Ryabinin <aryabinin@virtuozzo.com>:
mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
fs/ocfs2/xattr.c | 56 ++++++++++++++++++++++++++++++----------------------
mm/ksm.c | 14 ++++++-------
mm/memory_hotplug.c | 16 ++++++++++++--
mm/sparse.c | 2 -
4 files changed, 54 insertions(+), 34 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-11-16 1:34 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-11-16 1:34 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
11 fixes, based on 875fef493f21e54d20d71a581687990aaa50268c:
Yang Shi <yang.shi@linux.alibaba.com>:
mm: mempolicy: fix the wrong return value and potential pages leak of mbind
zhong jiang <zhongjiang@huawei.com>:
mm: fix trying to reclaim unevictable lru page when calling madvise_pageout
Lasse Collin <lasse.collin@tukaani.org>:
lib/xz: fix XZ_DYNALLOC to avoid useless memory reallocations
Roman Gushchin <guro@fb.com>:
mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm()
mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup()
Laura Abbott <labbott@redhat.com>:
mm: slub: really fix slab walking for init_on_free
Song Liu <songliubraving@fb.com>:
mm,thp: recheck each page before collapsing file THP
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: fix try_offline_node()
Vinayak Menon <vinmenon@codeaurora.org>:
mm/page_io.c: do not free shared swap slots
Ralph Campbell <rcampbell@nvidia.com>:
mm/debug.c: __dump_page() prints an extra line
mm/debug.c: PageAnon() is true for PageKsm() pages
drivers/base/memory.c | 36 ++++++++++++++++++++++++++++++++++++
include/linux/memory.h | 1 +
lib/xz/xz_dec_lzma2.c | 1 +
mm/debug.c | 33 ++++++++++++++++++---------------
mm/hugetlb_cgroup.c | 2 +-
mm/khugepaged.c | 28 ++++++++++++++++------------
mm/madvise.c | 16 ++++++++++++----
mm/memcontrol.c | 2 +-
mm/memory_hotplug.c | 47 +++++++++++++++++++++++++++++------------------
mm/mempolicy.c | 14 +++++++++-----
mm/page_io.c | 6 +++---
mm/slub.c | 39 +++++++++------------------------------
12 files changed, 136 insertions(+), 89 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-11-06 5:16 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-11-06 5:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
17 fixes, based on 26bc672134241a080a83b2ab9aa8abede8d30e1c:
Shakeel Butt <shakeelb@google.com>:
mm: memcontrol: fix NULL-ptr deref in percpu stats flush
John Hubbard <jhubbard@nvidia.com>:
mm/gup_benchmark: fix MAP_HUGETLB case
Mel Gorman <mgorman@techsingularity.net>:
mm, meminit: recalculate pcpu batch and high limits after init completes
Yang Shi <yang.shi@linux.alibaba.com>:
mm: thp: handle page cache THP correctly in PageTransCompoundMap
Shuning Zhang <sunny.s.zhang@oracle.com>:
ocfs2: protect extent tree in ocfs2_prepare_inode_for_write()
Jason Gunthorpe <jgg@mellanox.com>:
mm/mmu_notifiers: use the right return code for WARN_ON
Michal Hocko <mhocko@suse.com>:
mm, vmstat: hide /proc/pagetypeinfo from normal users
mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo
Ville Syrjälä <ville.syrjala@linux.intel.com>:
mm/khugepaged: fix might_sleep() warn with CONFIG_HIGHPTE=y
Johannes Weiner <hannes@cmpxchg.org>:
mm/page_alloc.c: ratelimit allocation failure warnings more aggressively
Vitaly Wool <vitaly.wool@konsulko.com>:
zswap: add Vitaly to the maintainers list
Kevin Hao <haokexin@gmail.com>:
dump_stack: avoid the livelock of the dump_lock
Song Liu <songliubraving@fb.com>:
MAINTAINERS: update information for "MEMORY MANAGEMENT"
Roman Gushchin <guro@fb.com>:
mm: slab: make page_cgroup_ino() to recognize non-compound slab pages properly
Ilya Leoshkevich <iii@linux.ibm.com>:
scripts/gdb: fix debugging modules compiled with hot/cold partitioning
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: fix updating the node span
Johannes Weiner <hannes@cmpxchg.org>:
mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges
MAINTAINERS | 5 +
fs/ocfs2/file.c | 125 ++++++++++++++++++++++-------
include/linux/mm.h | 5 -
include/linux/mm_types.h | 5 +
include/linux/page-flags.h | 20 ++++
lib/dump_stack.c | 7 +
mm/khugepaged.c | 7 -
mm/memcontrol.c | 23 +++--
mm/memory_hotplug.c | 8 +
mm/mmu_notifier.c | 2
mm/page_alloc.c | 17 ++-
mm/slab.h | 4
mm/vmstat.c | 25 ++++-
scripts/gdb/linux/symbols.py | 3
tools/testing/selftests/vm/gup_benchmark.c | 2
15 files changed, 197 insertions(+), 61 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-10-19 3:19 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-10-19 3:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
Rather a lot of fixes, almost all affecting mm/.
26 patches, based on b9959c7a347d6adbb558fba7e36e9fef3cba3b07:
David Hildenbrand <david@redhat.com>:
drivers/base/memory.c: don't access uninitialized memmaps in soft_offline_page_store()
fs/proc/page.c: don't access uninitialized memmaps in fs/proc/page.c
mm/memory-failure.c: don't access uninitialized memmaps in memory_failure()
Joel Colledge <joel.colledge@linbit.com>:
scripts/gdb: fix lx-dmesg when CONFIG_PRINTK_CALLER is set
Qian Cai <cai@lca.pw>:
mm/page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: don't access uninitialized memmaps in shrink_pgdat_span()
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>:
Patch series "mm/memory_hotplug: Shrink zones before removing memory", v6:
mm/memunmap: don't access uninitialized memmap in memunmap_pages()
Roman Gushchin <guro@fb.com>:
mm: memcg/slab: fix panic in __free_slab() caused by premature memcg pointer release
Chengguang Xu <cgxu519@mykernel.net>:
ocfs2: fix error handling in ocfs2_setattr()
John Hubbard <jhubbard@nvidia.com>:
mm/gup_benchmark: add a missing "w" to getopt string
mm/gup: fix a misnamed "write" argument, and a related bug
Honglei Wang <honglei.wang@oracle.com>:
mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_size
Mike Rapoport <rppt@linux.ibm.com>:
mm: memblock: do not enforce current limit for memblock_phys* family
David Hildenbrand <david@redhat.com>:
hugetlbfs: don't access uninitialized memmaps in pfn_range_valid_gigantic()
Yi Li <yilikernel@gmail.com>:
ocfs2: fix panic due to ocfs2_wq is null
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm/memcontrol: update lruvec counters in mem_cgroup_move_account
Chenwandun <chenwandun@huawei.com>:
zram: fix race between backing_dev_show and backing_dev_store
Ben Dooks <ben.dooks@codethink.co.uk>:
mm: include <linux/huge_mm.h> for is_vma_temporary_stack
mm/filemap.c: include <linux/ramfs.h> for generic_file_vm_ops definition
"Ben Dooks (Codethink)" <ben.dooks@codethink.co.uk>:
mm/init-mm.c: include <linux/mman.h> for vm_committed_as_batch
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
Patch series "Fixes for THP in page cache", v2:
proc/meminfo: fix output alignment
mm/thp: fix node page state in split_huge_page_to_list()
William Kucharski <william.kucharski@oracle.com>:
mm/vmscan.c: support removing arbitrary sized pages from mapping
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>:
mm/thp: allow dropping THP from page cache
Song Liu <songliubraving@fb.com>:
kernel/events/uprobes.c: only do FOLL_SPLIT_PMD for uprobe register
Ilya Leoshkevich <iii@linux.ibm.com>:
scripts/gdb: fix debugging modules on s390
drivers/base/memory.c | 3 +
drivers/block/zram/zram_drv.c | 5 +
fs/ocfs2/file.c | 2
fs/ocfs2/journal.c | 3 -
fs/ocfs2/localalloc.c | 3 -
fs/proc/meminfo.c | 4 -
fs/proc/page.c | 28 ++++++----
kernel/events/uprobes.c | 13 ++++-
mm/filemap.c | 1
mm/gup.c | 14 +++--
mm/huge_memory.c | 9 ++-
mm/hugetlb.c | 5 -
mm/init-mm.c | 1
mm/memblock.c | 6 +-
mm/memcontrol.c | 18 ++++---
mm/memory-failure.c | 14 +++--
mm/memory_hotplug.c | 74 ++++++-----------------------
mm/memremap.c | 11 ++--
mm/page_owner.c | 5 +
mm/rmap.c | 1
mm/slab_common.c | 9 +--
mm/truncate.c | 12 ++++
mm/vmscan.c | 14 ++---
scripts/gdb/linux/dmesg.py | 16 ++++--
scripts/gdb/linux/symbols.py | 8 ++-
scripts/gdb/linux/utils.py | 25 +++++----
tools/testing/selftests/vm/gup_benchmark.c | 2
27 files changed, 166 insertions(+), 140 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-10-14 21:11 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-10-14 21:11 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
The usual shower of hotfixes and some followups to the recently merged
page_owner enhancements.
16 patches, based on 2abd839aa7e615f2bbc50c8ba7deb9e40d186768.
Subsystems affected by this patch series:
Vlastimil Babka <vbabka@suse.cz>:
Patch series "followups to debug_pagealloc improvements through page_owner", v3:
mm, page_owner: fix off-by-one error in __set_page_owner_handle()
mm, page_owner: decouple freeing stack trace from debug_pagealloc
mm, page_owner: rename flag indicating that page is allocated
Qian Cai <cai@lca.pw>:
mm/slub: fix a deadlock in show_slab_objects()
Eric Biggers <ebiggers@google.com>:
lib/generic-radix-tree.c: add kmemleak annotations
Alexander Potapenko <glider@google.com>:
mm/slub.c: init_on_free=1 should wipe freelist ptr for bulk allocations
lib/test_meminit: add a kmem_cache_alloc_bulk() test
David Rientjes <rientjes@google.com>:
mm, hugetlb: allow hugepage allocations to reclaim as needed
Vlastimil Babka <vbabka@suse.cz>:
mm, compaction: fix wrong pfn handling in __reset_isolation_pfn()
Randy Dunlap <rdunlap@infradead.org>:
fs/direct-io.c: fix kernel-doc warning
fs/libfs.c: fix kernel-doc warning
fs/fs-writeback.c: fix kernel-doc warning
bitmap.h: fix kernel-doc warning and typo
xarray.h: fix kernel-doc warning
mm/slab.c: fix kernel-doc warning for __ksize()
Jane Chu <jane.chu@oracle.com>:
mm/memory-failure: poison read receives SIGKILL instead of SIGBUS if mmaped more than once
Documentation/dev-tools/kasan.rst | 3 ++
fs/direct-io.c | 3 --
fs/fs-writeback.c | 2 -
fs/libfs.c | 3 --
include/linux/bitmap.h | 3 +-
include/linux/page_ext.h | 10 ++++++
include/linux/xarray.h | 4 +-
lib/generic-radix-tree.c | 32 +++++++++++++++++-----
lib/test_meminit.c | 27 ++++++++++++++++++
mm/compaction.c | 7 ++--
mm/memory-failure.c | 22 ++++++++-------
mm/page_alloc.c | 6 ++--
mm/page_ext.c | 23 ++++++---------
mm/page_owner.c | 55 +++++++++++++-------------------------
mm/slab.c | 3 ++
mm/slub.c | 35 ++++++++++++++++++------
16 files changed, 152 insertions(+), 86 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-10-07 0:57 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-10-07 0:57 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
The usual shower of hotfixes.
Chris's memcg patches aren't actually fixes - they're mature but a few
niggling review issues were late to arrive.
The ocfs2 fixes are quite old - those took some time to get
reviewer attention.
18 patches, based on 4ea655343ce4180fe9b2c7ec8cb8ef9884a47901.
Subsystems affected by this patch series:
ocfs2
hotfixes
mm/memcg
mm/slab-generic
Subsystem: ocfs2
Jia Guo <guojia12@huawei.com>:
ocfs2: clear zero in unaligned direct IO
Jia-Ju Bai <baijiaju1990@gmail.com>:
fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()
fs: ocfs2: fix a possible null-pointer dereference in ocfs2_write_end_nolock()
fs: ocfs2: fix a possible null-pointer dereference in ocfs2_info_scan_inode_alloc()
Subsystem: hotfixes
Will Deacon <will@kernel.org>:
panic: ensure preemption is disabled during panic()
Anshuman Khandual <anshuman.khandual@arm.com>:
mm/memremap: drop unused SECTION_SIZE and SECTION_MASK
Tejun Heo <tj@kernel.org>:
writeback: fix use-after-free in finish_writeback_work()
Yi Wang <wang.yi59@zte.com.cn>:
mm: fix -Wmissing-prototypes warnings
Baoquan He <bhe@redhat.com>:
memcg: only record foreign writebacks with dirty pages when memcg is not disabled
Michal Hocko <mhocko@suse.com>:
kernel/sysctl.c: do not override max_threads provided by userspace
Vitaly Wool <vitalywool@gmail.com>:
mm/z3fold.c: claim page in the beginning of free
Qian Cai <cai@lca.pw>:
mm/page_alloc.c: fix a crash in free_pages_prepare()
Dan Carpenter <dan.carpenter@oracle.com>:
mm/vmpressure.c: fix a signedness bug in vmpressure_register_event()
Subsystem: mm/memcg
Chris Down <chris@chrisdown.name>:
mm, memcg: proportional memory.{low,min} reclaim
mm, memcg: make memory.emin the baseline for utilisation determination
mm, memcg: make scan aggression always exclude protection
Subsystem: mm/slab-generic
Vlastimil Babka <vbabka@suse.cz>:
Patch series "guarantee natural alignment for kmalloc()", v2:
mm, sl[ou]b: improve memory accounting
mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two)
Documentation/admin-guide/cgroup-v2.rst | 20 +-
Documentation/core-api/memory-allocation.rst | 4
fs/fs-writeback.c | 9 -
fs/ocfs2/aops.c | 25 +++
fs/ocfs2/ioctl.c | 2
fs/ocfs2/xattr.c | 56 +++----
include/linux/memcontrol.h | 67 ++++++---
include/linux/slab.h | 4
kernel/fork.c | 4
kernel/panic.c | 1
mm/memcontrol.c | 5
mm/memremap.c | 2
mm/page_alloc.c | 8 -
mm/shuffle.c | 2
mm/slab_common.c | 19 ++
mm/slob.c | 62 ++++++--
mm/slub.c | 14 +
mm/sparse.c | 2
mm/vmpressure.c | 20 +-
mm/vmscan.c | 198 +++++++++++++++++----------
mm/z3fold.c | 10 +
21 files changed, 363 insertions(+), 171 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-09-25 23:45 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-09-25 23:45 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- almost all of the rest of -mm
- various other subsystems
76 patches, based on 351c8a09b00b5c51c8f58b016fffe51f87e2d820:
Subsystems affected by this patch series:
memcg
misc
core-kernel
lib
checkpatch
reiserfs
fat
fork
cpumask
kexec
uaccess
kconfig
kgdb
bug
ipc
lzo
kasan
madvise
cleanups
pagemap
Subsystem: memcg
Michal Hocko <mhocko@suse.com>:
memcg, kmem: do not fail __GFP_NOFAIL charges
Subsystem: misc
Masahiro Yamada <yamada.masahiro@socionext.com>:
linux/coff.h: add include guard
Subsystem: core-kernel
Valdis Kletnieks <valdis.kletnieks@vt.edu>:
kernel/elfcore.c: include proper prototypes
Subsystem: lib
Michel Lespinasse <walken@google.com>:
rbtree: avoid generating code twice for the cached versions (tools copy)
Patch series "make RB_DECLARE_CALLBACKS more generic", v3:
augmented rbtree: add comments for RB_DECLARE_CALLBACKS macro
augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro
augmented rbtree: rework the RB_DECLARE_CALLBACKS macro definition
Joe Perches <joe@perches.com>:
kernel-doc: core-api: include string.h into core-api
Qian Cai <cai@lca.pw>:
include/trace/events/writeback.h: fix -Wstringop-truncation warnings
Kees Cook <keescook@chromium.org>:
strscpy: reject buffer sizes larger than INT_MAX
Valdis Kletnieks <valdis.kletnieks@vt.edu>:
lib/generic-radix-tree.c: make 2 functions static inline
lib/extable.c: add missing prototypes
Stephen Boyd <swboyd@chromium.org>:
lib/hexdump: make print_hex_dump_bytes() a nop on !DEBUG builds
Subsystem: checkpatch
Joe Perches <joe@perches.com>:
checkpatch: don't interpret stack dumps as commit IDs
checkpatch: improve SPDX license checking
Matteo Croce <mcroce@redhat.com>:
checkpatch.pl: warn on invalid commit id
Brendan Jackman <brendan.jackman@bluwireless.co.uk>:
checkpatch: exclude sizeof sub-expressions from MACRO_ARG_REUSE
Joe Perches <joe@perches.com>:
checkpatch: prefer __section over __attribute__((section(...)))
checkpatch: allow consecutive close braces
Sean Christopherson <sean.j.christopherson@intel.com>:
checkpatch: remove obsolete period from "ambiguous SHA1" query
Joe Perches <joe@perches.com>:
checkpatch: make git output use LANGUAGE=en_US.utf8
Subsystem: reiserfs
Jia-Ju Bai <baijiaju1990@gmail.com>:
fs: reiserfs: remove unnecessary check of bh in remove_from_transaction()
zhengbin <zhengbin13@huawei.com>:
fs/reiserfs/journal.c: remove set but not used variables
fs/reiserfs/stree.c: remove set but not used variables
fs/reiserfs/lbalance.c: remove set but not used variables
fs/reiserfs/objectid.c: remove set but not used variables
fs/reiserfs/prints.c: remove set but not used variables
fs/reiserfs/fix_node.c: remove set but not used variables
fs/reiserfs/do_balan.c: remove set but not used variables
Jason Yan <yanaijie@huawei.com>:
fs/reiserfs/journal.c: remove set but not used variable
fs/reiserfs/do_balan.c: remove set but not used variable
Subsystem: fat
Markus Elfring <elfring@users.sourceforge.net>:
fat: delete an unnecessary check before brelse()
Subsystem: fork
Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>:
fork: improve error message for corrupted page tables
Subsystem: cpumask
Alexey Dobriyan <adobriyan@gmail.com>:
cpumask: nicer for_each_cpumask_and() signature
Subsystem: kexec
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>:
kexec: bail out upon SIGKILL when allocating memory.
Vasily Gorbik <gor@linux.ibm.com>:
kexec: restore arch_kexec_kernel_image_probe declaration
Subsystem: uaccess
Kees Cook <keescook@chromium.org>:
uaccess: add missing __must_check attributes
Subsystem: kconfig
Masahiro Yamada <yamada.masahiro@socionext.com>:
compiler: enable CONFIG_OPTIMIZE_INLINING forcibly
Subsystem: kgdb
Douglas Anderson <dianders@chromium.org>:
kgdb: don't use a notifier to enter kgdb at panic; call directly
scripts/gdb: handle split debug
Subsystem: bug
Kees Cook <keescook@chromium.org>:
Patch series "Clean up WARN() "cut here" handling", v2:
bug: refactor away warn_slowpath_fmt_taint()
bug: rename __WARN_printf_taint() to __WARN_printf()
bug: consolidate warn_slowpath_fmt() usage
bug: lift "cut here" out of __warn()
bug: clean up helper macros to remove __WARN_TAINT()
bug: consolidate __WARN_FLAGS usage
bug: move WARN_ON() "cut here" into exception handler
Subsystem: ipc
Markus Elfring <elfring@users.sourceforge.net>:
ipc/mqueue.c: delete an unnecessary check before the macro call dev_kfree_skb()
ipc/mqueue: improve exception handling in do_mq_notify()
"Joel Fernandes (Google)" <joel@joelfernandes.org>:
ipc/sem.c: convert to use built-in RCU list checking
Subsystem: lzo
Dave Rodgman <dave.rodgman@arm.com>:
lib/lzo/lzo1x_compress.c: fix alignment bug in lzo-rle
Subsystem: kasan
Andrey Konovalov <andreyknvl@google.com>:
Patch series "arm64: untag user pointers passed to the kernel", v19:
lib: untag user pointers in strn*_user
mm: untag user pointers passed to memory syscalls
mm: untag user pointers in mm/gup.c
mm: untag user pointers in get_vaddr_frames
fs/namespace: untag user pointers in copy_mount_options
userfaultfd: untag user pointers
drm/amdgpu: untag user pointers
drm/radeon: untag user pointers in radeon_gem_userptr_ioctl
media/v4l2-core: untag user pointers in videobuf_dma_contig_user_get
tee/shm: untag user pointers in tee_shm_register
vfio/type1: untag user pointers in vaddr_get_pfn
Catalin Marinas <catalin.marinas@arm.com>:
mm: untag user pointers in mmap/munmap/mremap/brk
Subsystem: madvise
Minchan Kim <minchan@kernel.org>:
Patch series "Introduce MADV_COLD and MADV_PAGEOUT", v7:
mm: introduce MADV_COLD
mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM
mm: introduce MADV_PAGEOUT
mm: factor out common parts between MADV_COLD and MADV_PAGEOUT
Subsystem: cleanups
Mike Rapoport <rppt@linux.ibm.com>:
hexagon: drop empty and unused free_initrd_mem
Denis Efremov <efremov@linux.com>:
checkpatch: check for nested (un)?likely() calls
xen/events: remove unlikely() from WARN() condition
fs: remove unlikely() from WARN_ON() condition
wimax/i2400m: remove unlikely() from WARN*() condition
xfs: remove unlikely() from WARN_ON() condition
IB/hfi1: remove unlikely() from IS_ERR*() condition
ntfs: remove (un)?likely() from IS_ERR() conditions
Subsystem: pagemap
Mark Rutland <mark.rutland@arm.com>:
mm: treewide: clarify pgtable_page_{ctor,dtor}() naming
Documentation/core-api/kernel-api.rst | 3
Documentation/vm/split_page_table_lock.rst | 10
arch/alpha/include/uapi/asm/mman.h | 3
arch/arc/include/asm/pgalloc.h | 4
arch/arm/include/asm/tlb.h | 2
arch/arm/mm/mmu.c | 2
arch/arm64/include/asm/tlb.h | 2
arch/arm64/mm/mmu.c | 2
arch/csky/include/asm/pgalloc.h | 2
arch/hexagon/include/asm/pgalloc.h | 2
arch/hexagon/mm/init.c | 13
arch/m68k/include/asm/mcf_pgalloc.h | 6
arch/m68k/include/asm/motorola_pgalloc.h | 6
arch/m68k/include/asm/sun3_pgalloc.h | 2
arch/mips/include/asm/pgalloc.h | 2
arch/mips/include/uapi/asm/mman.h | 3
arch/nios2/include/asm/pgalloc.h | 2
arch/openrisc/include/asm/pgalloc.h | 6
arch/parisc/include/uapi/asm/mman.h | 3
arch/powerpc/mm/pgtable-frag.c | 6
arch/riscv/include/asm/pgalloc.h | 2
arch/s390/mm/pgalloc.c | 6
arch/sh/include/asm/pgalloc.h | 2
arch/sparc/include/asm/pgtable_64.h | 5
arch/sparc/mm/init_64.c | 4
arch/sparc/mm/srmmu.c | 4
arch/um/include/asm/pgalloc.h | 2
arch/unicore32/include/asm/tlb.h | 2
arch/x86/mm/pat_rbtree.c | 19
arch/x86/mm/pgtable.c | 2
arch/xtensa/include/asm/pgalloc.h | 4
arch/xtensa/include/uapi/asm/mman.h | 3
drivers/block/drbd/drbd_interval.c | 29 -
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2
drivers/gpu/drm/radeon/radeon_gem.c | 2
drivers/infiniband/hw/hfi1/verbs.c | 2
drivers/media/v4l2-core/videobuf-dma-contig.c | 9
drivers/net/wimax/i2400m/tx.c | 3
drivers/tee/tee_shm.c | 1
drivers/vfio/vfio_iommu_type1.c | 2
drivers/xen/events/events_base.c | 2
fs/fat/dir.c | 4
fs/namespace.c | 2
fs/ntfs/mft.c | 12
fs/ntfs/namei.c | 2
fs/ntfs/runlist.c | 2
fs/ntfs/super.c | 2
fs/open.c | 2
fs/reiserfs/do_balan.c | 15
fs/reiserfs/fix_node.c | 6
fs/reiserfs/journal.c | 22
fs/reiserfs/lbalance.c | 3
fs/reiserfs/objectid.c | 3
fs/reiserfs/prints.c | 3
fs/reiserfs/stree.c | 4
fs/userfaultfd.c | 22
fs/xfs/xfs_buf.c | 4
include/asm-generic/bug.h | 71 +-
include/asm-generic/pgalloc.h | 8
include/linux/cpumask.h | 14
include/linux/interval_tree_generic.h | 22
include/linux/kexec.h | 2
include/linux/kgdb.h | 2
include/linux/mm.h | 4
include/linux/mm_types_task.h | 4
include/linux/printk.h | 22
include/linux/rbtree_augmented.h | 114 +++-
include/linux/string.h | 5
include/linux/swap.h | 2
include/linux/thread_info.h | 2
include/linux/uaccess.h | 21
include/trace/events/writeback.h | 38 -
include/uapi/asm-generic/mman-common.h | 3
include/uapi/linux/coff.h | 5
ipc/mqueue.c | 22
ipc/sem.c | 3
kernel/debug/debug_core.c | 31 -
kernel/elfcore.c | 1
kernel/fork.c | 16
kernel/kexec_core.c | 2
kernel/panic.c | 48 -
lib/Kconfig.debug | 4
lib/bug.c | 11
lib/extable.c | 1
lib/generic-radix-tree.c | 4
lib/hexdump.c | 21
lib/lzo/lzo1x_compress.c | 14
lib/rbtree_test.c | 37 -
lib/string.c | 12
lib/strncpy_from_user.c | 3
lib/strnlen_user.c | 3
mm/frame_vector.c | 2
mm/gup.c | 4
mm/internal.h | 2
mm/madvise.c | 562 ++++++++++++++++-------
mm/memcontrol.c | 10
mm/mempolicy.c | 3
mm/migrate.c | 2
mm/mincore.c | 2
mm/mlock.c | 4
mm/mmap.c | 34 -
mm/mprotect.c | 2
mm/mremap.c | 13
mm/msync.c | 2
mm/oom_kill.c | 2
mm/swap.c | 42 +
mm/vmalloc.c | 5
mm/vmscan.c | 62 ++
scripts/checkpatch.pl | 69 ++
scripts/gdb/linux/symbols.py | 4
tools/include/linux/rbtree.h | 71 +-
tools/include/linux/rbtree_augmented.h | 145 +++--
tools/lib/rbtree.c | 37 -
114 files changed, 1195 insertions(+), 754 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-09-23 22:31 Andrew Morton
2019-09-24 0:55 ` incoming Linus Torvalds
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2019-09-23 22:31 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
- a few hot fixes
- ocfs2 updates
- almost all of -mm, as below.
134 patches, based on 619e17cf75dd58905aa67ccd494a6ba5f19d6cc6:
Subsystems affected by this patch series:
hotfixes
ocfs2
slab-generic
slab
slub
kmemleak
kasan
cleanups
debug
pagecache
memcg
gup
pagemap
memory-hotplug
sparsemem
vmalloc
initialization
z3fold
compaction
mempolicy
oom-kill
hugetlb
migration
thp
mmap
madvise
shmem
zswap
zsmalloc
Subsystem: hotfixes
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>:
fat: work around race with userspace's read via blockdev while mounting
Vitaly Wool <vitalywool@gmail.com>:
Revert "mm/z3fold.c: fix race between migration and destruction"
Arnd Bergmann <arnd@arndb.de>:
mm: add dummy can_do_mlock() helper
Vitaly Wool <vitalywool@gmail.com>:
z3fold: fix retry mechanism in page reclaim
Greg Thelen <gthelen@google.com>:
kbuild: clean compressed initramfs image
Subsystem: ocfs2
Joseph Qi <joseph.qi@linux.alibaba.com>:
ocfs2: use jbd2_inode dirty range scoping
jbd2: remove jbd2_journal_inode_add_[write|wait]
Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
ocfs2: further debugfs cleanups
Guozhonghua <guozhonghua@h3c.com>:
ocfs2: remove unused ocfs2_calc_tree_trunc_credits()
ocfs2: remove unused ocfs2_orphan_scan_exit() declaration
zhengbin <zhengbin13@huawei.com>:
fs/ocfs2/namei.c: remove set but not used variables
fs/ocfs2/file.c: remove set but not used variables
fs/ocfs2/dir.c: remove set but not used variables
Markus Elfring <elfring@users.sourceforge.net>:
ocfs2: delete unnecessary checks before brelse()
Changwei Ge <gechangwei@live.cn>:
ocfs2: wait for recovering done after direct unlock request
ocfs2: checkpoint appending truncate log transaction before flushing
Colin Ian King <colin.king@canonical.com>:
ocfs2: fix spelling mistake "ambigous" -> "ambiguous"
Subsystem: slab-generic
Waiman Long <longman@redhat.com>:
mm, slab: extend slab/shrink to shrink all memcg caches
Subsystem: slab
Waiman Long <longman@redhat.com>:
mm, slab: move memcg_cache_params structure to mm/slab.h
Subsystem: slub
Qian Cai <cai@lca.pw>:
mm/slub.c: fix -Wunused-function compiler warnings
Subsystem: kmemleak
Nicolas Boichat <drinkcat@chromium.org>:
kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K
Catalin Marinas <catalin.marinas@arm.com>:
Patch series "mm: kmemleak: Use a memory pool for kmemleak object:
mm: kmemleak: make the tool tolerant to struct scan_area allocation failures
mm: kmemleak: simple memory allocation pool for kmemleak objects
mm: kmemleak: use the memory pool for early allocations
Qian Cai <cai@lca.pw>:
mm/kmemleak.c: record the current memory pool size
mm/kmemleak: increase the max mem pool to 1M
Subsystem: kasan
Walter Wu <walter-zh.wu@mediatek.com>:
kasan: add memory corruption identification for software tag-based mode
Mark Rutland <mark.rutland@arm.com>:
lib/test_kasan.c: add roundtrip tests
Subsystem: cleanups
Christophe JAILLET <christophe.jaillet@wanadoo.fr>:
mm/page_poison.c: fix a typo in a comment
YueHaibing <yuehaibing@huawei.com>:
mm/rmap.c: remove set but not used variable 'cstart'
Matthew Wilcox (Oracle) <willy@infradead.org>:
Patch series "Make working with compound pages easier", v2:
mm: introduce page_size()
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: introduce page_shift()
Matthew Wilcox (Oracle) <willy@infradead.org>:
mm: introduce compound_nr()
Yu Zhao <yuzhao@google.com>:
mm: replace list_move_tail() with add_page_to_lru_list_tail()
Subsystem: debug
Vlastimil Babka <vbabka@suse.cz>:
Patch series "debug_pagealloc improvements through page_owner", v2:
mm, page_owner: record page owner for each subpage
mm, page_owner: keep owner info when freeing the page
mm, page_owner, debug_pagealloc: save and dump freeing stack trace
Subsystem: pagecache
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>:
mm/filemap.c: don't initiate writeback if mapping has no dirty pages
mm/filemap.c: rewrite mapping_needs_writeback in less fancy manner
"Matthew Wilcox (Oracle)" <willy@infradead.org>:
mm: page cache: store only head pages in i_pages
Subsystem: memcg
Chris Down <chris@chrisdown.name>:
mm, memcg: throttle allocators when failing reclaim over memory.high
Roman Gushchin <guro@fb.com>:
mm: memcontrol: switch to rcu protection in drain_all_stock()
Johannes Weiner <hannes@cmpxchg.org>:
mm: vmscan: do not share cgroup iteration between reclaimers
Subsystem: gup
[11~From: John Hubbard <jhubbard@nvidia.com>:
Patch series "mm/gup: add make_dirty arg to put_user_pages_dirty_lock()",:
mm/gup: add make_dirty arg to put_user_pages_dirty_lock()
John Hubbard <jhubbard@nvidia.com>:
drivers/gpu/drm/via: convert put_page() to put_user_page*()
net/xdp: convert put_page() to put_user_page*()
Subsystem: pagemap
Wei Yang <richardw.yang@linux.intel.com>:
mm: remove redundant assignment of entry
Minchan Kim <minchan@kernel.org>:
mm: release the spinlock on zap_pte_range
Nicholas Piggin <npiggin@gmail.com>:
Patch series "mm: remove quicklist page table caches":
mm: remove quicklist page table caches
Mike Rapoport <rppt@linux.ibm.com>:
ia64: switch to generic version of pte allocation
sh: switch to generic version of pte allocation
microblaze: switch to generic version of pte allocation
mm: consolidate pgtable_cache_init() and pgd_cache_init()
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm: do not hash address in print_bad_pte()
Subsystem: memory-hotplug
David Hildenbrand <david@redhat.com>:
mm/memory_hotplug: remove move_pfn_range()
drivers/base/node.c: simplify unregister_memory_block_under_nodes()
drivers/base/memory.c: fixup documentation of removable/phys_index/block_size_bytes
driver/base/memory.c: validate memory block size early
drivers/base/memory.c: don't store end_section_nr in memory blocks
Wei Yang <richardw.yang@linux.intel.com>:
mm/memory_hotplug.c: prevent memory leak when reusing pgdat
David Hildenbrand <david@redhat.com>:
Patch series "mm/memory_hotplug: online_pages() cleanups", v2:
mm/memory_hotplug.c: use PFN_UP / PFN_DOWN in walk_system_ram_range()
mm/memory_hotplug: drop PageReserved() check in online_pages_range()
mm/memory_hotplug: simplify online_pages_range()
mm/memory_hotplug: make sure the pfn is aligned to the order when onlining
mm/memory_hotplug: online_pages cannot be 0 in online_pages()
Alastair D'Silva <alastair@d-silva.org>:
Patch series "Add bounds check for Hotplugged memory", v3:
mm/memory_hotplug.c: add a bounds check to check_hotplug_memory_range()
mm/memremap.c: add a bounds check in devm_memremap_pages()
Souptick Joarder <jrdr.linux@gmail.com>:
mm/memory_hotplug.c: s/is/if
Subsystem: sparsemem
Lecopzer Chen <lecopzer.chen@mediatek.com>:
mm/sparse.c: fix memory leak of sparsemap_buf in aligned memory
mm/sparse.c: fix ALIGN() without power of 2 in sparse_buffer_alloc()
Wei Yang <richardw.yang@linux.intel.com>:
mm/sparse.c: use __nr_to_section(section_nr) to get mem_section
Alastair D'Silva <alastair@d-silva.org>:
mm/sparse.c: don't manually decrement num_poisoned_pages
"Alastair D'Silva" <alastair@d-silva.org>:
mm/sparse.c: remove NULL check in clear_hwpoisoned_pages()
Subsystem: vmalloc
"Uladzislau Rezki (Sony)" <urezki@gmail.com>:
mm/vmalloc: do not keep unpurged areas in the busy tree
Pengfei Li <lpf.vector@gmail.com>:
mm/vmalloc: modify struct vmap_area to reduce its size
Austin Kim <austindh.kim@gmail.com>:
mm/vmalloc.c: move 'area->pages' after if statement
Subsystem: initialization
Mike Rapoport <rppt@linux.ibm.com>:
mm: use CPU_BITS_NONE to initialize init_mm.cpu_bitmask
Qian Cai <cai@lca.pw>:
mm: silence -Woverride-init/initializer-overrides
Subsystem: z3fold
Vitaly Wool <vitalywool@gmail.com>:
z3fold: fix memory leak in kmem cache
Subsystem: compaction
Yafang Shao <laoar.shao@gmail.com>:
mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zone
Pengfei Li <lpf.vector@gmail.com>:
mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages()
Subsystem: mempolicy
Kefeng Wang <wangkefeng.wang@huawei.com>:
mm/mempolicy.c: remove unnecessary nodemask check in kernel_migrate_pages()
Subsystem: oom-kill
Joel Savitz <jsavitz@redhat.com>:
mm/oom_kill.c: add task UID to info message on an oom kill
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>:
memcg, oom: don't require __GFP_FS when invoking memcg OOM killer
Edward Chron <echron@arista.com>:
mm/oom: add oom_score_adj and pgtables to Killed process message
Yi Wang <wang.yi59@zte.com.cn>:
mm/oom_kill.c: fix oom_cpuset_eligible() comment
Michal Hocko <mhocko@suse.com>:
mm, oom: consider present pages for the node size
Qian Cai <cai@lca.pw>:
mm/memcontrol.c: fix a -Wunused-function warning
Michal Hocko <mhocko@suse.com>:
memcg, kmem: deprecate kmem.limit_in_bytes
Subsystem: hugetlb
Hillf Danton <hdanton@sina.com>:
Patch series "address hugetlb page allocation stalls", v2:
mm, reclaim: make should_continue_reclaim perform dryrun detection
Vlastimil Babka <vbabka@suse.cz>:
mm, reclaim: cleanup should_continue_reclaim()
mm, compaction: raise compaction priority after it withdrawns
Mike Kravetz <mike.kravetz@oracle.com>:
hugetlbfs: don't retry when pool page allocations start to fail
Subsystem: migration
Pingfan Liu <kernelfans@gmail.com>:
mm/migrate.c: clean up useless code in migrate_vma_collect_pmd()
Subsystem: thp
Kefeng Wang <wangkefeng.wang@huawei.com>:
thp: update split_huge_page_pmd() comment
Song Liu <songliubraving@fb.com>:
Patch series "Enable THP for text section of non-shmem files", v10;:
filemap: check compound_head(page)->mapping in filemap_fault()
filemap: check compound_head(page)->mapping in pagecache_get_page()
filemap: update offset check in filemap_fault()
mm,thp: stats for file backed THP
khugepaged: rename collapse_shmem() and khugepaged_scan_shmem()
mm,thp: add read-only THP support for (non-shmem) FS
mm,thp: avoid writes to file with THP in pagecache
Yang Shi <yang.shi@linux.alibaba.com>:
Patch series "Make deferred split shrinker memcg aware", v6:
mm: thp: extract split_queue_* into a struct
mm: move mem_cgroup_uncharge out of __page_cache_release()
mm: shrinker: make shrinker not depend on memcg kmem
mm: thp: make deferred split shrinker memcg aware
Song Liu <songliubraving@fb.com>:
Patch series "THP aware uprobe", v13:
mm: move memcmp_pages() and pages_identical()
uprobe: use original page when all uprobes are removed
mm, thp: introduce FOLL_SPLIT_PMD
uprobe: use FOLL_SPLIT_PMD instead of FOLL_SPLIT
khugepaged: enable collapse pmd for pte-mapped THP
uprobe: collapse THP pmd after removing all uprobes
Subsystem: mmap
Alexandre Ghiti <alex@ghiti.fr>:
Patch series "Provide generic top-down mmap layout functions", v6:
mm, fs: move randomize_stack_top from fs to mm
arm64: make use of is_compat_task instead of hardcoding this test
arm64: consider stack randomization for mmap base only when necessary
arm64, mm: move generic mmap layout functions to mm
arm64, mm: make randomization selected by generic topdown mmap layout
arm: properly account for stack randomization and stack guard gap
arm: use STACK_TOP when computing mmap base address
arm: use generic mmap top-down layout and brk randomization
mips: properly account for stack randomization and stack guard gap
mips: use STACK_TOP when computing mmap base address
mips: adjust brk randomization offset to fit generic version
mips: replace arch specific way to determine 32bit task with generic version
mips: use generic mmap top-down layout and brk randomization
riscv: make mmap allocation top-down by default
Wei Yang <richardw.yang@linux.intel.com>:
mm/mmap.c: refine find_vma_prev() with rb_last()
Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>:
mm: mmap: increase sockets maximum memory size pgoff for 32bits
Subsystem: madvise
Mike Rapoport <rppt@linux.ibm.com>:
mm/madvise: reduce code duplication in error handling paths
Subsystem: shmem
Miles Chen <miles.chen@mediatek.com>:
shmem: fix obsolete comment in shmem_getpage_gfp()
Subsystem: zswap
Hui Zhu <teawaterz@linux.alibaba.com>:
zpool: add malloc_support_movable to zpool_driver
zswap: use movable memory if zpool support allocate movable memory
Vitaly Wool <vitalywool@gmail.com>:
zswap: do not map same object twice
Subsystem: zsmalloc
Qian Cai <cai@lca.pw>:
mm/zsmalloc.c: fix a -Wunused-function warning
Documentation/ABI/testing/sysfs-kernel-slab | 13
Documentation/admin-guide/cgroup-v1/memory.rst | 4
Documentation/admin-guide/kernel-parameters.txt | 2
arch/Kconfig | 11
arch/alpha/include/asm/pgalloc.h | 2
arch/alpha/include/asm/pgtable.h | 5
arch/arc/include/asm/pgalloc.h | 1
arch/arc/include/asm/pgtable.h | 5
arch/arm/Kconfig | 1
arch/arm/include/asm/pgalloc.h | 2
arch/arm/include/asm/pgtable-nommu.h | 5
arch/arm/include/asm/pgtable.h | 2
arch/arm/include/asm/processor.h | 2
arch/arm/kernel/process.c | 5
arch/arm/mm/flush.c | 7
arch/arm/mm/mmap.c | 80 -----
arch/arm64/Kconfig | 2
arch/arm64/include/asm/pgalloc.h | 2
arch/arm64/include/asm/pgtable.h | 2
arch/arm64/include/asm/processor.h | 2
arch/arm64/kernel/process.c | 8
arch/arm64/mm/flush.c | 3
arch/arm64/mm/mmap.c | 84 -----
arch/arm64/mm/pgd.c | 2
arch/c6x/include/asm/pgtable.h | 5
arch/csky/include/asm/pgalloc.h | 2
arch/csky/include/asm/pgtable.h | 5
arch/h8300/include/asm/pgtable.h | 6
arch/hexagon/include/asm/pgalloc.h | 2
arch/hexagon/include/asm/pgtable.h | 3
arch/hexagon/mm/Makefile | 2
arch/hexagon/mm/pgalloc.c | 10
arch/ia64/Kconfig | 4
arch/ia64/include/asm/pgalloc.h | 64 ----
arch/ia64/include/asm/pgtable.h | 5
arch/ia64/mm/init.c | 2
arch/m68k/include/asm/pgtable_mm.h | 7
arch/m68k/include/asm/pgtable_no.h | 7
arch/microblaze/include/asm/pgalloc.h | 128 --------
arch/microblaze/include/asm/pgtable.h | 7
arch/microblaze/mm/pgtable.c | 4
arch/mips/Kconfig | 2
arch/mips/include/asm/pgalloc.h | 2
arch/mips/include/asm/pgtable.h | 5
arch/mips/include/asm/processor.h | 5
arch/mips/mm/mmap.c | 124 +-------
arch/nds32/include/asm/pgalloc.h | 2
arch/nds32/include/asm/pgtable.h | 2
arch/nios2/include/asm/pgalloc.h | 2
arch/nios2/include/asm/pgtable.h | 2
arch/openrisc/include/asm/pgalloc.h | 2
arch/openrisc/include/asm/pgtable.h | 5
arch/parisc/include/asm/pgalloc.h | 2
arch/parisc/include/asm/pgtable.h | 2
arch/powerpc/include/asm/pgalloc.h | 2
arch/powerpc/include/asm/pgtable.h | 1
arch/powerpc/mm/book3s64/hash_utils.c | 2
arch/powerpc/mm/book3s64/iommu_api.c | 7
arch/powerpc/mm/hugetlbpage.c | 2
arch/riscv/Kconfig | 12
arch/riscv/include/asm/pgalloc.h | 4
arch/riscv/include/asm/pgtable.h | 5
arch/s390/include/asm/pgtable.h | 6
arch/sh/include/asm/pgalloc.h | 56 ---
arch/sh/include/asm/pgtable.h | 5
arch/sh/mm/Kconfig | 3
arch/sh/mm/nommu.c | 4
arch/sparc/include/asm/pgalloc_32.h | 2
arch/sparc/include/asm/pgalloc_64.h | 2
arch/sparc/include/asm/pgtable_32.h | 5
arch/sparc/include/asm/pgtable_64.h | 1
arch/sparc/mm/init_32.c | 1
arch/um/include/asm/pgalloc.h | 2
arch/um/include/asm/pgtable.h | 2
arch/unicore32/include/asm/pgalloc.h | 2
arch/unicore32/include/asm/pgtable.h | 2
arch/x86/include/asm/pgtable_32.h | 2
arch/x86/include/asm/pgtable_64.h | 3
arch/x86/mm/pgtable.c | 6
arch/xtensa/include/asm/pgtable.h | 1
arch/xtensa/include/asm/tlbflush.h | 3
drivers/base/memory.c | 44 +-
drivers/base/node.c | 55 +--
drivers/crypto/chelsio/chtls/chtls_io.c | 5
drivers/gpu/drm/via/via_dmablit.c | 10
drivers/infiniband/core/umem.c | 5
drivers/infiniband/hw/hfi1/user_pages.c | 5
drivers/infiniband/hw/qib/qib_user_pages.c | 5
drivers/infiniband/hw/usnic/usnic_uiom.c | 5
drivers/infiniband/sw/siw/siw_mem.c | 10
drivers/staging/android/ion/ion_system_heap.c | 4
drivers/target/tcm_fc/tfc_io.c | 3
drivers/vfio/vfio_iommu_spapr_tce.c | 8
fs/binfmt_elf.c | 20 -
fs/fat/dir.c | 13
fs/fat/fatent.c | 3
fs/inode.c | 3
fs/io_uring.c | 2
fs/jbd2/journal.c | 2
fs/jbd2/transaction.c | 12
fs/ocfs2/alloc.c | 20 +
fs/ocfs2/aops.c | 13
fs/ocfs2/blockcheck.c | 26 -
fs/ocfs2/cluster/heartbeat.c | 109 +------
fs/ocfs2/dir.c | 3
fs/ocfs2/dlm/dlmcommon.h | 1
fs/ocfs2/dlm/dlmdebug.c | 55 ---
fs/ocfs2/dlm/dlmdebug.h | 16 -
fs/ocfs2/dlm/dlmdomain.c | 7
fs/ocfs2/dlm/dlmunlock.c | 23 +
fs/ocfs2/dlmglue.c | 29 -
fs/ocfs2/extent_map.c | 3
fs/ocfs2/file.c | 13
fs/ocfs2/inode.c | 2
fs/ocfs2/journal.h | 42 --
fs/ocfs2/namei.c | 2
fs/ocfs2/ocfs2.h | 3
fs/ocfs2/super.c | 10
fs/open.c | 8
fs/proc/meminfo.c | 8
fs/proc/task_mmu.c | 6
include/asm-generic/pgalloc.h | 5
include/asm-generic/pgtable.h | 7
include/linux/compaction.h | 22 +
include/linux/fs.h | 32 ++
include/linux/huge_mm.h | 9
include/linux/hugetlb.h | 2
include/linux/jbd2.h | 2
include/linux/khugepaged.h | 12
include/linux/memcontrol.h | 23 -
include/linux/memory.h | 7
include/linux/memory_hotplug.h | 1
include/linux/mm.h | 37 ++
include/linux/mm_types.h | 1
include/linux/mmzone.h | 14
include/linux/page_ext.h | 1
include/linux/pagemap.h | 10
include/linux/quicklist.h | 94 ------
include/linux/shrinker.h | 7
include/linux/slab.h | 62 ----
include/linux/vmalloc.h | 20 -
include/linux/zpool.h | 3
init/main.c | 6
kernel/events/uprobes.c | 81 ++++-
kernel/resource.c | 4
kernel/sched/idle.c | 1
kernel/sysctl.c | 6
lib/Kconfig.debug | 15
lib/Kconfig.kasan | 8
lib/iov_iter.c | 2
lib/show_mem.c | 5
lib/test_kasan.c | 41 ++
mm/Kconfig | 16 -
mm/Kconfig.debug | 4
mm/Makefile | 4
mm/compaction.c | 50 +--
mm/filemap.c | 168 ++++------
mm/gup.c | 125 +++-----
mm/huge_memory.c | 129 ++++++--
mm/hugetlb.c | 89 +++++
mm/hugetlb_cgroup.c | 2
mm/init-mm.c | 2
mm/kasan/common.c | 32 +-
mm/kasan/kasan.h | 14
mm/kasan/report.c | 44 ++
mm/kasan/tags_report.c | 24 +
mm/khugepaged.c | 372 ++++++++++++++++++++----
mm/kmemleak.c | 338 +++++----------------
mm/ksm.c | 18 -
mm/madvise.c | 52 +--
mm/memcontrol.c | 188 ++++++++++--
mm/memfd.c | 2
mm/memory.c | 21 +
mm/memory_hotplug.c | 120 ++++---
mm/mempolicy.c | 4
mm/memremap.c | 5
mm/migrate.c | 13
mm/mmap.c | 12
mm/mmu_gather.c | 2
mm/nommu.c | 2
mm/oom_kill.c | 30 +
mm/page_alloc.c | 27 +
mm/page_owner.c | 127 +++++---
mm/page_poison.c | 2
mm/page_vma_mapped.c | 3
mm/quicklist.c | 103 ------
mm/rmap.c | 25 -
mm/shmem.c | 12
mm/slab.h | 64 ++++
mm/slab_common.c | 37 ++
mm/slob.c | 2
mm/slub.c | 22 -
mm/sparse.c | 25 +
mm/swap.c | 16 -
mm/swap_state.c | 6
mm/util.c | 126 +++++++-
mm/vmalloc.c | 84 +++--
mm/vmscan.c | 163 ++++------
mm/vmstat.c | 2
mm/z3fold.c | 154 ++-------
mm/zpool.c | 16 +
mm/zsmalloc.c | 23 -
mm/zswap.c | 15
net/xdp/xdp_umem.c | 9
net/xdp/xsk.c | 2
usr/Makefile | 3
206 files changed, 2385 insertions(+), 2533 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-23 22:31 incoming Andrew Morton
@ 2019-09-24 0:55 ` Linus Torvalds
2019-09-24 4:31 ` incoming Andrew Morton
0 siblings, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2019-09-24 0:55 UTC (permalink / raw)
To: Andrew Morton, David Rientjes, Vlastimil Babka, Michal Hocko,
Andrea Arcangeli
Cc: mm-commits, Linux-MM
On Mon, Sep 23, 2019 at 3:31 PM Andrew Morton <akpm@linux-foundation.org> wrote:
>
> - almost all of -mm, as below.
I was hoping that we could at least test the THP locality thing? Is it
in your queue at all, or am I supposed to just do it myself?
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-24 0:55 ` incoming Linus Torvalds
@ 2019-09-24 4:31 ` Andrew Morton
2019-09-24 7:48 ` incoming Michal Hocko
0 siblings, 1 reply; 325+ messages in thread
From: Andrew Morton @ 2019-09-24 4:31 UTC (permalink / raw)
To: Linus Torvalds
Cc: David Rientjes, Vlastimil Babka, Michal Hocko, Andrea Arcangeli,
mm-commits, Linux-MM
On Mon, 23 Sep 2019 17:55:24 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Sep 23, 2019 at 3:31 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > - almost all of -mm, as below.
>
> I was hoping that we could at least test the THP locality thing? Is it
> in your queue at all, or am I supposed to just do it myself?
>
Confused. I saw a privately emailed patch from David which nobody
seems to have tested yet. I parked that for consideration after -rc1.
Or are you referring to something else?
This thing keeps stalling. It would be nice to push this along and get
something nailed down which we can at least get into 5.4-rc, perhaps
with a backport-this tag?
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-24 4:31 ` incoming Andrew Morton
@ 2019-09-24 7:48 ` Michal Hocko
2019-09-24 15:34 ` incoming Linus Torvalds
2019-09-24 19:55 ` incoming Vlastimil Babka
0 siblings, 2 replies; 325+ messages in thread
From: Michal Hocko @ 2019-09-24 7:48 UTC (permalink / raw)
To: Andrew Morton
Cc: Linus Torvalds, David Rientjes, Vlastimil Babka,
Andrea Arcangeli, mm-commits, Linux-MM
On Mon 23-09-19 21:31:53, Andrew Morton wrote:
> On Mon, 23 Sep 2019 17:55:24 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> > On Mon, Sep 23, 2019 at 3:31 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> > >
> > > - almost all of -mm, as below.
> >
> > I was hoping that we could at least test the THP locality thing? Is it
> > in your queue at all, or am I supposed to just do it myself?
> >
>
> Confused. I saw a privately emailed patch from David which nobody
> seems to have tested yet. I parked that for consideration after -rc1.
> Or are you referring to something else?
>
> This thing keeps stalling. It would be nice to push this along and get
> something nailed down which we can at least get into 5.4-rc, perhaps
> with a backport-this tag?
The patch proposed by David is really non trivial wrt. potential side
effects. I have provided my review feedback [1] and it didn't get
any reaction. I really believe that we need to debug this properly. A
reproducer would be useful for others to work on that.
There is a more fundamental problem here and we need to address it
rather than to duck tape it and whack a mole afterwards.
[1] http://lkml.kernel.org/r/20190909193020.GD2063@dhcp22.suse.cz
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-24 7:48 ` incoming Michal Hocko
@ 2019-09-24 15:34 ` Linus Torvalds
2019-09-25 6:36 ` incoming Michal Hocko
2019-09-24 19:55 ` incoming Vlastimil Babka
1 sibling, 1 reply; 325+ messages in thread
From: Linus Torvalds @ 2019-09-24 15:34 UTC (permalink / raw)
To: Michal Hocko
Cc: Andrew Morton, David Rientjes, Vlastimil Babka, Andrea Arcangeli,
mm-commits, Linux-MM
On Tue, Sep 24, 2019 at 12:48 AM Michal Hocko <mhocko@kernel.org> wrote:
>
> The patch proposed by David is really non trivial wrt. potential side
> effects.
The thing is, that's not an argument when we know that the current
state is garbage and has a lot of these non-trivial side effects that
are bad.
So the patch by David _fixes_ a non-trivial bad side effect.
You can't then say "there may be other non-trivial side effects that I
don't even know about" as an argument for saying it's bad. David at
least has numbers and an argument for his patch.
Linus
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-24 15:34 ` incoming Linus Torvalds
@ 2019-09-25 6:36 ` Michal Hocko
0 siblings, 0 replies; 325+ messages in thread
From: Michal Hocko @ 2019-09-25 6:36 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, David Rientjes, Vlastimil Babka, Andrea Arcangeli,
mm-commits, Linux-MM
On Tue 24-09-19 08:34:20, Linus Torvalds wrote:
> On Tue, Sep 24, 2019 at 12:48 AM Michal Hocko <mhocko@kernel.org> wrote:
> >
> > The patch proposed by David is really non trivial wrt. potential side
> > effects.
>
> The thing is, that's not an argument when we know that the current
> state is garbage and has a lot of these non-trivial side effects that
> are bad.
>
> So the patch by David _fixes_ a non-trivial bad side effect.
>
> You can't then say "there may be other non-trivial side effects that I
> don't even know about" as an argument for saying it's bad. David at
> least has numbers and an argument for his patch.
All I am saying is that I am not able to wrap my head around this patch
to provide a competent Ack. I also believe that the fix is targetting a
wrong layer of the problem as explained in my review feedback. Appart
from reclaim/compaction interaction mentioned by Vlastimil, it seems
that it is an overly eager fallback to a remote node in the fast path
that is causing a large part of the problem as well. Kcompactd is not
eager enough to keep high order allocations ready for the fast path.
This is not specific to THP we have many other high order allocations
which are going to follow the same pattern, likely not visible in any
counters but still having performance implications.
Let's discuss technical details in the respective email thread
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-09-24 7:48 ` incoming Michal Hocko
2019-09-24 15:34 ` incoming Linus Torvalds
@ 2019-09-24 19:55 ` Vlastimil Babka
1 sibling, 0 replies; 325+ messages in thread
From: Vlastimil Babka @ 2019-09-24 19:55 UTC (permalink / raw)
To: Michal Hocko, Andrew Morton
Cc: Linus Torvalds, David Rientjes, Andrea Arcangeli, mm-commits, Linux-MM
On 9/24/19 9:48 AM, Michal Hocko wrote:
> On Mon 23-09-19 21:31:53, Andrew Morton wrote:
>> On Mon, 23 Sep 2019 17:55:24 -0700 Linus Torvalds
>> <torvalds@linux-foundation.org> wrote:
>>
>>> On Mon, Sep 23, 2019 at 3:31 PM Andrew Morton
>>> <akpm@linux-foundation.org> wrote:
>>>>
>>>> - almost all of -mm, as below.
>>>
>>> I was hoping that we could at least test the THP locality thing?
>>> Is it in your queue at all, or am I supposed to just do it
>>> myself?
>>>
>>
>> Confused. I saw a privately emailed patch from David which nobody
>> seems to have tested yet. I parked that for consideration after
>> -rc1. Or are you referring to something else?
>>
>> This thing keeps stalling. It would be nice to push this along and
>> get something nailed down which we can at least get into 5.4-rc,
>> perhaps with a backport-this tag?
>
> The patch proposed by David is really non trivial wrt. potential
> side effects. I have provided my review feedback [1] and it didn't
> get any reaction. I really believe that we need to debug this
> properly. A reproducer would be useful for others to work on that.
>
> There is a more fundamental problem here and we need to address it
> rather than to duck tape it and whack a mole afterwards.
I believe we found a problem when investigating over-reclaim in this
thread [1] where it seems madvised THP allocation attempt can result in
4MB reclaimed, if there is a small zone such as ZONE_DMA on the node. As
it happens, the patch "[patch 090/134] mm, reclaim: make
should_continue_reclaim perform dryrun detection" in Andrew's pile
should change this 4MB to 32 pages reclaimed (as a side-effect), but
that has to be tested. I'm also working on a patch to not reclaim even
those few pages. Of course there might be more fundamental issues with
reclaim/compaction interaction, but this one seems to become hopefully
clear now.
[1]
https://lore.kernel.org/linux-mm/4b4ba042-3741-7b16-2292-198c569da2aa@profihost.ag/
> [1] http://lkml.kernel.org/r/20190909193020.GD2063@dhcp22.suse.cz
>
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-08-30 23:04 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-08-30 23:04 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
7 fixes, based on 846d2db3e00048da3f650e0cfb0b8d67669cec3e:
Roman Gushchin <guro@fb.com>:
mm: memcontrol: flush percpu slab vmstats on kmem offlining
Andrew Morton <akpm@linux-foundation.org>:
mm/zsmalloc.c: fix build when CONFIG_COMPACTION=n
Roman Gushchin <guro@fb.com>:
mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones"
"Gustavo A. R. Silva" <gustavo@embeddedor.com>:
mm/z3fold.c: fix lock/unlock imbalance in z3fold_page_isolate
Dmitry Safonov <dima@arista.com>:
mailmap: add aliases for Dmitry Safonov
Michal Hocko <mhocko@suse.com>:
mm, memcg: do not set reclaim_state on soft limit reclaim
Shakeel Butt <shakeelb@google.com>:
mm: memcontrol: fix percpu vmstats and vmevents flush
.mailmap | 3 ++
include/linux/mmzone.h | 5 ++--
mm/memcontrol.c | 53 ++++++++++++++++++++++++++++++++-----------------
mm/vmscan.c | 5 ++--
mm/z3fold.c | 1
mm/zsmalloc.c | 2 +
6 files changed, 47 insertions(+), 22 deletions(-)
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2019-08-25 0:54 Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2019-08-25 0:54 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mm-commits, linux-mm
11 fixes, based on 361469211f876e67d7ca3d3d29e6d1c3e313d0f1:
Henry Burns <henryburns@google.com>:
mm/z3fold.c: fix race between migration and destruction
David Rientjes <rientjes@google.com>:
mm, page_alloc: move_freepages should not examine struct page of reserved memory
Qian Cai <cai@lca.pw>:
parisc: fix compilation errrors
Roman Gushchin <guro@fb.com>:
mm: memcontrol: flush percpu vmstats before releasing memcg
mm: memcontrol: flush percpu vmevents before releasing memcg
Jason Xing <kerneljasonxing@linux.alibaba.com>:
psi: get poll_work to run when calling poll syscall next time
Oleg Nesterov <oleg@redhat.com>:
userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx
Vlastimil Babka <vbabka@suse.cz>:
mm, page_owner: handle THP splits correctly
Henry Burns <henryburns@google.com>:
mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitely
mm/zsmalloc.c: fix race condition in zs_destroy_pool
Andrey Ryabinin <aryabinin@virtuozzo.com>:
mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y
^ permalink raw reply [flat|nested] 325+ messages in thread
[parent not found: <20190716162536.bb52b8f34a8ecf5331a86a42@linux-foundation.org>]
* Re: incoming
[not found] <20190716162536.bb52b8f34a8ecf5331a86a42@linux-foundation.org>
@ 2019-07-17 8:47 ` Vlastimil Babka
2019-07-17 8:57 ` incoming Bhaskar Chowdhury
2019-07-17 16:13 ` incoming Linus Torvalds
0 siblings, 2 replies; 325+ messages in thread
From: Vlastimil Babka @ 2019-07-17 8:47 UTC (permalink / raw)
To: linux-kernel, Linus Torvalds
Cc: linux-mm, Jonathan Corbet, Thorsten Leemhuis, LKML
On 7/17/19 1:25 AM, Andrew Morton wrote:
>
> Most of the rest of MM and just about all of the rest of everything
> else.
Hi,
as I've mentioned at LSF/MM [1], I think it would be nice if mm pull
requests had summaries similar to other subsystems. I see they are now
more structured (thanks!), but they are now probably hitting the limit
of what scripting can do to produce a high-level summary for human
readers (unless patch authors themselves provide a blurb that can be
extracted later?).
So I've tried now to provide an example what I had in mind, below. Maybe
it's too concise - if there were "larger" features in this pull request,
they would probably benefit from more details. I'm CCing the known (to
me) consumers of these mails to judge :) Note I've only covered mm, and
core stuff that I think will be interesting to wide audience (change in
LIST_POISON2 value? I'm sure as hell glad to know about that one :)
Feel free to include this in the merge commit, if you find it useful.
Thanks,
Vlastimil
[1] https://lwn.net/Articles/787705/
-----
- z3fold fixes and enhancements by Henry Burns and Vitaly Wool
- more accurate reclaimed slab caches calculations by Yafang Shao
- fix MAP_UNINITIALIZED UAPI symbol to not depend on config, by
Christoph Hellwig
- !CONFIG_MMU fixes by Christoph Hellwig
- new novmcoredd parameter to omit device dumps from vmcore, by Kairui Song
- new test_meminit module for testing heap and pagealloc initialization,
by Alexander Potapenko
- ioremap improvements for huge mappings, by Anshuman Khandual
- generalize kprobe page fault handling, by Anshuman Khandual
- device-dax hotplug fixes and improvements, by Pavel Tatashin
- enable synchronous DAX fault on powerpc, by Aneesh Kumar K.V
- add pte_devmap() support for arm64, by Robin Murphy
- unify locked_vm accounting with a helper, by Daniel Jordan
- several misc fixes
core/lib
- new typeof_member() macro including some users, by Alexey Dobriyan
- make BIT() and GENMASK() available in asm, by Masahiro Yamada
- changed LIST_POISON2 on x86_64 to 0xdead000000000122 for better code
generation, by Alexey Dobriyan
- rbtree code size optimizations, by Michel Lespinasse
- convert struct pid count to refcount_t, by Joel Fernandes
get_maintainer.pl
- add --no-moderated switch to skip moderated ML's, by Joe Perches
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-07-17 8:47 ` incoming Vlastimil Babka
@ 2019-07-17 8:57 ` Bhaskar Chowdhury
2019-07-17 16:13 ` incoming Linus Torvalds
1 sibling, 0 replies; 325+ messages in thread
From: Bhaskar Chowdhury @ 2019-07-17 8:57 UTC (permalink / raw)
To: Vlastimil Babka
Cc: linux-kernel, Linus Torvalds, linux-mm, Jonathan Corbet,
Thorsten Leemhuis
[-- Attachment #1: Type: text/plain, Size: 2496 bytes --]
Cool !!
On 10:47 Wed 17 Jul , Vlastimil Babka wrote:
>On 7/17/19 1:25 AM, Andrew Morton wrote:
>>
>> Most of the rest of MM and just about all of the rest of everything
>> else.
>
>Hi,
>
>as I've mentioned at LSF/MM [1], I think it would be nice if mm pull
>requests had summaries similar to other subsystems. I see they are now
>more structured (thanks!), but they are now probably hitting the limit
>of what scripting can do to produce a high-level summary for human
>readers (unless patch authors themselves provide a blurb that can be
>extracted later?).
>
>So I've tried now to provide an example what I had in mind, below. Maybe
>it's too concise - if there were "larger" features in this pull request,
>they would probably benefit from more details. I'm CCing the known (to
>me) consumers of these mails to judge :) Note I've only covered mm, and
>core stuff that I think will be interesting to wide audience (change in
>LIST_POISON2 value? I'm sure as hell glad to know about that one :)
>
>Feel free to include this in the merge commit, if you find it useful.
>
>Thanks,
>Vlastimil
>
>[1] https://lwn.net/Articles/787705/
>
>-----
>
>- z3fold fixes and enhancements by Henry Burns and Vitaly Wool
>- more accurate reclaimed slab caches calculations by Yafang Shao
>- fix MAP_UNINITIALIZED UAPI symbol to not depend on config, by
>Christoph Hellwig
>- !CONFIG_MMU fixes by Christoph Hellwig
>- new novmcoredd parameter to omit device dumps from vmcore, by Kairui Song
>- new test_meminit module for testing heap and pagealloc initialization,
>by Alexander Potapenko
>- ioremap improvements for huge mappings, by Anshuman Khandual
>- generalize kprobe page fault handling, by Anshuman Khandual
>- device-dax hotplug fixes and improvements, by Pavel Tatashin
>- enable synchronous DAX fault on powerpc, by Aneesh Kumar K.V
>- add pte_devmap() support for arm64, by Robin Murphy
>- unify locked_vm accounting with a helper, by Daniel Jordan
>- several misc fixes
>
>core/lib
>- new typeof_member() macro including some users, by Alexey Dobriyan
>- make BIT() and GENMASK() available in asm, by Masahiro Yamada
>- changed LIST_POISON2 on x86_64 to 0xdead000000000122 for better code
>generation, by Alexey Dobriyan
>- rbtree code size optimizations, by Michel Lespinasse
>- convert struct pid count to refcount_t, by Joel Fernandes
>
>get_maintainer.pl
>- add --no-moderated switch to skip moderated ML's, by Joe Perches
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-07-17 8:47 ` incoming Vlastimil Babka
2019-07-17 8:57 ` incoming Bhaskar Chowdhury
@ 2019-07-17 16:13 ` Linus Torvalds
2019-07-17 17:09 ` incoming Christian Brauner
2019-07-17 18:13 ` incoming Vlastimil Babka
1 sibling, 2 replies; 325+ messages in thread
From: Linus Torvalds @ 2019-07-17 16:13 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Linux List Kernel Mailing, linux-mm, Jonathan Corbet, Thorsten Leemhuis
On Wed, Jul 17, 2019 at 1:47 AM Vlastimil Babka <vbabka@suse.cz> wrote:
>
> So I've tried now to provide an example what I had in mind, below.
I'll take it as a trial. I added one-line notes about coda and the
PTRACE_GET_SYSCALL_INFO interface too.
I do hope that eventually I'll just get pull requests, and they'll
have more of a "theme" than this all (*)
Linus
(*) Although in many ways, the theme for Andrew is "falls through the
cracks otherwise" so I'm not really complaining. This has been working
for years and years.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-07-17 16:13 ` incoming Linus Torvalds
@ 2019-07-17 17:09 ` Christian Brauner
2019-07-17 18:13 ` incoming Vlastimil Babka
1 sibling, 0 replies; 325+ messages in thread
From: Christian Brauner @ 2019-07-17 17:09 UTC (permalink / raw)
To: Linus Torvalds
Cc: Vlastimil Babka, Linux List Kernel Mailing, linux-mm,
Jonathan Corbet, Thorsten Leemhuis
On Wed, Jul 17, 2019 at 09:13:26AM -0700, Linus Torvalds wrote:
> On Wed, Jul 17, 2019 at 1:47 AM Vlastimil Babka <vbabka@suse.cz> wrote:
> >
> > So I've tried now to provide an example what I had in mind, below.
>
> I'll take it as a trial. I added one-line notes about coda and the
> PTRACE_GET_SYSCALL_INFO interface too.
>
> I do hope that eventually I'll just get pull requests, and they'll
> have more of a "theme" than this all (*)
>
> Linus
>
> (*) Although in many ways, the theme for Andrew is "falls through the
> cracks otherwise" so I'm not really complaining. This has been working
I put all pid{fd}/clone{3} which is mostly related to pid.c, exit.c,
fork.c into my tree and try to give it a consistent theme for the prs I
sent. And that at least from my perspective that worked and was pretty
easy to coordinate with Andrew. That should hopefully make it a little
easier to theme the -mm tree overall going forward.
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2019-07-17 16:13 ` incoming Linus Torvalds
2019-07-17 17:09 ` incoming Christian Brauner
@ 2019-07-17 18:13 ` Vlastimil Babka
1 sibling, 0 replies; 325+ messages in thread
From: Vlastimil Babka @ 2019-07-17 18:13 UTC (permalink / raw)
To: Linus Torvalds
Cc: Linux List Kernel Mailing, linux-mm, Jonathan Corbet, Thorsten Leemhuis
On 7/17/19 6:13 PM, Linus Torvalds wrote:
> On Wed, Jul 17, 2019 at 1:47 AM Vlastimil Babka <vbabka@suse.cz> wrote:
>>
>> So I've tried now to provide an example what I had in mind, below.
>
> I'll take it as a trial. I added one-line notes about coda and the
> PTRACE_GET_SYSCALL_INFO interface too.
Thanks.
> I do hope that eventually I'll just get pull requests,
Very much agree, that was also discussed at length in the LSF/MM mm
process session I've linked.
> and they'll
> have more of a "theme" than this all (*)
I'll check if the first patch bomb would be more amenable to that, as I
plan to fill in the mm part for 5.3 on LinuxChanges wiki, but for a
merge commit it's too late.
> Linus
>
> (*) Although in many ways, the theme for Andrew is "falls through the
> cracks otherwise" so I'm not really complaining. This has been working
> for years and years.
Nevermind the misc stuff that much, but I think mm itself is more
important and deserves what other subsystems have.
^ permalink raw reply [flat|nested] 325+ messages in thread
* incoming
@ 2007-05-02 22:02 Andrew Morton
2007-05-02 22:31 ` incoming Benjamin Herrenschmidt
` (2 more replies)
0 siblings, 3 replies; 325+ messages in thread
From: Andrew Morton @ 2007-05-02 22:02 UTC (permalink / raw)
To: Linus Torvalds
Cc: Hugh Dickins, Christoph Lameter, David S. Miller, Andi Kleen,
Luck, Tony, Rik van Riel, Benjamin Herrenschmidt, linux-kernel,
linux-mm
So this is what I have lined up for the first mm->2.6.22 batch. I won't be
sending it off for another 12-24 hours yet. To give people time for final
comment and to give me time to see if it actually works.
- A few serial bits.
- A few pcmcia bits.
- Some of the MM queue. Includes:
- An enhancement to /proc/pid/smaps to permit monitoring of a running
program's working set.
There's another patchset which builds on this quite a lot from Matt
Mackall, but it's not quite ready yet.
- The SLUB allocator. It's pretty green but I do want to push ahead
with this pretty aggressively with a view to replacing slab altogether.
If it ends up not working out then we should remove slub altogether
again, but I doubt if that will occur.
If SLUB isn't in good shape by 2.6.22 we should hide it in Kconfig
to prevent people from hitting known problems. It'll remain
EXPERIMENTAL.
- generic pagetable quicklist management. We have x86_64 and ia64
and sparc64 implementations, but I'll only include David's sparc64
implementation here. I'll send the x86_64 and ia64 implementations
through maintainers.
- Various random MM bits
- Benh's teach-get_unmapped_area-about-MAP_FIXED changes
- madvise(MADV_FREE)
This means I'm holding back Mel's page allocator work, and Andy's
lumpy-reclaim.
A shame in a way - I have high hopes for lumpy reclaim against the
moveable zone, but these things are not to be done lightly.
A few MM things have been held back awaiting subsystem tree merges
(probably x86 - I didn't check).
- One little security patch
- the blackfin architecture
- small h8300 update
- small alpha update
- swsusp updates
- m68k bits
- cris udpates
- Lots of UML updates
- v850, xtensa
slab-introduce-krealloc.patch
at91_cf-minor-fix.patch
add-new_id-to-pcmcia-drivers.patch
ide-cs-recognize-2gb-compactflash-from-transcend.patch
serial-driver-pmc-msp71xx.patch
rm9000-serial-driver.patch
serial-define-fixed_port-flag-for-serial_core.patch
serial-use-resource_size_t-for-serial-port-io-addresses.patch
mpsc-serial-driver-tx-locking.patch
8250_pci-fix-pci-must_checks.patch
serial-serial_core-use-pr_debug.patch
add-apply_to_page_range-which-applies-a-function-to-a-pte-range.patch
safer-nr_node_ids-and-nr_node_ids-determination-and-initial.patch
use-zvc-counters-to-establish-exact-size-of-dirtyable-pages.patch
proper-prototype-for-hugetlb_get_unmapped_area.patch
mm-remove-gcc-workaround.patch
slab-ensure-cache_alloc_refill-terminates.patch
mm-make-read_cache_page-synchronous.patch
fs-buffer-dont-pageuptodate-without-page-locked.patch
allow-oom_adj-of-saintly-processes.patch
introduce-config_has_dma.patch
mm-slabc-proper-prototypes.patch
add-pfn_valid_within-helper-for-sub-max_order-hole-detection.patch
mm-simplify-filemap_nopage.patch
add-unitialized_var-macro-for-suppressing-gcc-warnings.patch
i386-add-ptep_test_and_clear_dirtyyoung.patch
i386-use-pte_update_defer-in-ptep_test_and_clear_dirtyyoung.patch
smaps-extract-pmd-walker-from-smaps-code.patch
smaps-add-pages-referenced-count-to-smaps.patch
smaps-add-clear_refs-file-to-clear-reference.patch
readahead-improve-heuristic-detecting-sequential-reads.patch
readahead-code-cleanup.patch
slab-use-num_possible_cpus-in-enable_cpucache.patch
slab-dont-allocate-empty-shared-caches.patch
slab-numa-kmem_cache-diet.patch
do-not-disable-interrupts-when-reading-min_free_kbytes.patch
slab-mark-set_up_list3s-__init.patch
cpusets-allow-tif_memdie-threads-to-allocate-anywhere.patch
i386-use-page-allocator-to-allocate-thread_info-structure.patch
slub-core.patch
make-page-private-usable-in-compound-pages-v1.patch
optimize-compound_head-by-avoiding-a-shared-page.patch
add-virt_to_head_page-and-consolidate-code-in-slab-and-slub.patch
slub-fix-object-tracking.patch
slub-enable-tracking-of-full-slabs.patch
slub-validation-of-slabs-metadata-and-guard-zones.patch
slub-add-min_partial.patch
slub-add-ability-to-list-alloc--free-callers-per-slab.patch
slub-free-slabs-and-sort-partial-slab-lists-in-kmem_cache_shrink.patch
slub-remove-object-activities-out-of-checking-functions.patch
slub-user-documentation.patch
slub-add-slabinfo-tool.patch
quicklists-for-page-table-pages.patch
quicklist-support-for-sparc64.patch
slob-handle-slab_panic-flag.patch
include-kern_-constant-in-printk-calls-in-mm-slabc.patch
mm-madvise-avoid-exclusive-mmap_sem.patch
mm-remove-destroy_dirty_buffers-from-invalidate_bdev.patch
mm-optimize-kill_bdev.patch
mm-optimize-acorn-partition-truncate.patch
slab-allocators-remove-obsolete-slab_must_hwcache_align.patch
kmem_cache-simplify-slab-cache-creation.patch
slab-allocators-remove-multiple-alignment-specifications.patch
fault-injection-fix-failslab-with-config_numa.patch
mm-fix-handling-of-panic_on_oom-when-cpusets-are-in-use.patch
oom-fix-constraint-deadlock.patch
get_unmapped_area-handles-map_fixed-on-powerpc.patch
get_unmapped_area-handles-map_fixed-on-alpha.patch
get_unmapped_area-handles-map_fixed-on-arm.patch
get_unmapped_area-handles-map_fixed-on-frv.patch
get_unmapped_area-handles-map_fixed-on-i386.patch
get_unmapped_area-handles-map_fixed-on-ia64.patch
get_unmapped_area-handles-map_fixed-on-parisc.patch
get_unmapped_area-handles-map_fixed-on-sparc64.patch
get_unmapped_area-handles-map_fixed-on-x86_64.patch
get_unmapped_area-handles-map_fixed-in-hugetlbfs.patch
get_unmapped_area-handles-map_fixed-in-generic-code.patch
get_unmapped_area-doesnt-need-hugetlbfs-hacks-anymore.patch
slab-allocators-remove-slab_debug_initial-flag.patch
slab-allocators-remove-slab_ctor_atomic.patch
slab-allocators-remove-useless-__gfp_no_grow-flag.patch
lazy-freeing-of-memory-through-madv_free.patch
restore-madv_dontneed-to-its-original-linux-behaviour.patch
hugetlbfs-add-null-check-in-hugetlb_zero_setup.patch
slob-fix-page-order-calculation-on-not-4kb-page.patch
page-migration-only-migrate-pages-if-allocation-in-the-highest-zone-is-possible.patch
return-eperm-not-echild-on-security_task_wait-failure.patch
blackfin-arch.patch
driver_bfin_serial_core.patch
blackfin-on-chip-ethernet-mac-controller-driver.patch
blackfin-patch-add-blackfin-support-in-smc91x.patch
blackfin-on-chip-rtc-controller-driver.patch
blackfin-blackfin-on-chip-spi-controller-driver.patch
convert-h8-300-to-generic-timekeeping.patch
h8300-generic-irq.patch
h8300-add-zimage-support.patch
round_up-macro-cleanup-in-arch-alpha-kernel-osf_sysc.patch
alpha-fix-bootp-image-creation.patch
alpha-prctl-macros.patch
srmcons-fix-kmallocgfp_kernel-inside-spinlock.patch
arm26-remove-useless-config-option-generic_bust_spinlock.patch
fix-refrigerator-vs-thaw_process-race.patch
swsusp-use-inline-functions-for-changing-page-flags.patch
swsusp-do-not-use-page-flags.patch
mm-remove-unused-page-flags.patch
swsusp-fix-error-paths-in-snapshot_open.patch
swsusp-use-gfp_kernel-for-creating-basic-data-structures.patch
freezer-remove-pf_nofreeze-from-handle_initrd.patch
swsusp-use-rbtree-for-tracking-allocated-swap.patch
freezer-fix-racy-usage-of-try_to_freeze-in-kswapd.patch
remove-software_suspend.patch
power-management-change-sys-power-disk-display.patch
kconfig-mentioneds-hibernation-not-just-swsusp.patch
swsusp-fix-snapshot_release.patch
swsusp-free-more-memory.patch
remove-unused-header-file-arch-m68k-atari-atasoundh.patch
spin_lock_unlocked-cleanup-in-arch-m68k.patch
remove-unused-header-file-drivers-serial-crisv10h.patch
cris-check-for-memory-allocation.patch
cris-remove-code-related-to-pre-22-kernel.patch
uml-delete-unused-code.patch
uml-formatting-fixes.patch
uml-host_info-tidying.patch
uml-mark-tt-mode-code-for-future-removal.patch
uml-print-coredump-limits.patch
uml-handle-block-device-hotplug-errors.patch
uml-driver-formatting-fixes.patch
uml-driver-formatting-fixes-fix.patch
uml-network-interface-hotplug-error-handling.patch
array_size-check-for-type.patch
uml-move-sigio-testing-to-sigioc.patch
uml-create-archh.patch
uml-create-as-layouth.patch
uml-move-remaining-useful-contents-of-user_utilh.patch
uml-remove-user_utilh.patch
uml-add-missing-__init-declarations.patch
remove-unused-header-file-arch-um-kernel-tt-include-mode_kern-tth.patch
uml-improve-checking-and-diagnostics-of-ethernet-macs.patch
uml-eliminate-temporary-buffer-in-eth_configure.patch
uml-replace-one-element-array-with-zero-element-array.patch
uml-fix-umid-in-xterm-titles.patch
uml-speed-up-exec.patch
uml-no-locking-needed-in-tlsc.patch
uml-tidy-processc.patch
uml-remove-page_size.patch
uml-kernel_thread-shouldnt-panic.patch
uml-tidy-fault-code.patch
uml-kernel-segfaults-should-dump-proper-registers.patch
uml-comment-early-boot-locking.patch
uml-irq-locking-commentary.patch
uml-delete-host_frame_size.patch
uml-drivers-get-release-methods.patch
uml-dump-registers-on-ptrace-or-wait-failure.patch
uml-speed-up-page-table-walking.patch
uml-remove-unused-x86_64-code.patch
uml-start-fixing-os_read_file-and-os_write_file.patch
uml-tidy-libc-code.patch
uml-convert-libc-layer-to-call-read-and-write.patch
uml-batch-i-o-requests.patch
uml-send-pointers-instead-of-structures-to-i-o-thread.patch
uml-send-pointers-instead-of-structures-to-i-o-thread-fix.patch
uml-dump-core-on-panic.patch
uml-dont-try-to-handle-signals-on-initial-process-stack.patch
uml-change-remaining-callers-of-os_read_write_file.patch
uml-formatting-fixes-around-os_read_write_file-callers.patch
uml-remove-debugging-remnants.patch
uml-rename-os_read_write_file_k-back-to-os_read_write_file.patch
uml-aio-deadlock-avoidance.patch
uml-speed-page-fault-path.patch
uml-eliminate-a-piece-of-debugging-code.patch
uml-more-page-fault-path-trimming.patch
uml-only-flush-areas-covered-by-vma.patch
uml-out-of-tmpfs-space-error-clarification.patch
uml-virtualized-time-fix.patch
uml-fix-prototypes.patch
v850-generic-timekeeping-conversion.patch
xtensa-strlcpy-is-smart-enough.patch
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-02 22:02 incoming Andrew Morton
@ 2007-05-02 22:31 ` Benjamin Herrenschmidt
2007-05-03 7:55 ` incoming Russell King
2007-05-04 13:37 ` incoming Greg KH
2 siblings, 0 replies; 325+ messages in thread
From: Benjamin Herrenschmidt @ 2007-05-02 22:31 UTC (permalink / raw)
To: Andrew Morton
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, linux-kernel, linux-mm
On Wed, 2007-05-02 at 15:02 -0700, Andrew Morton wrote:
> So this is what I have lined up for the first mm->2.6.22 batch. I won't be
> sending it off for another 12-24 hours yet. To give people time for final
> comment and to give me time to see if it actually works.
Thanks.
I have some powerpc bits that depend on that stuff that will go through
Paulus after these show up in git and I've rebased.
Cheers,
Ben.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-02 22:02 incoming Andrew Morton
2007-05-02 22:31 ` incoming Benjamin Herrenschmidt
@ 2007-05-03 7:55 ` Russell King
2007-05-03 8:05 ` incoming Andrew Morton
2007-05-04 13:37 ` incoming Greg KH
2 siblings, 1 reply; 325+ messages in thread
From: Russell King @ 2007-05-03 7:55 UTC (permalink / raw)
To: Andrew Morton
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, Benjamin Herrenschmidt,
linux-kernel, linux-mm
On Wed, May 02, 2007 at 03:02:52PM -0700, Andrew Morton wrote:
> So this is what I have lined up for the first mm->2.6.22 batch. I won't be
> sending it off for another 12-24 hours yet. To give people time for final
> comment and to give me time to see if it actually works.
I assume you're going to update this list with my comments I sent
yesterday?
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-03 7:55 ` incoming Russell King
@ 2007-05-03 8:05 ` Andrew Morton
0 siblings, 0 replies; 325+ messages in thread
From: Andrew Morton @ 2007-05-03 8:05 UTC (permalink / raw)
To: Russell King
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, Benjamin Herrenschmidt,
linux-kernel, linux-mm
On Thu, 3 May 2007 08:55:43 +0100 Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> On Wed, May 02, 2007 at 03:02:52PM -0700, Andrew Morton wrote:
> > So this is what I have lined up for the first mm->2.6.22 batch. I won't be
> > sending it off for another 12-24 hours yet. To give people time for final
> > comment and to give me time to see if it actually works.
>
> I assume you're going to update this list with my comments I sent
> yesterday?
>
Serial drivers? Well you saw me drop a bunch of them. I now have:
serial-driver-pmc-msp71xx.patch
rm9000-serial-driver.patch
serial-define-fixed_port-flag-for-serial_core.patch
mpsc-serial-driver-tx-locking.patch
serial-serial_core-use-pr_debug.patch
I'll also be holding off on MADV_FREE - Nick has some performance things to
share and I'm assuming they're not as good as he'd like.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-02 22:02 incoming Andrew Morton
2007-05-02 22:31 ` incoming Benjamin Herrenschmidt
2007-05-03 7:55 ` incoming Russell King
@ 2007-05-04 13:37 ` Greg KH
2007-05-04 16:14 ` incoming Andrew Morton
2 siblings, 1 reply; 325+ messages in thread
From: Greg KH @ 2007-05-04 13:37 UTC (permalink / raw)
To: Andrew Morton
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, Benjamin Herrenschmidt,
linux-kernel, linux-mm
On Wed, May 02, 2007 at 03:02:52PM -0700, Andrew Morton wrote:
> - One little security patch
Care to cc: linux-stable with it so we can do a new 2.6.21 release with
it if needed?
thanks,
greg k-h
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-04 13:37 ` incoming Greg KH
@ 2007-05-04 16:14 ` Andrew Morton
2007-05-04 17:02 ` incoming Greg KH
2007-05-04 18:57 ` incoming Roland McGrath
0 siblings, 2 replies; 325+ messages in thread
From: Andrew Morton @ 2007-05-04 16:14 UTC (permalink / raw)
To: Greg KH
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, Benjamin Herrenschmidt,
linux-kernel, linux-mm, Roland McGrath, Stephen Smalley
On Fri, 4 May 2007 06:37:28 -0700 Greg KH <greg@kroah.com> wrote:
> On Wed, May 02, 2007 at 03:02:52PM -0700, Andrew Morton wrote:
> > - One little security patch
>
> Care to cc: linux-stable with it so we can do a new 2.6.21 release with
> it if needed?
>
Ah. The patch affects security code, but it doesn't actually address any
insecurity. I didn't think it was needed for -stable?
From: Roland McGrath <roland@redhat.com>
wait* syscalls return -ECHILD even when an individual PID of a live child
was requested explicitly, when security_task_wait denies the operation.
This means that something like a broken SELinux policy can produce an
unexpected failure that looks just like a bug with wait or ptrace or
something.
This patch makes do_wait return -EACCES (or other appropriate error returned
from security_task_wait() instead of -ECHILD if some children were ruled out
solely because security_task_wait failed.
[jmorris@namei.org: switch error code to EACCES]
Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/exit.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff -puN kernel/exit.c~return-eperm-not-echild-on-security_task_wait-failure kernel/exit.c
--- a/kernel/exit.c~return-eperm-not-echild-on-security_task_wait-failure
+++ a/kernel/exit.c
@@ -1033,6 +1033,8 @@ asmlinkage void sys_exit_group(int error
static int eligible_child(pid_t pid, int options, struct task_struct *p)
{
+ int err;
+
if (pid > 0) {
if (p->pid != pid)
return 0;
@@ -1066,8 +1068,9 @@ static int eligible_child(pid_t pid, int
if (delay_group_leader(p))
return 2;
- if (security_task_wait(p))
- return 0;
+ err = security_task_wait(p);
+ if (err)
+ return err;
return 1;
}
@@ -1449,6 +1452,7 @@ static long do_wait(pid_t pid, int optio
DECLARE_WAITQUEUE(wait, current);
struct task_struct *tsk;
int flag, retval;
+ int allowed, denied;
add_wait_queue(¤t->signal->wait_chldexit,&wait);
repeat:
@@ -1457,6 +1461,7 @@ repeat:
* match our criteria, even if we are not able to reap it yet.
*/
flag = 0;
+ allowed = denied = 0;
current->state = TASK_INTERRUPTIBLE;
read_lock(&tasklist_lock);
tsk = current;
@@ -1472,6 +1477,12 @@ repeat:
if (!ret)
continue;
+ if (unlikely(ret < 0)) {
+ denied = ret;
+ continue;
+ }
+ allowed = 1;
+
switch (p->state) {
case TASK_TRACED:
/*
@@ -1570,6 +1581,8 @@ check_continued:
goto repeat;
}
retval = -ECHILD;
+ if (unlikely(denied) && !allowed)
+ retval = denied;
end:
current->state = TASK_RUNNING;
remove_wait_queue(¤t->signal->wait_chldexit,&wait);
_
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-04 16:14 ` incoming Andrew Morton
@ 2007-05-04 17:02 ` Greg KH
2007-05-04 18:57 ` incoming Roland McGrath
1 sibling, 0 replies; 325+ messages in thread
From: Greg KH @ 2007-05-04 17:02 UTC (permalink / raw)
To: Andrew Morton
Cc: Linus Torvalds, Hugh Dickins, Christoph Lameter, David S. Miller,
Andi Kleen, Luck, Tony, Rik van Riel, Benjamin Herrenschmidt,
linux-kernel, linux-mm, Roland McGrath, Stephen Smalley
On Fri, May 04, 2007 at 09:14:34AM -0700, Andrew Morton wrote:
> On Fri, 4 May 2007 06:37:28 -0700 Greg KH <greg@kroah.com> wrote:
>
> > On Wed, May 02, 2007 at 03:02:52PM -0700, Andrew Morton wrote:
> > > - One little security patch
> >
> > Care to cc: linux-stable with it so we can do a new 2.6.21 release with
> > it if needed?
> >
>
> Ah. The patch affects security code, but it doesn't actually address any
> insecurity. I didn't think it was needed for -stable?
Ah, ok, I read "security" as fixing a insecure problem, my mistake :)
thanks,
greg k-h
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-04 16:14 ` incoming Andrew Morton
2007-05-04 17:02 ` incoming Greg KH
@ 2007-05-04 18:57 ` Roland McGrath
2007-05-04 19:24 ` incoming Greg KH
1 sibling, 1 reply; 325+ messages in thread
From: Roland McGrath @ 2007-05-04 18:57 UTC (permalink / raw)
To: Andrew Morton
Cc: Greg KH, Linus Torvalds, Hugh Dickins, Christoph Lameter,
David S. Miller, Andi Kleen, Luck, Tony, Rik van Riel,
Benjamin Herrenschmidt, linux-kernel, linux-mm, Stephen Smalley
> Ah. The patch affects security code, but it doesn't actually address any
> insecurity. I didn't think it was needed for -stable?
I would not recommend it for -stable.
It is an ABI change for the case of a security refusal.
Thanks,
Roland
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-04 18:57 ` incoming Roland McGrath
@ 2007-05-04 19:24 ` Greg KH
2007-05-04 19:29 ` incoming Roland McGrath
0 siblings, 1 reply; 325+ messages in thread
From: Greg KH @ 2007-05-04 19:24 UTC (permalink / raw)
To: Roland McGrath
Cc: Andrew Morton, Linus Torvalds, Hugh Dickins, Christoph Lameter,
David S. Miller, Andi Kleen, Luck, Tony, Rik van Riel,
Benjamin Herrenschmidt, linux-kernel, linux-mm, Stephen Smalley
On Fri, May 04, 2007 at 11:57:21AM -0700, Roland McGrath wrote:
> > Ah. The patch affects security code, but it doesn't actually address any
> > insecurity. I didn't think it was needed for -stable?
>
> I would not recommend it for -stable.
> It is an ABI change for the case of a security refusal.
ABI changes are not a problem for -stable, so don't let that stop anyone
:)
thanks,
greg k-h
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
* Re: incoming
2007-05-04 19:24 ` incoming Greg KH
@ 2007-05-04 19:29 ` Roland McGrath
0 siblings, 0 replies; 325+ messages in thread
From: Roland McGrath @ 2007-05-04 19:29 UTC (permalink / raw)
To: Greg KH
Cc: Andrew Morton, Linus Torvalds, Hugh Dickins, Christoph Lameter,
David S. Miller, Andi Kleen, Luck, Tony, Rik van Riel,
Benjamin Herrenschmidt, linux-kernel, linux-mm, Stephen Smalley
> ABI changes are not a problem for -stable, so don't let that stop anyone
> :)
In fact this is the harmless sort (changes only the error code of a
failure case) that might actually go in if there were any important
reason. But the smiley stands.
Thanks,
Roland
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 325+ messages in thread
end of thread, other threads:[~2022-04-27 19:41 UTC | newest]
Thread overview: 325+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-07 1:01 incoming Andrew Morton
2021-05-07 1:02 ` [patch 01/91] alpha: eliminate old-style function definitions Andrew Morton
2021-05-07 1:02 ` [patch 02/91] alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h> Andrew Morton
2021-05-07 1:02 ` [patch 03/91] fs/proc/generic.c: fix incorrect pde_is_permanent check Andrew Morton
2021-05-07 1:02 ` [patch 04/91] proc: save LOC in __xlate_proc_name() Andrew Morton
2021-05-07 2:24 ` Linus Torvalds
2021-05-07 1:02 ` [patch 05/91] proc: mandate ->proc_lseek in "struct proc_ops" Andrew Morton
2021-05-07 1:02 ` [patch 06/91] proc: delete redundant subset=pid check Andrew Morton
2021-05-07 1:02 ` [patch 07/91] selftests: proc: test subset=pid Andrew Morton
2021-05-07 1:02 ` [patch 08/91] proc/sysctl: fix function name error in comments Andrew Morton
2021-05-07 1:02 ` [patch 09/91] include: remove pagemap.h from blkdev.h Andrew Morton
2021-05-07 1:02 ` [patch 10/91] kernel.h: drop inclusion in bitmap.h Andrew Morton
2021-05-07 1:02 ` [patch 11/91] linux/profile.h: remove unnecessary declaration Andrew Morton
2021-05-07 1:02 ` [patch 12/91] kernel/async.c: fix pr_debug statement Andrew Morton
2021-05-07 1:02 ` [patch 13/91] kernel/cred.c: make init_groups static Andrew Morton
2021-05-07 1:02 ` [patch 14/91] tools: disable -Wno-type-limits Andrew Morton
2021-05-07 1:02 ` [patch 15/91] tools: bitmap: sync function declarations with the kernel Andrew Morton
2021-05-07 1:02 ` [patch 16/91] tools: sync BITMAP_LAST_WORD_MASK() macro " Andrew Morton
2021-05-07 1:02 ` [patch 17/91] arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300 Andrew Morton
2021-05-07 1:02 ` [patch 18/91] lib: extend the scope of small_const_nbits() macro Andrew Morton
2021-05-07 1:03 ` [patch 19/91] tools: sync small_const_nbits() macro with the kernel Andrew Morton
2021-05-07 1:03 ` [patch 20/91] lib: inline _find_next_bit() wrappers Andrew Morton
2021-05-07 1:03 ` [patch 21/91] tools: sync find_next_bit implementation Andrew Morton
2021-05-07 1:03 ` [patch 22/91] lib: add fast path for find_next_*_bit() Andrew Morton
2021-05-07 1:03 ` [patch 23/91] lib: add fast path for find_first_*_bit() and find_last_bit() Andrew Morton
2021-05-07 1:03 ` [patch 24/91] tools: sync lib/find_bit implementation Andrew Morton
2021-05-07 1:03 ` [patch 25/91] MAINTAINERS: add entry for the bitmap API Andrew Morton
2021-05-07 1:03 ` [patch 26/91] lib/bch.c: fix a typo in the file bch.c Andrew Morton
2021-05-07 1:03 ` [patch 27/91] lib: fix inconsistent indenting in process_bit1() Andrew Morton
2021-05-07 1:03 ` [patch 28/91] lib/list_sort.c: fix typo in function description Andrew Morton
2021-05-07 1:03 ` [patch 29/91] lib/genalloc.c: fix a typo Andrew Morton
2021-05-07 1:03 ` [patch 30/91] lib: crc8: pointer to data block should be const Andrew Morton
2021-05-07 1:03 ` [patch 31/91] lib: stackdepot: turn depot_lock spinlock to raw_spinlock Andrew Morton
2021-05-07 1:03 ` [patch 32/91] lib/percpu_counter: tame kernel-doc compile warning Andrew Morton
2021-05-07 1:03 ` [patch 33/91] lib/genalloc: add parameter description to fix doc " Andrew Morton
2021-05-07 1:03 ` [patch 34/91] lib: parser: clean up kernel-doc Andrew Morton
2021-05-07 1:03 ` [patch 35/91] include/linux/compat.h: remove unneeded declaration from COMPAT_SYSCALL_DEFINEx() Andrew Morton
2021-05-07 1:03 ` [patch 36/91] checkpatch: warn when missing newline in return sysfs_emit() formats Andrew Morton
2021-05-07 1:03 ` [patch 37/91] checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE Andrew Morton
2021-05-07 1:04 ` [patch 38/91] checkpatch: improve ALLOC_ARRAY_ARGS test Andrew Morton
2021-05-07 1:04 ` [patch 39/91] kselftest: introduce new epoll test case Andrew Morton
2021-05-07 1:04 ` [patch 40/91] fs/epoll: restore waking from ep_done_scan() Andrew Morton
2021-05-07 1:04 ` [patch 41/91] isofs: fix fall-through warnings for Clang Andrew Morton
2021-05-07 1:04 ` [patch 42/91] fs/nilfs2: fix misspellings using codespell tool Andrew Morton
2021-05-07 1:04 ` [patch 43/91] nilfs2: fix typos in comments Andrew Morton
2021-05-07 1:04 ` [patch 44/91] hpfs: replace one-element array with flexible-array member Andrew Morton
2021-05-07 1:04 ` [patch 45/91] do_wait: make PIDTYPE_PID case O(1) instead of O(n) Andrew Morton
2021-05-07 1:04 ` [patch 46/91] kernel/fork.c: simplify copy_mm() Andrew Morton
2021-05-07 1:04 ` [patch 47/91] kernel/fork.c: fix typos Andrew Morton
2021-05-07 1:04 ` [patch 48/91] kernel/crash_core: add crashkernel=auto for vmcore creation Andrew Morton
2021-05-07 7:25 ` Linus Torvalds
2021-05-08 3:13 ` Baoquan He
2021-05-08 3:29 ` Baoquan He
2021-05-07 8:16 ` David Hildenbrand
2021-05-08 8:51 ` Baoquan He
2021-05-08 9:22 ` David Hildenbrand
2021-05-10 4:53 ` Baoquan He
2021-05-10 8:32 ` David Hildenbrand
2021-05-10 10:43 ` Baoquan He
2021-05-10 11:01 ` David Hildenbrand
2021-05-10 11:44 ` Dave Young
2021-05-10 11:56 ` David Hildenbrand
2021-05-11 13:36 ` Baoquan He
2021-05-11 16:31 ` Mike Rapoport
2021-05-11 17:07 ` David Hildenbrand
2021-05-12 14:51 ` Baoquan He
2021-05-12 15:07 ` David Hildenbrand
2021-05-13 5:04 ` Baoquan He
2021-05-12 19:03 ` Kairui Song
2021-05-17 8:22 ` David Hildenbrand
2021-05-18 8:49 ` Baoquan He
2021-05-18 8:51 ` David Hildenbrand
2021-05-18 9:24 ` Dave Young
2021-05-12 14:13 ` Baoquan He
2021-05-12 7:42 ` Dave Young
2021-05-07 1:04 ` [patch 49/91] kexec: add kexec reboot string Andrew Morton
2021-05-07 1:04 ` [patch 50/91] kernel: kexec_file: fix error return code of kexec_calculate_store_digests() Andrew Morton
2021-05-07 1:04 ` [patch 51/91] kexec: dump kmessage before machine_kexec Andrew Morton
2021-05-07 1:04 ` [patch 52/91] gcov: combine common code Andrew Morton
2021-05-07 1:04 ` [patch 53/91] gcov: simplify buffer allocation Andrew Morton
2021-05-07 1:04 ` [patch 54/91] gcov: use kvmalloc() Andrew Morton
2021-05-07 1:04 ` [patch 55/91] gcov: clang: drop support for clang-10 and older Andrew Morton
2021-05-07 1:04 ` [patch 56/91] smp: kernel/panic.c - silence warnings Andrew Morton
2021-05-07 1:05 ` [patch 57/91] delayacct: clear right task's flag after blkio completes Andrew Morton
2021-05-07 1:05 ` [patch 58/91] gdb: lx-symbols: store the abspath() Andrew Morton
2021-05-07 1:05 ` [patch 59/91] scripts/gdb: document lx_current is only supported by x86 Andrew Morton
2021-05-07 1:05 ` [patch 60/91] scripts/gdb: add lx_current support for arm64 Andrew Morton
2021-05-07 1:05 ` [patch 61/91] kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources Andrew Morton
2021-05-07 1:05 ` [patch 62/91] kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources Andrew Morton
2021-05-07 1:05 ` [patch 63/91] kernel/resource: remove first_lvl / siblings_only logic Andrew Morton
2021-05-07 1:05 ` [patch 64/91] kernel/resource: allow region_intersects users to hold resource_lock Andrew Morton
2021-05-07 1:05 ` [patch 65/91] kernel/resource: refactor __request_region to allow external locking Andrew Morton
2021-05-07 1:05 ` [patch 66/91] kernel/resource: fix locking in request_free_mem_region Andrew Morton
2021-05-07 1:05 ` [patch 67/91] selftests: remove duplicate include Andrew Morton
2021-05-07 1:05 ` [patch 68/91] kernel/async.c: stop guarding pr_debug() statements Andrew Morton
2021-05-07 1:05 ` [patch 69/91] kernel/async.c: remove async_unregister_domain() Andrew Morton
2021-05-07 1:05 ` [patch 70/91] init/initramfs.c: do unpacking asynchronously Andrew Morton
2021-05-07 1:05 ` [patch 71/91] modules: add CONFIG_MODPROBE_PATH Andrew Morton
2021-05-07 1:05 ` [patch 72/91] ipc/sem.c: mundane typo fixes Andrew Morton
2021-05-07 1:05 ` [patch 73/91] mm: fix some typos and code style problems Andrew Morton
2021-05-07 1:05 ` [patch 74/91] drivers/char: remove /dev/kmem for good Andrew Morton
2021-05-07 1:06 ` [patch 75/91] mm: remove xlate_dev_kmem_ptr() Andrew Morton
2021-05-07 1:06 ` [patch 76/91] mm/vmalloc: remove vwrite() Andrew Morton
2021-05-07 1:06 ` [patch 77/91] arm: print alloc free paths for address in registers Andrew Morton
2021-05-07 1:06 ` [patch 78/91] scripts/spelling.txt: add "overlfow" Andrew Morton
2021-05-07 1:06 ` [patch 79/91] scripts/spelling.txt: add "diabled" typo Andrew Morton
2021-05-07 1:06 ` [patch 80/91] scripts/spelling.txt: add "overflw" Andrew Morton
2021-05-07 1:06 ` [patch 81/91] mm/slab.c: fix spelling mistake "disired" -> "desired" Andrew Morton
2021-05-07 1:06 ` [patch 82/91] include/linux/pgtable.h: few spelling fixes Andrew Morton
2021-05-07 1:06 ` [patch 83/91] kernel/umh.c: fix some spelling mistakes Andrew Morton
2021-05-07 1:06 ` [patch 84/91] kernel/user_namespace.c: fix typos Andrew Morton
2021-05-07 1:06 ` [patch 85/91] kernel/up.c: fix typo Andrew Morton
2021-05-07 1:06 ` [patch 86/91] kernel/sys.c: " Andrew Morton
2021-05-07 1:06 ` [patch 87/91] fs: fat: fix spelling typo of values Andrew Morton
2021-05-07 1:06 ` [patch 88/91] ipc/sem.c: spelling fix Andrew Morton
2021-05-07 1:06 ` [patch 89/91] treewide: remove editor modelines and cruft Andrew Morton
2021-05-07 1:06 ` [patch 90/91] mm: fix typos in comments Andrew Morton
2021-05-07 1:06 ` [patch 91/91] " Andrew Morton
2021-05-07 7:12 ` incoming Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2022-04-27 19:41 incoming Andrew Morton
2022-04-21 23:35 incoming Andrew Morton
2022-04-15 2:12 incoming Andrew Morton
2022-04-08 20:08 incoming Andrew Morton
2022-04-01 18:27 incoming Andrew Morton
2022-04-01 18:20 incoming Andrew Morton
2022-04-01 18:27 ` incoming Andrew Morton
2022-03-25 1:07 incoming Andrew Morton
2022-03-23 23:04 incoming Andrew Morton
2022-03-22 21:38 incoming Andrew Morton
2022-03-16 23:14 incoming Andrew Morton
2022-03-05 4:28 incoming Andrew Morton
2022-02-26 3:10 incoming Andrew Morton
2022-02-12 0:27 incoming Andrew Morton
2022-02-12 2:02 ` incoming Linus Torvalds
2022-02-12 5:24 ` incoming Andrew Morton
2022-02-04 4:48 incoming Andrew Morton
2022-01-29 21:40 incoming Andrew Morton
2022-01-29 2:13 incoming Andrew Morton
2022-01-29 4:25 ` incoming Matthew Wilcox
2022-01-29 6:23 ` incoming Andrew Morton
2022-01-22 6:10 incoming Andrew Morton
2022-01-20 2:07 incoming Andrew Morton
2022-01-14 22:02 incoming Andrew Morton
2021-12-31 4:12 incoming Andrew Morton
2021-12-25 5:11 incoming Andrew Morton
2021-12-10 22:45 incoming Andrew Morton
2021-11-20 0:42 incoming Andrew Morton
2021-11-11 4:32 incoming Andrew Morton
2021-11-09 2:30 incoming Andrew Morton
2021-11-05 20:34 incoming Andrew Morton
2021-10-28 21:35 incoming Andrew Morton
2021-10-18 22:14 incoming Andrew Morton
2021-09-24 22:42 incoming Andrew Morton
2021-09-10 3:09 incoming Andrew Morton
2021-09-10 17:11 ` incoming Kees Cook
2021-09-10 20:13 ` incoming Kees Cook
2021-09-09 1:08 incoming Andrew Morton
2021-09-08 22:17 incoming Andrew Morton
2021-09-08 2:52 incoming Andrew Morton
2021-09-08 8:57 ` incoming Vlastimil Babka
2021-09-02 21:48 incoming Andrew Morton
2021-09-02 21:49 ` incoming Andrew Morton
2021-08-25 19:17 incoming Andrew Morton
2021-08-20 2:03 incoming Andrew Morton
2021-08-13 23:53 incoming Andrew Morton
2021-07-29 21:52 incoming Andrew Morton
2021-07-23 22:49 incoming Andrew Morton
2021-07-15 4:26 incoming Andrew Morton
2021-07-08 0:59 incoming Andrew Morton
2021-07-01 1:46 incoming Andrew Morton
2021-07-03 0:28 ` incoming Linus Torvalds
2021-07-03 1:06 ` incoming Linus Torvalds
2021-06-29 2:32 incoming Andrew Morton
2021-06-25 1:38 incoming Andrew Morton
2021-06-16 1:22 incoming Andrew Morton
2021-06-05 3:00 incoming Andrew Morton
2021-05-23 0:41 incoming Andrew Morton
2021-05-15 0:26 incoming Andrew Morton
2021-05-05 1:32 incoming Andrew Morton
2021-05-05 1:47 ` incoming Linus Torvalds
2021-05-05 3:16 ` incoming Andrew Morton
2021-05-05 17:10 ` incoming Linus Torvalds
2021-05-05 17:44 ` incoming Andrew Morton
2021-05-06 3:19 ` incoming Anshuman Khandual
2021-04-30 5:52 incoming Andrew Morton
2021-04-23 21:28 incoming Andrew Morton
2021-04-16 22:45 incoming Andrew Morton
2021-04-09 20:26 incoming Andrew Morton
2021-03-25 4:36 incoming Andrew Morton
2021-03-13 5:06 incoming Andrew Morton
2021-02-26 1:14 incoming Andrew Morton
2021-02-26 17:55 ` incoming Linus Torvalds
2021-02-26 19:16 ` incoming Andrew Morton
2021-02-24 19:58 incoming Andrew Morton
2021-02-24 21:30 ` incoming Linus Torvalds
2021-02-24 21:37 ` incoming Linus Torvalds
2021-02-25 8:53 ` incoming Arnd Bergmann
2021-02-25 9:12 ` incoming Andrey Ryabinin
2021-02-25 11:07 ` incoming Walter Wu
2021-02-13 4:52 incoming Andrew Morton
2021-02-09 21:41 incoming Andrew Morton
2021-02-10 19:30 ` incoming Linus Torvalds
2021-02-05 2:31 incoming Andrew Morton
2021-01-24 5:00 incoming Andrew Morton
2021-01-12 23:48 incoming Andrew Morton
2021-01-15 23:32 ` incoming Linus Torvalds
2020-12-29 23:13 incoming Andrew Morton
2020-12-22 19:58 incoming Andrew Morton
2020-12-22 21:43 ` incoming Linus Torvalds
2020-12-18 22:00 incoming Andrew Morton
2020-12-16 4:41 incoming Andrew Morton
2020-12-15 20:32 incoming Andrew Morton
2020-12-15 21:00 ` incoming Linus Torvalds
2020-12-15 22:48 ` incoming Linus Torvalds
2020-12-15 22:49 ` incoming Linus Torvalds
2020-12-15 22:55 ` incoming Andrew Morton
2020-12-15 3:02 incoming Andrew Morton
2020-12-15 3:25 ` incoming Linus Torvalds
2020-12-15 3:30 ` incoming Linus Torvalds
2020-12-15 14:04 ` incoming Konstantin Ryabitsev
2020-12-11 21:35 incoming Andrew Morton
2020-12-06 6:14 incoming Andrew Morton
2020-11-22 6:16 incoming Andrew Morton
2020-11-14 6:51 incoming Andrew Morton
2020-11-02 1:06 incoming Andrew Morton
2020-10-17 23:13 incoming Andrew Morton
2020-10-16 2:40 incoming Andrew Morton
2020-10-16 3:03 ` incoming Andrew Morton
2020-10-13 23:46 incoming Andrew Morton
2020-10-11 6:15 incoming Andrew Morton
2020-10-03 5:20 incoming Andrew Morton
2020-09-26 4:17 incoming Andrew Morton
2020-09-19 4:19 incoming Andrew Morton
2020-09-04 23:34 incoming Andrew Morton
2020-08-21 0:41 incoming Andrew Morton
2020-08-15 0:29 incoming Andrew Morton
2020-08-12 1:29 incoming Andrew Morton
2020-08-07 6:16 incoming Andrew Morton
2020-07-24 4:14 incoming Andrew Morton
2020-07-03 22:14 incoming Andrew Morton
2020-06-26 3:28 incoming Andrew Morton
2020-06-26 6:51 ` incoming Linus Torvalds
2020-06-26 7:31 ` incoming Linus Torvalds
2020-06-26 17:39 ` incoming Konstantin Ryabitsev
2020-06-26 17:40 ` incoming Konstantin Ryabitsev
2020-06-12 0:30 incoming Andrew Morton
2020-06-11 1:40 incoming Andrew Morton
2020-06-09 4:29 incoming Andrew Morton
2020-06-09 16:58 ` incoming Linus Torvalds
2020-06-08 4:35 incoming Andrew Morton
2020-06-04 23:45 incoming Andrew Morton
2020-06-03 22:55 incoming Andrew Morton
2020-06-02 20:09 incoming Andrew Morton
2020-06-02 4:44 incoming Andrew Morton
2020-06-02 20:08 ` incoming Andrew Morton
2020-06-02 20:45 ` incoming Linus Torvalds
2020-06-02 21:38 ` incoming Andrew Morton
2020-06-02 22:18 ` incoming Linus Torvalds
2020-05-28 5:20 incoming Andrew Morton
2020-05-28 20:10 ` incoming Linus Torvalds
2020-05-29 20:31 ` incoming Andrew Morton
2020-05-29 20:38 ` incoming Linus Torvalds
2020-05-29 21:12 ` incoming Andrew Morton
2020-05-29 21:20 ` incoming Linus Torvalds
2020-05-23 5:22 incoming Andrew Morton
2020-05-14 0:50 incoming Andrew Morton
2020-05-08 1:35 incoming Andrew Morton
2020-04-21 1:13 incoming Andrew Morton
2020-04-12 7:41 incoming Andrew Morton
2020-04-10 21:30 incoming Andrew Morton
2020-04-07 3:02 incoming Andrew Morton
2020-04-02 4:01 incoming Andrew Morton
2020-03-29 2:14 incoming Andrew Morton
2020-03-22 1:19 incoming Andrew Morton
2020-03-06 6:27 incoming Andrew Morton
2020-02-21 4:00 incoming Andrew Morton
2020-02-21 4:03 ` incoming Andrew Morton
2020-02-21 18:21 ` incoming Linus Torvalds
2020-02-21 18:32 ` incoming Konstantin Ryabitsev
2020-02-27 9:59 ` incoming Vlastimil Babka
2020-02-21 19:33 ` incoming Linus Torvalds
2020-02-04 1:33 incoming Andrew Morton
2020-02-04 2:27 ` incoming Linus Torvalds
2020-02-04 2:46 ` incoming Andrew Morton
2020-02-04 3:11 ` incoming Linus Torvalds
2020-01-31 6:10 incoming Andrew Morton
2020-01-14 0:28 incoming Andrew Morton
2020-01-04 20:55 incoming Andrew Morton
2019-12-18 4:50 incoming Andrew Morton
2019-12-05 0:48 incoming Andrew Morton
2019-12-01 1:47 incoming Andrew Morton
2019-12-01 5:17 ` incoming James Bottomley
2019-12-01 21:07 ` incoming Linus Torvalds
2019-12-02 8:21 ` incoming Steven Price
2019-11-22 1:53 incoming Andrew Morton
2019-11-16 1:34 incoming Andrew Morton
2019-11-06 5:16 incoming Andrew Morton
2019-10-19 3:19 incoming Andrew Morton
2019-10-14 21:11 incoming Andrew Morton
2019-10-07 0:57 incoming Andrew Morton
2019-09-25 23:45 incoming Andrew Morton
2019-09-23 22:31 incoming Andrew Morton
2019-09-24 0:55 ` incoming Linus Torvalds
2019-09-24 4:31 ` incoming Andrew Morton
2019-09-24 7:48 ` incoming Michal Hocko
2019-09-24 15:34 ` incoming Linus Torvalds
2019-09-25 6:36 ` incoming Michal Hocko
2019-09-24 19:55 ` incoming Vlastimil Babka
2019-08-30 23:04 incoming Andrew Morton
2019-08-25 0:54 incoming Andrew Morton
[not found] <20190716162536.bb52b8f34a8ecf5331a86a42@linux-foundation.org>
2019-07-17 8:47 ` incoming Vlastimil Babka
2019-07-17 8:57 ` incoming Bhaskar Chowdhury
2019-07-17 16:13 ` incoming Linus Torvalds
2019-07-17 17:09 ` incoming Christian Brauner
2019-07-17 18:13 ` incoming Vlastimil Babka
2007-05-02 22:02 incoming Andrew Morton
2007-05-02 22:31 ` incoming Benjamin Herrenschmidt
2007-05-03 7:55 ` incoming Russell King
2007-05-03 8:05 ` incoming Andrew Morton
2007-05-04 13:37 ` incoming Greg KH
2007-05-04 16:14 ` incoming Andrew Morton
2007-05-04 17:02 ` incoming Greg KH
2007-05-04 18:57 ` incoming Roland McGrath
2007-05-04 19:24 ` incoming Greg KH
2007-05-04 19:29 ` incoming Roland McGrath
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).