Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
fcef0e6
fs: dlm: fix lowcomms_start error case
Jun 2, 2021
700ab1c
fs: dlm: fix memory leak when fenced
Jun 2, 2021
6c6a1cc
fs: dlm: use alloc_ordered_workqueue
Jun 2, 2021
9a4139a
fs: dlm: move dlm allow conn
Jun 2, 2021
ac7d5d0
fs: dlm: introduce proto values
Jun 2, 2021
d10a0b8
fs: dlm: rename socket and app buffer defines
Jun 2, 2021
f5fe8d5
fs: dlm: fix race in mhandle deletion
Jun 11, 2021
957adb6
fs: dlm: invalid buffer access in lookup error
Jun 11, 2021
5e53895
cifs: fix ipv6 formating in cifs_ses_add_channel
aaptel May 28, 2021
f275652
cifs: remove duplicated prototype
smfrench Jun 5, 2021
a23a71a
cifs: Remove unused inline function is_sysvol_or_netlogon()
May 29, 2021
57c8ce7
cifs: Constify static struct genl_ops
rikardfalkeborn May 26, 2021
032e091
cifs: remove redundant initialization of variable rc
Jun 13, 2021
aaf36df
cifs: fix doc warnings in cifs_dfs_ref.c
LiBaokun96 Jun 10, 2021
966a3cb
cifs: improve fallocate emulation
Jun 3, 2021
f3191fc
cifs: do not send tree disconnect to ipc shares
Jun 4, 2021
2b133b7
cifs: get rid of @noreq param in __dfs_cache_find()
Jun 4, 2021
c9f7110
cifs: keep referral server sessions alive
Jun 4, 2021
c870a8e
cifs: handle different charsets in dfs cache
Jun 4, 2021
42caeba
cifs: fix path comparison and hash calc
Jun 4, 2021
c950fc7
cifs: set a minimum of 2 minutes for refreshing dfs cache
Jun 4, 2021
f3c852b
cifs: do not share tcp servers with dfs mounts
Jun 4, 2021
e695a9a
cifs: missed ref-counting smb session in find
sprasad-microsoft May 23, 2021
0d52df8
cifs: enable extended stats by default
smfrench Jun 8, 2021
1023e90
cifs: avoid starvation when refreshing dfs cache
Jun 8, 2021
0475c36
cifs: decoding negTokenInit with generic ASN1 decoder
hclee Jun 8, 2021
889c2a7
cifs: fix check of dfs interlinks
Jun 14, 2021
6efa994
cifs: retry lookup and readdir when EAGAIN is returned.
trbecker Jun 15, 2021
ca38fab
cifs: avoid extra calls in posix_info_parse
Jun 18, 2021
647f592
cifs: convert list_for_each to entry variant in smb2misc.c
LiBaokun96 Jun 18, 2021
a506ccb
cifs: convert list_for_each to entry variant in cifs_debug.c
LiBaokun96 Jun 17, 2021
929be90
cifs: use SPDX-Licence-Identifier
smfrench Jun 18, 2021
3559134
cifs: fix unneeded null check
smfrench Jun 19, 2021
ff93b71
smb3: fix uninitialized value for port in witness protocol move
smfrench Jun 19, 2021
e39df24
cifs: fix SMB1 error path in cifs_get_file_info_unix
smfrench Jun 19, 2021
e0ae8a9
smb311: remove dead code for non compounded posix query info
smfrench Jun 19, 2021
fbcff33
cifs: Avoid field over-reading memcpy()
kees Jun 21, 2021
0555b22
smbdirect: missing rc checks while waiting for rdma events
smfrench Jun 21, 2021
1689b0b
cifs: fix NULL dereference in smb2_check_message()
Jun 22, 2021
2438c0b
SMB3: Add new info level for query directory
smfrench Jun 22, 2021
4c4a525
cifs: remove two cases where rc is set unnecessarily in sid_to_id
smfrench Jun 22, 2021
0917310
cifs: missing null check for newinode pointer
smfrench Jun 23, 2021
a562826
smb3: fix possible access to uninitialized pointer to DACL
smfrench Jun 22, 2021
162004a
cifs: missing null pointer check in cifs_mount
smfrench Jun 24, 2021
0060a4f
cifs: fix missing spinlock around update to ses->status
smfrench Jun 24, 2021
0fa757b
smb3: prevent races updating CurrentMid
smfrench Jun 25, 2021
0f1616f
gfs2: Fix do_gfs2_set_flags description
May 20, 2021
38a618d
gfs2: Use list_move_tail instead of list_del/list_add_tail
LiBaokun96 Jun 8, 2021
d3c51c5
gfs2: Fix underflow in gfs2_page_mkwrite
Jun 21, 2021
5d49d35
gfs2: Fix error handling in init_statfs
Jun 28, 2021
0fc3bcd
gfs2: Clean up the error handling in gfs2_page_mkwrite
May 13, 2021
64090cb
gfs2: Unstuff before locking page in gfs2_page_mkwrite
Jun 17, 2021
7a607a4
gfs2: Clean up gfs2_unstuff_dinode
Jun 17, 2021
c24d373
mm/gup: fix try_grab_compound_head() race with split_huge_page()
thejh Jun 29, 2021
122e093
mm/page_alloc: fix memory map initialization for descending nodes
rppt Jun 29, 2021
ff4b2b4
mm/page_alloc: correct return value of populated elements if bulk arr…
gormanm Jun 29, 2021
20ce0c2
kthread: switch to new kerneldoc syntax for named variable macro argu…
neuschaefer Jun 29, 2021
d71ba16
kthread_worker: fix return value when kthread_mod_delayed_work() race…
pmladek Jun 29, 2021
f589c67
ia64: headers: drop duplicated words
rddunlap Jun 29, 2021
c5f320f
ia64: mca_drv: fix incorrect array size calculation
arndb Jun 29, 2021
b83c8ba
streamline_config.pl: make spacing consistent
rostedt Jun 29, 2021
d1b1f1e
streamline_config.pl: add softtabstop=4 for vim users
rostedt Jun 29, 2021
c1c9142
scripts/spelling.txt: add more spellings to spelling.txt
Jun 29, 2021
d98e4d9
ntfs: fix validity check for file name attribute
desmondcheongzx Jun 29, 2021
10dde05
squashfs: add option to panic on errors
vwax Jun 29, 2021
74ef829
ocfs2: remove unnecessary INIT_LIST_HEAD()
Jun 29, 2021
54e948c
ocfs2: fix snprintf() checking
Jun 29, 2021
ca49b6d
ocfs2: remove redundant assignment to pointer queue
Jun 29, 2021
01f0139
ocfs2: remove repeated uptodate check for buffer
Jun 29, 2021
f0f798d
ocfs2: replace simple_strtoull() with kstrtoull()
Jun 29, 2021
7ed6d4e
ocfs2: remove redundant initialization of variable ret
Jun 29, 2021
b124ac4
kernel: watchdog: modify the explanation related to watchdog thread
Jun 29, 2021
e55fda8
doc: watchdog: modify the explanation related to watchdog thread
Jun 29, 2021
256f7a6
doc: watchdog: modify the doc related to "watchdog/%u"
Jun 29, 2021
4acaa7d
slab: use __func__ to trace function name
GuMingtao Jun 29, 2021
26c6cb7
kunit: make test->lock irq safe
tehcaster Jun 29, 2021
1f9f78b
mm/slub, kunit: add a KUnit test for SLUB debugging functionality
oglitta Jun 29, 2021
3d8e374
slub: remove resiliency_test() function
oglitta Jun 29, 2021
588c7fa
mm, slub: change run-time assertion in kmalloc_index() to compile-time
hygoni Jun 29, 2021
02ac47d
slub: restore slub_debug=- behavior
bebarino Jun 29, 2021
1a88ef8
slub: actually use 'message' in restore_bytes()
bebarino Jun 29, 2021
582d121
slub: indicate slab_fix() uses printf formats
JoePerches Jun 29, 2021
7927029
slub: force on no_hash_pointers when slub_debug is enabled
bebarino Jun 29, 2021
64dd684
mm: slub: move sysfs slab alloc/free interfaces to debugfs
Jun 29, 2021
65ebdee
mm/slub: add taint after the errors are printed
Jun 29, 2021
54dd200
mm/kmemleak: fix possible wrong memory scanning period
Jun 29, 2021
1a14e37
dax: fix ENOMEM handling in grab_mapping_entry()
jankara Jun 29, 2021
85f29cd
tools/vm/page_owner_sort.c: check malloc() return
Jun 29, 2021
65ac1a6
mm/debug_vm_pgtable: ensure THP availability via has_transparent_huge…
Jun 29, 2021
832b507
mm: mmap_lock: use local locks instead of disabling preemption
Jun 29, 2021
5631de5
mm/page_reporting: fix code style in __page_reporting_request()
Jun 29, 2021
f58780a
mm/page_reporting: export reporting order as module parameter
Jun 29, 2021
9f849c6
mm/page_reporting: allow driver to specify reporting order
Jun 29, 2021
f8af4d0
virtio_balloon: specify page reporting order if needed
Jun 29, 2021
5defd49
mm: page-writeback: kill get_writeback_state() comments
Jun 29, 2021
ab19939
mm/page-writeback: Fix performance when BDI's share of ratio is 0.
ChiWu-Zero Jun 29, 2021
0323155
mm/page-writeback: update the comment of Dirty position control
ChiWu-Zero Jun 29, 2021
87e3789
mm/page-writeback: use __this_cpu_inc() in account_page_dirtied()
ChiWu-Zero Jun 29, 2021
4ade586
writeback, cgroup: do not switch inodes with I_WILL_FREE flag
rgushchin Jun 29, 2021
592fa00
writeback, cgroup: add smp_mb() to cgroup_writeback_umount()
rgushchin Jun 29, 2021
8826ee4
writeback, cgroup: increment isw_nr_in_flight before grabbing an inode
rgushchin Jun 29, 2021
29264d9
writeback, cgroup: switch to rcu_work API in inode_switch_wbs()
rgushchin Jun 29, 2021
f3b6a6d
writeback, cgroup: keep list of inodes attached to bdi_writeback
rgushchin Jun 29, 2021
72d4512
writeback, cgroup: split out the functional part of inode_switch_wbs_…
rgushchin Jun 29, 2021
f5fbe6b
writeback, cgroup: support switching multiple inodes at once
rgushchin Jun 29, 2021
c22d70a
writeback, cgroup: release dying cgwbs by switching attached inodes
rgushchin Jun 29, 2021
34ebcce
fs: unexport __set_page_dirty
Jun 29, 2021
c1e3dbe
fs: move ramfs_aops to libfs
Jun 29, 2021
0af5737
mm: require ->set_page_dirty to be explicitly wired up
Jun 29, 2021
6e1cae8
mm/writeback: move __set_page_dirty() to core mm
Jun 29, 2021
2f18be3
mm/writeback: use __set_page_dirty in __set_page_dirty_nobuffers
Jun 29, 2021
fd7353f
iomap: use __set_page_dirty_nobuffers
Jun 29, 2021
fc50eee
fs: remove anon_set_page_dirty()
Jun 29, 2021
b82a96c
fs: remove noop_set_page_dirty()
Jun 29, 2021
3a6b216
mm: move page dirtying prototypes from mm.h
Jun 29, 2021
f39bd85
mm/gup_benchmark: support threading
xzpeter Jun 29, 2021
292648a
mm: gup: allow FOLL_PIN to scale in SMP
aagit Jun 29, 2021
a458b76
mm: gup: pack has_pinned in MMF_HAS_PINNED
aagit Jun 29, 2021
e17eae2
mm: pagewalk: fix walk for hugepage tables
chleroy Jun 29, 2021
63d8620
mm/swapfile: use percpu_ref to serialize against concurrent swapoff
MiaoheLin Jun 29, 2021
2799e77
swap: fix do_swap_page() race with swapoff
MiaoheLin Jun 29, 2021
5c04623
mm/swap: remove confusing checking for non_swap_entry() in swap_ra_in…
MiaoheLin Jun 29, 2021
2efa33f
mm/shmem: fix shmem_swapin() race with swapoff
MiaoheLin Jun 29, 2021
bb243f7
mm/swapfile: move get_swap_page_of_type() under CONFIG_HIBERNATION
MiaoheLin Jun 29, 2021
eb7709c
mm/swap: remove unused local variable nr_shadows
MiaoheLin Jun 29, 2021
1cfcc83
mm/swap_slots.c: delete meaningless forward declarations
MiaoheLin Jun 29, 2021
a4b4511
mm, swap: remove unnecessary smp_rmb() in swap_type_to_swap_info()
yhuang-intel Jun 29, 2021
f4c4a3f
mm: free idle swap cache page after COW
yhuang-intel Jun 29, 2021
eea4a50
swap: check mapping_empty() for swap cache before being freed
yhuang-intel Jun 29, 2021
fdbcb2a
mm/memcg: move mod_objcg_state() to memcontrol.c
Waiman-Long Jun 29, 2021
68ac5b3
mm/memcg: cache vmstat data in percpu memcg_stock_pcp
Waiman-Long Jun 29, 2021
5387c90
mm/memcg: improve refill_obj_stock() performance
Waiman-Long Jun 29, 2021
5592711
mm/memcg: optimize user context object stock access
Waiman-Long Jun 29, 2021
41eb5df
mm: memcg/slab: properly set up gfp flags for objcg pointer array
Waiman-Long Jun 29, 2021
494c1df
mm: memcg/slab: create a new set of kmalloc-cg-<n> caches
Waiman-Long Jun 29, 2021
13e680f
mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches
Waiman-Long Jun 29, 2021
c5c8b16
mm: memcontrol: fix root_mem_cgroup charging
Jun 29, 2021
8dc87c7
mm: memcontrol: fix page charging in page replacement
Jun 29, 2021
2884b6b
mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm
Jun 29, 2021
a984226
mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec
Jun 29, 2021
f2e4d28
mm: memcontrol: simplify lruvec_holds_page_lru_lock
Jun 29, 2021
7467c39
mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec
Jun 29, 2021
9838354
mm: memcontrol: simplify the logic of objcg pinning memcg
Jun 29, 2021
271dd6b
mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock
Jun 29, 2021
9ef56b7
mm: vmscan: remove noinline_for_stack
Jun 29, 2021
b51478a
memcontrol: use flexible-array member
wenhuizhang Jun 29, 2021
87579e9
loop: use worker per cgroup instead of kworker
dschatzberg Jun 29, 2021
04f94e3
mm: charge active memcg when no mm is set
dschatzberg Jun 29, 2021
c74d40e
loop: charge i/o to mem and blk cg
dschatzberg Jun 29, 2021
6a1803b
mm: memcontrol: remove trailing semicolon in macros
Jun 29, 2021
8fa2075
perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC
davidhildenbrand Jun 29, 2021
a4eec6a
binfmt: remove in-tree usage of MAP_EXECUTABLE
davidhildenbrand Jun 29, 2021
3b8db39
mm: ignore MAP_EXECUTABLE in ksys_mmap_pgoff()
davidhildenbrand Jun 29, 2021
78d9cf6
mm/mmap.c: logic of find_vma_intersection repeated in __do_munmap
Jun 29, 2021
96d9902
mm/mmap: introduce unlock_range() for code cleanup
howlett Jun 29, 2021
35e43c5
mm/mmap: use find_vma_intersection() in do_mmap() for overlap
howlett Jun 29, 2021
2797e79
mm/memory.c: fix comment of finish_mkwrite_fault()
Jun 29, 2021
ce6d42f
mm: add vma_lookup(), update find_vma_intersection() comments
howlett Jun 29, 2021
064b266
drm/i915/selftests: use vma_lookup() in __igt_mmap()
howlett Jun 29, 2021
b555414
arch/arc/kernel/troubleshoot: use vma_lookup() instead of find_vma()
howlett Jun 29, 2021
09eef83
arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection()
howlett Jun 29, 2021
27a14d2
arch/powerpc/kvm/book3s_hv_uvmem: use vma_lookup() instead of find_vm…
howlett Jun 29, 2021
900c83f
arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma()
howlett Jun 29, 2021
7f7020a
arch/mips/kernel/traps: use vma_lookup() instead of find_vma()
howlett Jun 29, 2021
3b93e04
arch/m68k/kernel/sys_m68k: use vma_lookup() in sys_cacheflush()
howlett Jun 29, 2021
9ce2c3f
x86/sgx: use vma_lookup() in sgx_encl_find()
howlett Jun 29, 2021
fc98c03
virt/kvm: use vma_lookup() instead of find_vma_intersection()
howlett Jun 29, 2021
85715d6
vfio: use vma_lookup() instead of find_vma_intersection()
howlett Jun 29, 2021
47bdd1d
net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive()
howlett Jun 29, 2021
da68547
drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages()
howlett Jun 29, 2021
49be780
media: videobuf2: use vma_lookup() in get_vaddr_frames()
howlett Jun 29, 2021
2beaf15
misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma()
howlett Jun 29, 2021
9016dde
kernel/events/uprobes: use vma_lookup() in find_active_uprobe()
howlett Jun 29, 2021
46e6b31
lib/test_hmm: use vma_lookup() in dmirror_migrate()
howlett Jun 29, 2021
ff69fb8
mm/ksm: use vma_lookup() in find_mergeable_vma()
howlett Jun 29, 2021
059b8b4
mm/migrate: use vma_lookup() in do_pages_stat_array()
howlett Jun 29, 2021
5aaf07f
mm/mremap: use vma_lookup() in vma_to_resize()
howlett Jun 29, 2021
3e418f9
mm/memory.c: use vma_lookup() in __access_remote_vm()
howlett Jun 29, 2021
33e3575
mm/mempolicy: use vma_lookup() in __access_remote_vm()
howlett Jun 29, 2021
5673a60
mm: update legacy flush_tlb_* to use vma
Jun 29, 2021
f4c1ab0
h8300: remove unused variable
Jun 29, 2021
e8df2c7
mm/dmapool: use DEVICE_ATTR_RO macro
Jun 29, 2021
53d884a
mm, tracing: unify PFN format strings
vwax Jun 29, 2021
a2afc59
mm/page_alloc: add an alloc_pages_bulk_array_node() helper
urezki Jun 29, 2021
5c1f4e6
mm/vmalloc: switch to bulk allocator in __vmalloc_area_node()
urezki Jun 29, 2021
cd61413
mm/vmalloc: print a warning message first on failure
urezki Jun 29, 2021
f4bdfea
mm/vmalloc: remove quoted strings split across lines
urezki Jun 29, 2021
12b9f87
mm/vmalloc: fallback to a single page allocator
urezki Jun 29, 2021
a850e93
mm: vmalloc: add cond_resched() in __vunmap()
aquini Jun 29, 2021
4469c0f
printk: introduce dump_stack_lvl()
ramosian-glider Jun 29, 2021
336abff
kasan: use dump_stack_lvl(KERN_ERR) to print stacks
ramosian-glider Jun 29, 2021
3ff16d3
kasan: test: improve failure message in KUNIT_EXPECT_KASAN_FAIL()
sulix Jun 29, 2021
158f255
kasan: allow an architecture to disable inline instrumentation
daxtens Jun 29, 2021
af3751f
kasan: allow architectures to provide an outline readiness check
daxtens Jun 29, 2021
c0f8aa4
mm: define default MAX_PTRS_PER_* in include/pgtable.h
daxtens Jun 29, 2021
cb32c9c
kasan: use MAX_PTRS_PER_* for early shadow tables
daxtens Jun 29, 2021
f06f78a
kasan: rename CONFIG_KASAN_SW_TAGS_IDENTIFY to CONFIG_KASAN_TAGS_IDEN…
Jun 29, 2021
a0503b8
kasan: integrate the common part of two KASAN tag-based modes
Jun 29, 2021
7a22bdc
kasan: add memory corruption identification support for hardware tag-…
Jun 29, 2021
c5a54c7
mm: report which part of mem is being freed on initmem case
Jungseung-Lee Jun 29, 2021
b19bd1c
mm/mmzone.h: simplify is_highmem_idx()
rppt Jun 29, 2021
d2f07ec
mm: make __dump_page static
Jun 29, 2021
691d949
mm/page_alloc: bail out on fatal signal during reclaim/compaction ret…
Jun 29, 2021
be7c701
mm/debug: factor PagePoisoned out of __dump_page
Jun 29, 2021
8bf6f45
mm/page_owner: constify dump_page_owner
Jun 29, 2021
0f2317e
mm: make compound_head const-preserving
Jun 29, 2021
ca891f4
mm: constify get_pfnblock_flags_mask and get_pfnblock_migratetype
Jun 29, 2021
5f7dadf
mm: constify page_count and page_ref_count
Jun 29, 2021
1cfcee7
mm: optimise nth_page for contiguous memmap
Jun 29, 2021
9660eca
mm/page_alloc: switch to pr_debug
hkallweit Jun 29, 2021
a0b8200
kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21
anakryiko Jun 29, 2021
28f836b
mm/page_alloc: split per cpu page lists and zone stats
gormanm Jun 29, 2021
dbbee9d
mm/page_alloc: convert per-cpu list protection to local_lock
gormanm Jun 29, 2021
f19298b
mm/vmstat: convert NUMA statistics to basic NUMA counters
gormanm Jun 29, 2021
3ac44a3
mm/vmstat: inline NUMA event counter updates
gormanm Jun 29, 2021
3e23060
mm/page_alloc: batch the accounting updates in the bulk allocator
gormanm Jun 29, 2021
43c95bc
mm/page_alloc: reduce duration that IRQs are disabled for VM counters
gormanm Jun 29, 2021
56f0e66
mm/page_alloc: explicitly acquire the zone lock in __free_pages_ok
gormanm Jun 29, 2021
df1acc8
mm/page_alloc: avoid conflating IRQs disabled with zone->lock
gormanm Jun 29, 2021
9024999
mm/page_alloc: update PGFREE outside the zone lock in __free_pages_ok
gormanm Jun 29, 2021
151e084
mm: page_alloc: dump migrate-failed pages only at -EBUSY
minchank Jun 29, 2021
bbbecb3
mm/page_alloc: delete vm.percpu_pagelist_fraction
gormanm Jun 29, 2021
b92ca18
mm/page_alloc: disassociate the pcp->high from pcp->batch
gormanm Jun 29, 2021
04f8cfe
mm/page_alloc: adjust pcp->high after CPU hotplug events
gormanm Jun 29, 2021
3b12e7e
mm/page_alloc: scale the number of pages that are batch freed
gormanm Jun 29, 2021
c49c2c4
mm/page_alloc: limit the number of pages on PCP lists when reclaim is…
gormanm Jun 29, 2021
74f4482
mm/page_alloc: introduce vm.percpu_pagelist_high_fraction
gormanm Jun 29, 2021
777c00f
mm: drop SECTION_SHIFT in code comments
Jun 29, 2021
e47aa90
mm/page_alloc: improve memmap_pages dbg msg
Jun 29, 2021
f7ec104
mm/page_alloc: fix counting of managed_pages
Jun 29, 2021
21d02f8
mm/page_alloc: move free_the_page
gormanm Jun 29, 2021
fdb7d9b
alpha: remove DISCONTIGMEM and NUMA
rppt Jun 29, 2021
e7793e5
arc: update comment about HIGHMEM implementation
rppt Jun 29, 2021
8b793b4
arc: remove support for DISCONTIGMEM
rppt Jun 29, 2021
5ab06e1
m68k: remove support for DISCONTIGMEM
rppt Jun 29, 2021
bb1c50d
mm: remove CONFIG_DISCONTIGMEM
rppt Jun 29, 2021
d3c251a
arch, mm: remove stale mentions of DISCONIGMEM
rppt Jun 29, 2021
48d9f33
docs: remove description of DISCONTIGMEM
rppt Jun 29, 2021
a9ee6cf
mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA
rppt Jun 29, 2021
43b02ba
mm: replace CONFIG_FLAT_NODE_MEM_MAP with CONFIG_FLATMEM
rppt Jun 29, 2021
44042b4
mm/page_alloc: allow high-order pages to be stored on the per-cpu lists
gormanm Jun 29, 2021
203c06e
mm/page_alloc: split pcp->high across all online CPUs for cpuless nodes
gormanm Jun 29, 2021
a3f5d80
mm,hwpoison: send SIGBUS with error virutal address
nhoriguchi Jun 29, 2021
0ed950d
mm,hwpoison: make get_hwpoison_page() call get_any_page()
nhoriguchi Jun 29, 2021
65090f3
Merge branch 'akpm' (patches from Andrew)
torvalds Jun 30, 2021
30d1a55
Merge tag 'fs.mount_setattr.nosymfollow.v5.14' of git://git.kernel.or…
torvalds Jun 30, 2021
b97902b
Merge tag 'fs.openat2.unknown_flags.v5.14' of git://git.kernel.org/pu…
torvalds Jun 30, 2021
bbd9162
Merge tag '5.14-rc-smb3-fixes-part1' of git://git.samba.org/sfrench/c…
torvalds Jun 30, 2021
8418dab
Merge tag 'gfs2-v5.13-fixes' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Jun 30, 2021
007b350
Merge tag 'dlm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git…
torvalds Jun 30, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3591,6 +3591,12 @@
off: turn off poisoning (default)
on: turn on poisoning

