From: "Alex Shi (tencent)" <alexs@xxxxxxxxxx> This is the first part of page to folio transfer on KSM. Since only single page could be stored in KSM, we could safely transfer stable tree pages to folios. This patchset could reduce ksm.o 81kbytes from 2570760 bytes on latest akpm/mm-stable branch with CONFIG_DEBUG_VM enabled. It pass the KSM testing in LTP and kernel selftest. Alex Shi (tencent) (14): mm/ksm: add ksm_get_folio mm/ksm: use folio in remove_rmap_item_from_tree mm/ksm: add folio_set_stable_node mm/ksm: use folio in remove_stable_node mm/ksm: use folio in stable_node_dup mm/ksm: use ksm_get_folio in scan_get_next_rmap_item mm/ksm: use folio in write_protect_page mm/ksm: Convert chain series funcs to use folio mm/ksm: Convert stable_tree_insert to use folio mm/ksm: Convert stable_tree_search to use folio mm/ksm: return folio for chain series funcs mm/ksm: remove get_ksm_page and related info mm/ksm: use folio_set_stable_node in try_to_merge_one_page mm/ksm: remove set_page_stable_node mm/ksm.c | 259 ++++++++++++++++++++++++++------------------------- mm/migrate.c | 2 +- 2 files changed, 131 insertions(+), 130 deletions(-) -- 2.43.0