Skip to content

Commit fb46e22

Browse files
committed
Merge tag 'mm-stable-2024-01-08-15-31' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull MM updates from Andrew Morton: "Many singleton patches against the MM code. The patch series which are included in this merge do the following: - Peng Zhang has done some mapletree maintainance work in the series 'maple_tree: add mt_free_one() and mt_attr() helpers' 'Some cleanups of maple tree' - In the series 'mm: use memmap_on_memory semantics for dax/kmem' Vishal Verma has altered the interworking between memory-hotplug and dax/kmem so that newly added 'device memory' can more easily have its memmap placed within that newly added memory. - Matthew Wilcox continues folio-related work (including a few fixes) in the patch series 'Add folio_zero_tail() and folio_fill_tail()' 'Make folio_start_writeback return void' 'Fix fault handler's handling of poisoned tail pages' 'Convert aops->error_remove_page to ->error_remove_folio' 'Finish two folio conversions' 'More swap folio conversions' - Kefeng Wang has also contributed folio-related work in the series 'mm: cleanup and use more folio in page fault' - Jim Cromie has improved the kmemleak reporting output in the series 'tweak kmemleak report format'. - In the series 'stackdepot: allow evicting stack traces' Andrey Konovalov to permits clients (in this case KASAN) to cause eviction of no longer needed stack traces. - Charan Teja Kalla has fixed some accounting issues in the page allocator's atomic reserve calculations in the series 'mm: page_alloc: fixes for high atomic reserve caluculations'. - Dmitry Rokosov has added to the samples/ dorectory some sample code for a userspace memcg event listener application. See the series 'samples: introduce cgroup events listeners'. - Some mapletree maintanance work from Liam Howlett in the series 'maple_tree: iterator state changes'. - Nhat Pham has improved zswap's approach to writeback in the series 'workload-specific and memory pressure-driven zswap writeback'. - DAMON/DAMOS feature and maintenance work from SeongJae Park in the series 'mm/damon: let users feed and tame/auto-tune DAMOS' 'selftests/damon: add Python-written DAMON functionality tests' 'mm/damon: misc updates for 6.8' - Yosry Ahmed has improved memcg's stats flushing in the series 'mm: memcg: subtree stats flushing and thresholds'. - In the series 'Multi-size THP for anonymous memory' Ryan Roberts has added a runtime opt-in feature to transparent hugepages which improves performance by allocating larger chunks of memory during anonymous page faults. - Matthew Wilcox has also contributed some cleanup and maintenance work against eh buffer_head code int he series 'More buffer_head cleanups'. - Suren Baghdasaryan has done work on Andrea Arcangeli's series 'userfaultfd move option'. UFFDIO_MOVE permits userspace heap compaction algorithms to move userspace's pages around rather than UFFDIO_COPY'a alloc/copy/free. - Stefan Roesch has developed a 'KSM Advisor', in the series 'mm/ksm: Add ksm advisor'. This is a governor which tunes KSM's scanning aggressiveness in response to userspace's current needs. - Chengming Zhou has optimized zswap's temporary working memory use in the series 'mm/zswap: dstmem reuse optimizations and cleanups'. - Matthew Wilcox has performed some maintenance work on the writeback code, both code and within filesystems. The series is 'Clean up the writeback paths'. - Andrey Konovalov has optimized KASAN's handling of alloc and free stack traces for secondary-level allocators, in the series 'kasan: save mempool stack traces'. - Andrey also performed some KASAN maintenance work in the series 'kasan: assorted clean-ups'. - David Hildenbrand has gone to town on the rmap code. Cleanups, more pte batching, folio conversions and more. See the series 'mm/rmap: interface overhaul'. - Kinsey Ho has contributed some maintenance work on the MGLRU code in the series 'mm/mglru: Kconfig cleanup'. - Matthew Wilcox has contributed lruvec page accounting code cleanups in the series 'Remove some lruvec page accounting functions'" * tag 'mm-stable-2024-01-08-15-31' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (361 commits) mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER mm, treewide: introduce NR_PAGE_ORDERS selftests/mm: add separate UFFDIO_MOVE test for PMD splitting selftests/mm: skip test if application doesn't has root privileges selftests/mm: conform test to TAP format output selftests: mm: hugepage-mmap: conform to TAP format output selftests/mm: gup_test: conform test to TAP format output mm/selftests: hugepage-mremap: conform test to TAP format output mm/vmstat: move pgdemote_* out of CONFIG_NUMA_BALANCING mm: zsmalloc: return -ENOSPC rather than -EINVAL in zs_malloc while size is too large mm/memcontrol: remove __mod_lruvec_page_state() mm/khugepaged: use a folio more in collapse_file() slub: use a folio in __kmalloc_large_node slub: use folio APIs in free_large_kmalloc() slub: use alloc_pages_node() in alloc_slab_page() mm: remove inc/dec lruvec page state functions mm: ratelimit stat flush from workingset shrinker kasan: stop leaking stack trace handles mm/mglru: remove CONFIG_TRANSPARENT_HUGEPAGE mm/mglru: add dummy pmd_dirty() ...
2 parents d30e51a + 5e0a760 commit fb46e22