page_reporting.page_reporting_order=
[KNL] Minimal page reporting order
Format: <integer>
Adjust the minimal page reporting order. The page
reporting is disabled when it exceeds (MAX_ORDER-1).

panic= [KNL] Kernel behaviour on panic: delay <timeout>
timeout > 0: seconds before rebooting
timeout = 0: wait forever
Expand Down
4 changes: 2 additions & 2 deletions Documentation/admin-guide/lockup-watchdogs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ in principle, they should work in any architecture where these
subsystems are present.

A periodic hrtimer runs to generate interrupts and kick the watchdog
task. An NMI perf event is generated every "watchdog_thresh"
job. An NMI perf event is generated every "watchdog_thresh"
(compile-time initialized to 10 and configurable through sysctl of the
same name) seconds to check for hardlockups. If any CPU in the system
does not receive any hrtimer interrupt during that time the
'hardlockup detector' (the handler for the NMI perf event) will
generate a kernel warning or call panic, depending on the
configuration.

The watchdog task is a high priority kernel thread that updates a
The watchdog job runs in a stop scheduling thread that updates a
timestamp every time it is scheduled. If that timestamp is not updated
for 2*watchdog_thresh seconds (the softlockup threshold) the
'softlockup detector' (coded inside the hrtimer callback function)
Expand Down
10 changes: 5 additions & 5 deletions Documentation/admin-guide/sysctl/kernel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1297,11 +1297,11 @@ This parameter can be used to control the soft lockup detector.
= =================================

