mirror of
https://github.com/torvalds/linux
synced 2024-10-19 09:49:29 +00:00
fa6c02315f
We did not have a direct user interface of splitting the compound page backing a THP and there is no need unless we want to expose the THP implementation details to users. Make <debugfs>/split_huge_pages accept a new command to do that. By writing "<pid>,<vaddr_start>,<vaddr_end>" to <debugfs>/split_huge_pages, THPs within the given virtual address range from the process with the given pid are split. It is used to test split_huge_page function. In addition, a selftest program is added to tools/testing/selftests/vm to utilize the interface by splitting PMD THPs and PTE-mapped THPs. This does not change the old behavior, i.e., writing 1 to the interface to split all THPs in the system. Link: https://lkml.kernel.org/r/20210331235309.332292-1-zi.yan@sent.com Signed-off-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Yang Shi <shy828301@gmail.com> Cc: David Hildenbrand <david@redhat.com> Cc: David Rientjes <rientjes@google.com> Cc: John Hubbard <jhubbard@nvidia.com> Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Mika Penttila <mika.penttila@nextfour.com> Cc: Sandipan Das <sandipan@linux.ibm.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
.gitignore | ||
charge_reserved_hugetlb.sh | ||
check_config.sh | ||
compaction_test.c | ||
config | ||
gup_test.c | ||
hmm-tests.c | ||
hugepage-mmap.c | ||
hugepage-shm.c | ||
hugetlb_reparenting_test.sh | ||
khugepaged.c | ||
Makefile | ||
map_fixed_noreplace.c | ||
map_hugetlb.c | ||
map_populate.c | ||
mlock-random-test.c | ||
mlock2-tests.c | ||
mlock2.h | ||
mremap_dontunmap.c | ||
mremap_test.c | ||
on-fault-limit.c | ||
pkey-helpers.h | ||
pkey-powerpc.h | ||
pkey-x86.h | ||
protection_keys.c | ||
run_vmtests.sh | ||
split_huge_page_test.c | ||
test_hmm.sh | ||
test_vmalloc.sh | ||
thuge-gen.c | ||
transhuge-stress.c | ||
userfaultfd.c | ||
va_128TBswitch.c | ||
virtual_address_range.c | ||
write_hugetlb_memory.sh | ||
write_to_hugetlbfs.c |