mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
mm/huge_memory: allow split shmem large folio to any lower order
Commit 4d684b5f92ba ("mm: shmem: add large folio support for tmpfs") has
added large folio support to shmem. Remove the restriction in
split_huge_page*().
Link: https://lkml.kernel.org/r/20250122161928.1240637-2-ziy@nvidia.com
Signed-off-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: Yang Shi <yang@os.amperecomputing.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Kirill A. Shuemov <kirill.shutemov@linux.intel.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
035a112e5f
commit
9b2f764933
|
|
@ -3299,7 +3299,7 @@ static void __split_huge_page(struct page *page, struct list_head *list,
|
|||
/* Some pages can be beyond EOF: drop them from page cache */
|
||||
if (tail->index >= end) {
|
||||
if (shmem_mapping(folio->mapping))
|
||||
nr_dropped++;
|
||||
nr_dropped += new_nr;
|
||||
else if (folio_test_clear_dirty(tail))
|
||||
folio_account_cleaned(tail,
|
||||
inode_to_wb(folio->mapping->host));
|
||||
|
|
@ -3465,12 +3465,6 @@ int split_huge_page_to_list_to_order(struct page *page, struct list_head *list,
|
|||
return -EINVAL;
|
||||
}
|
||||
} else if (new_order) {
|
||||
/* Split shmem folio to non-zero order not supported */
|
||||
if (shmem_mapping(folio->mapping)) {
|
||||
VM_WARN_ONCE(1,
|
||||
"Cannot split shmem folio to non-0 order");
|
||||
return -EINVAL;
|
||||
}
|
||||
/*
|
||||
* No split if the file system does not support large folio.
|
||||
* Note that we might still have THPs in such mappings due to
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user