The soft lockup detector monitors CPUs for threads that are hogging the CPUs
without rescheduling voluntarily, and thus prevent the 'watchdog/N' threads
from running. The mechanism depends on the CPUs ability to respond to timer
interrupts which are needed for the 'watchdog/N' threads to be woken up by
the watchdog timer function, otherwise the NMI watchdog — if enabled — can
detect a hard lockup condition.
without rescheduling voluntarily, and thus prevent the 'migration/N' threads
from running, causing the watchdog work fail to execute. The mechanism depends
on the CPUs ability to respond to timer interrupts which are needed for the
watchdog work to be queued by the watchdog timer function, otherwise the NMI
watchdog — if enabled — can detect a hard lockup condition.


stack_erasing
Expand Down
42 changes: 22 additions & 20 deletions Documentation/admin-guide/sysctl/vm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Currently, these files are in /proc/sys/vm:
- overcommit_ratio
- page-cluster
- panic_on_oom
- percpu_pagelist_fraction
- percpu_pagelist_high_fraction
- stat_interval
- stat_refresh
- numa_stat
Expand Down Expand Up @@ -790,22 +790,24 @@ panic_on_oom=2+kdump gives you very strong tool to investigate
why oom happens. You can get snapshot.


percpu_pagelist_fraction
========================
percpu_pagelist_high_fraction
=============================

