[RFC PATCH 00/11] Remove READ_ONLY_THP_FOR_FS
From: Zi Yan
Date: Mon Mar 23 2026 - 15:29:06 EST
Hi all,
After Willy's heads-up on the removal of CONFIG_READ_ONLY_THP_FOR_FS[1].
This patchset is an attempt of removing it.
The patchset does the removal in the following steps:
1. remove READ_ONLY_THP_FOR_FS Kconfig
2. remove collapse_file() code on READ_ONLY_THP_FOR_FS
3. remove filemap_nr_thps*() functions
4. remove file_thp_enabled()
5. remove related folio splittable checks
6. replace try_folio_split_to_order() with folio_split() in
truncate_inode_partial_folio().
6. remove related fs code
7. clean up selftests code
It seems that NR_FILE_THPS is also used for fs with large folio support,
so it is kept.
Let me know if I miss anything. Comments and suggestions are welcome.
Link: https://lore.kernel.org/all/aTJg9vOijOGVTnVt@xxxxxxxxxxxxxxxxxxxx/ [1]
Zi Yan (11):
mm: remove READ_ONLY_THP_FOR_FS Kconfig option
mm/khugepaged: remove READ_ONLY_THP_FOR_FS code in collapse_file()
mm: remove filemap_nr_thps*() functions
mm/huge_memory: remove file_thp_enabled() and its caller.
mm/huge_memory: remove folio split check for READ_ONLY_THP_FOR_FS
mm/truncate: use folio_split() in truncate_inode_partial_folio()
fs: remove nr_thp from struct address_space
fs: remove READ_ONLY_THP_FOR_FS code
fs/btrfs: remove a comment referring to READ_ONLY_THP_FOR_FS
selftests/mm: remove READ_ONLY_THP_FOR_FS test in khugepaged
selftests/mm: remove READ_ONLY_THP_FOR_FS test in guard-regions
fs/btrfs/defrag.c | 3 -
fs/inode.c | 3 -
fs/open.c | 27 ---
include/linux/fs.h | 5 -
include/linux/huge_mm.h | 28 ---
include/linux/pagemap.h | 29 ---
mm/Kconfig | 11 --
mm/filemap.c | 1 -
mm/huge_memory.c | 44 -----
mm/khugepaged.c | 159 ++++-------------
mm/truncate.c | 8 +-
tools/testing/selftests/mm/guard-regions.c | 148 +---------------
tools/testing/selftests/mm/khugepaged.c | 197 +--------------------
13 files changed, 42 insertions(+), 621 deletions(-)
--
2.43.0