File tree

303 files changed

+11322
-5023
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+11322
-5023
lines changed

Documentation/ABI/testing/sysfs-kernel-mm-damon

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ Description: Writing 'on' or 'off' to this file makes the kdamond starts or
2525
stops, respectively. Reading the file returns the keywords
2626
based on the current status. Writing 'commit' to this file
2727
makes the kdamond reads the user inputs in the sysfs files
28-
except 'state' again. Writing 'update_schemes_stats' to the
29-
file updates contents of schemes stats files of the kdamond.
30-
Writing 'update_schemes_tried_regions' to the file updates
31-
contents of 'tried_regions' directory of every scheme directory
32-
of this kdamond. Writing 'update_schemes_tried_bytes' to the
33-
file updates only '.../tried_regions/total_bytes' files of this
28+
except 'state' again. Writing 'commit_schemes_quota_goals' to
29+
this file makes the kdamond reads the quota goal files again.
30+
Writing 'update_schemes_stats' to the file updates contents of
31+
schemes stats files of the kdamond. Writing
32+
'update_schemes_tried_regions' to the file updates contents of
33+
'tried_regions' directory of every scheme directory of this
34+
kdamond. Writing 'update_schemes_tried_bytes' to the file
35+
updates only '.../tried_regions/total_bytes' files of this
3436
kdamond. Writing 'clear_schemes_tried_regions' to the file
3537
removes contents of the 'tried_regions' directory.
3638

@@ -212,6 +214,25 @@ Contact: SeongJae Park <sj@kernel.org>
212214
Description: Writing to and reading from this file sets and gets the quotas
213215
charge reset interval of the scheme in milliseconds.
214216

217+
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
218+
Date: Nov 2023
219+
Contact: SeongJae Park <sj@kernel.org>
220+
Description: Writing a number 'N' to this file creates the number of
221+
directories for setting automatic tuning of the scheme's
222+
aggressiveness named '0' to 'N-1' under the goals/ directory.
223+
224+
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
225+
Date: Nov 2023
226+
Contact: SeongJae Park <sj@kernel.org>
227+
Description: Writing to and reading from this file sets and gets the target
228+
value of the goal metric.
229+
230+
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
231+
Date: Nov 2023
232+
Contact: SeongJae Park <sj@kernel.org>
233+
Description: Writing to and reading from this file sets and gets the current
234+
value of the goal metric.
235+
215236
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
216237
Date: Mar 2022
217238
Contact: SeongJae Park <sj@kernel.org>

Documentation/admin-guide/blockdev/zram.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ as idle::
328328
From now on, any pages on zram are idle pages. The idle mark
329329
will be removed until someone requests access of the block.
330330
IOW, unless there is access request, those pages are still idle pages.
331-
Additionally, when CONFIG_ZRAM_MEMORY_TRACKING is enabled pages can be
331+
Additionally, when CONFIG_ZRAM_TRACK_ENTRY_ACTIME is enabled pages can be
332332
marked as idle based on how long (in seconds) it's been since they were
333333
last accessed::
334334

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1693,6 +1693,21 @@ PAGE_SIZE multiple when read back.
16931693
limit, it will refuse to take any more stores before existing
16941694
entries fault back in or are written out to disk.
16951695