This is the fraction of pages at most (high mark pcp->high) in each zone that
are allocated for each per cpu page list. The min value for this is 8. It
means that we don't allow more than 1/8th of pages in each zone to be
allocated in any single per_cpu_pagelist. This entry only changes the value
of hot per cpu pagelists. User can specify a number like 100 to allocate
1/100th of each zone to each per cpu page list.
This is the fraction of pages in each zone that are can be stored to
per-cpu page lists. It is an upper boundary that is divided depending
on the number of online CPUs. The min value for this is 8 which means
that we do not allow more than 1/8th of pages in each zone to be stored
on per-cpu page lists. This entry only changes the value of hot per-cpu
page lists. A user can specify a number like 100 to allocate 1/100th of
each zone between per-cpu lists.

The batch value of each per cpu pagelist is also updated as a result. It is
set to pcp->high/4. The upper limit of batch is (PAGE_SHIFT * 8)
The batch value of each per-cpu page list remains the same regardless of
the value of the high fraction so allocation latencies are unaffected.

The initial value is zero. Kernel does not use this value at boot time to set
the high water marks for each per cpu page list. If the user writes '0' to this
sysctl, it will revert to this default behavior.
The initial value is zero. Kernel uses this value to set the high pcp->high
mark based on the low watermark for the zone and the number of local
online CPUs. If the user writes '0' to this sysctl, it will revert to
this default behavior.


