diff options
| author | Zi Yan <[email protected]> | 2024-02-26 20:55:33 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2024-03-05 01:01:20 +0000 |
| commit | c010d47f107f609b9f4d6a103b6dfc53889049e9 (patch) | |
| tree | 652570947468fe2a0d13ec6094b9d54f918682a9 /lib/test_vmalloc.c | |
| parent | mm: page_owner: add support for splitting to any order in split page_owner (diff) | |
| download | kernel-c010d47f107f609b9f4d6a103b6dfc53889049e9.tar.gz kernel-c010d47f107f609b9f4d6a103b6dfc53889049e9.zip | |
mm: thp: split huge page to any lower order pages
To split a THP to any lower order pages, we need to reform THPs on
subpages at given order and add page refcount based on the new page order.
Also we need to reinitialize page_deferred_list after removing the page
from the split_queue, otherwise a subsequent split will see list
corruption when checking the page_deferred_list again.
Note: Anonymous order-1 folio is not supported because _deferred_list,
which is used by partially mapped folios, is stored in subpage 2 and an
order-1 folio only has subpage 0 and 1. File-backed order-1 folios are
fine, since they do not use _deferred_list.
[[email protected]: fixup per discussion with Ryan]
Link: https://lkml.kernel.org/r/[email protected]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Zi Yan <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Kirill A. Shutemov <[email protected]>
Cc: Luis Chamberlain <[email protected]>
Cc: "Matthew Wilcox (Oracle)" <[email protected]>
Cc: Michal Koutny <[email protected]>
Cc: Roman Gushchin <[email protected]>
Cc: Ryan Roberts <[email protected]>
Cc: Yang Shi <[email protected]>
Cc: Yu Zhao <[email protected]>
Cc: Zach O'Keefe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'lib/test_vmalloc.c')
0 files changed, 0 insertions, 0 deletions