1696+
memory.zswap.writeback
1697+
A read-write single value file. The default value is "1". The
1698+
initial value of the root cgroup is 1, and when a new cgroup is
1699+
created, it inherits the current value of its parent.
1700+
1701+
When this is set to 0, all swapping attempts to swapping devices
1702+
are disabled. This included both zswap writebacks, and swapping due
1703+
to zswap store failures. If the zswap store failures are recurring
1704+
(for e.g if the pages are incompressible), users can observe
1705+
reclaim inefficiency after disabling writeback (because the same
1706+
pages might be rejected again and again).
1707+
1708+
Note that this is subtly different from setting memory.swap.max to
1709+
0, as it still allows for pages to be written to the zswap pool.
1710+
16961711
memory.pressure
16971712
A read-only nested-keyed file.
16981713

Documentation/admin-guide/kdump/vmcoreinfo.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ variables.
172172
Offset of the free_list's member. This value is used to compute the number
173173
of free pages.
174174

175-
Each zone has a free_area structure array called free_area[MAX_ORDER + 1].
175+
Each zone has a free_area structure array called free_area[NR_PAGE_ORDERS].
176176
The free_list represents a linked list of free page blocks.
177177

178178
(list_head, next|prev)
@@ -189,11 +189,11 @@ Offsets of the vmap_area's members. They carry vmalloc-specific
189189
information. Makedumpfile gets the start address of the vmalloc region
190190
from this.
191191

192-
(zone.free_area, MAX_ORDER + 1)
193-
-------------------------------
192+
(zone.free_area, NR_PAGE_ORDERS)
193+
--------------------------------
194194

195195
Free areas descriptor. User-space tools use this value to iterate the
196-
free_area ranges. MAX_ORDER is used by the zone buddy allocator.
196+
free_area ranges. NR_PAGE_ORDERS is used by the zone buddy allocator.
197197

198198
prb
199199
---

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -970,17 +970,17 @@
970970
buddy allocator. Bigger value increase the probability
971971
of catching random memory corruption, but reduce the
972972
amount of memory for normal system use. The maximum
973-
possible value is MAX_ORDER/2. Setting this parameter
974-
to 1 or 2 should be enough to identify most random
975-
memory corruption problems caused by bugs in kernel or
976-
driver code when a CPU writes to (or reads from) a
977-
random memory location. Note that there exists a class
978-
of memory corruptions problems caused by buggy H/W or
979-
F/W or by drivers badly programming DMA (basically when
980-
memory is written at bus level and the CPU MMU is
981-
bypassed) which are not detectable by
982-
CONFIG_DEBUG_PAGEALLOC, hence this option will not help
983-
tracking down these problems.
973+
possible value is MAX_PAGE_ORDER/2. Setting this
974+
parameter to 1 or 2 should be enough to identify most
975+
random memory corruption problems caused by bugs in
976+
kernel or driver code when a CPU writes to (or reads
977+
from) a random memory location. Note that there exists
978+
a class of memory corruptions problems caused by buggy
979+
H/W or F/W or by drivers badly programming DMA
980+
(basically when memory is written at bus level and the
981+
CPU MMU is bypassed) which are not detectable by
982+
CONFIG_DEBUG_PAGEALLOC, hence this option will not
983+
help tracking down these problems.
984984

985985
debug_pagealloc=
986986
[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
@@ -4136,7 +4136,7 @@
41364136
[KNL] Minimal page reporting order
41374137
Format: <integer>
41384138
Adjust the minimal page reporting order. The page
4139-
reporting is disabled when it exceeds MAX_ORDER.
4139+
reporting is disabled when it exceeds MAX_PAGE_ORDER.
41404140

41414141
panic= [KNL] Kernel behaviour on panic: delay <timeout>
41424142
timeout > 0: seconds before rebooting

0 commit comments

Comments
 (0)