stat_interval
Expand Down Expand Up @@ -936,12 +938,12 @@ allocations, THP and hugetlbfs pages.

To make it sensible with respect to the watermark_scale_factor
parameter, the unit is in fractions of 10,000. The default value of
15,000 on !DISCONTIGMEM configurations means that up to 150% of the high
watermark will be reclaimed in the event of a pageblock being mixed due
to fragmentation. The level of reclaim is determined by the number of
fragmentation events that occurred in the recent past. If this value is
smaller than a pageblock then a pageblocks worth of pages will be reclaimed
(e.g. 2MB on 64-bit x86). A boost factor of 0 will disable the feature.
15,000 means that up to 150% of the high watermark will be reclaimed in the
event of a pageblock being mixed due to fragmentation. The level of reclaim
is determined by the number of fragmentation events that occurred in the
recent past. If this value is smaller than a pageblock then a pageblocks
worth of pages will be reclaimed (e.g. 2MB on 64-bit x86). A boost factor
of 0 will disable the feature.


watermark_scale_factor
Expand Down
9 changes: 4 additions & 5 deletions Documentation/dev-tools/kasan.rst
Original file line number Diff line number Diff line change
Expand Up @@ -447,11 +447,10 @@ When a test fails due to a failed ``kmalloc``::

When a test fails due to a missing KASAN report::

# kmalloc_double_kzfree: EXPECTATION FAILED at lib/test_kasan.c:629
Expected kasan_data->report_expected == kasan_data->report_found, but
kasan_data->report_expected == 1
kasan_data->report_found == 0
not ok 28 - kmalloc_double_kzfree
# kmalloc_double_kzfree: EXPECTATION FAILED at lib/test_kasan.c:974
KASAN failure expected in "kfree_sensitive(ptr)", but none occurred
not ok 44 - kmalloc_double_kzfree


At the end the cumulative status of all KASAN tests is printed. On success::

Expand Down
45 changes: 2 additions & 43 deletions Documentation/vm/memory-model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,11 @@ for the CPU. Then there could be several contiguous ranges at
completely distinct addresses. And, don't forget about NUMA, where
different memory banks are attached to different CPUs.

Linux abstracts this diversity using one of the three memory models:
FLATMEM, DISCONTIGMEM and SPARSEMEM. Each architecture defines what
Linux abstracts this diversity using one of the two memory models:
FLATMEM and SPARSEMEM. Each architecture defines what
memory models it supports, what the default memory model is and
whether it is possible to manually override that default.

.. note::
At time of this writing, DISCONTIGMEM is considered deprecated,
although it is still in use by several architectures.

All the memory models track the status of physical page frames using
struct page arranged in one or more arrays.

Expand Down Expand Up @@ -63,43 +59,6 @@ straightforward: `PFN - ARCH_PFN_OFFSET` is an index to the
The `ARCH_PFN_OFFSET` defines the first page frame number for
systems with physical memory starting at address different from 0.

DISCONTIGMEM
============

The DISCONTIGMEM model treats the physical memory as a collection of
`nodes` similarly to how Linux NUMA support does. For each node Linux
constructs an independent memory management subsystem represented by
`struct pglist_data` (or `pg_data_t` for short). Among other
things, `pg_data_t` holds the `node_mem_map` array that maps
physical pages belonging to that node. The `node_start_pfn` field of
`pg_data_t` is the number of the first page frame belonging to that
node.

The architecture setup code should call :c:func:`free_area_init_node` for
each node in the system to initialize the `pg_data_t` object and its
`node_mem_map`.

Every `node_mem_map` behaves exactly as FLATMEM's `mem_map` -
every physical page frame in a node has a `struct page` entry in the
`node_mem_map` array. When DISCONTIGMEM is enabled, a portion of the
`flags` field of the `struct page` encodes the node number of the
node hosting that page.

The conversion between a PFN and the `struct page` in the
DISCONTIGMEM model became slightly more complex as it has to determine
which node hosts the physical page and which `pg_data_t` object
holds the `struct page`.

Architectures that support DISCONTIGMEM provide :c:func:`pfn_to_nid`
to convert PFN to the node number. The opposite conversion helper
:c:func:`page_to_nid` is generic as it uses the node number encoded in
page->flags.

Once the node number is known, the PFN can be used to index
appropriate `node_mem_map` array to access the `struct page` and
the offset of the `struct page` from the `node_mem_map` plus
`node_start_pfn` is the PFN of that page.

SPARSEMEM
=========

Expand Down
22 changes: 0 additions & 22 deletions arch/alpha/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -549,29 +549,12 @@ config NR_CPUS
MARVEL support can handle a maximum of 32 CPUs, all the others
with working support have a maximum of 4 CPUs.

config ARCH_DISCONTIGMEM_ENABLE
bool "Discontiguous Memory Support"
depends on BROKEN
help
Say Y to support efficient handling of discontiguous physical memory,
for architectures which are either NUMA (Non-Uniform Memory Access)
or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa.rst> for more.

config ARCH_SPARSEMEM_ENABLE
bool "Sparse Memory Support"
help
Say Y to support efficient handling of discontiguous physical memory,
for systems that have huge holes in the physical address space.

config NUMA
bool "NUMA Support (EXPERIMENTAL)"
depends on DISCONTIGMEM && BROKEN
help
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
Access). This option is for configuring high-end multiprocessor
server machines. If in doubt, say N.

config ALPHA_WTINT
bool "Use WTINT" if ALPHA_SRM || ALPHA_GENERIC
default y if ALPHA_QEMU
Expand All @@ -596,11 +579,6 @@ config ALPHA_WTINT

If unsure, say N.

config NODES_SHIFT
int
default "7"
depends on NEED_MULTIPLE_NODES

# LARGE_VMALLOC is racy, if you *really* need it then fix it first
config ALPHA_LARGE_VMALLOC
bool
Expand Down
6 changes: 0 additions & 6 deletions arch/alpha/include/asm/machvec.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,6 @@ struct alpha_machine_vector

const char *vector_name;

/* NUMA information */
int (*pa_to_nid)(unsigned long);
int (*cpuid_to_nid)(int);
unsigned long (*node_mem_start)(int);
unsigned long (*node_mem_size)(int);

/* System specific parameters. */
union {
struct {
Expand Down
100 changes: 0 additions & 100 deletions arch/alpha/include/asm/mmzone.h

This file was deleted.

4 changes: 0 additions & 4 deletions arch/alpha/include/asm/pgtable.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,6 @@ extern unsigned long __zero_page(void);
#define page_to_pa(page) (page_to_pfn(page) << PAGE_SHIFT)
#define pte_pfn(pte) (pte_val(pte) >> 32)

#ifndef CONFIG_DISCONTIGMEM
#define pte_page(pte) pfn_to_page(pte_pfn(pte))
#define mk_pte(page, pgprot) \
({ \
Expand All @@ -215,7 +214,6 @@ extern unsigned long __zero_page(void);
pte_val(pte) = (page_to_pfn(page) << 32) | pgprot_val(pgprot); \
pte; \
})
#endif

extern inline pte_t pfn_pte(unsigned long physpfn, pgprot_t pgprot)
{ pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpfn) << 32) | pgprot_val(pgprot); return pte; }
Expand Down Expand Up @@ -330,9 +328,7 @@ extern inline pte_t mk_swap_pte(unsigned long type, unsigned long offset)
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
#define __swp_entry_to_pte(x) ((pte_t) { (x).val })

#ifndef CONFIG_DISCONTIGMEM
#define kern_addr_valid(addr) (1)
#endif

#define pte_ERROR(e) \
printk("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e))
Expand Down
Loading