[PATCH 0/7] add common struct mm_slot and use it in THP and KSM

From: Qi Zheng
Date: Mon Aug 29 2022 - 10:32:14 EST


Hi all,

At present, both THP and KSM module have similar structures mm_slot for
organizing and recording the information required for scanning mm, and
each defines the following exactly the same operation functions:

- alloc_mm_slot
- free_mm_slot
- get_mm_slot
- insert_to_mm_slots_hash

In order to de-duplicate these codes, this patchset introduces a common
struct mm_slot, and lets THP and KSM to use it.

This series is based on next-20220829.

Comments and suggestions are welcome.

Thanks,
Qi.

Qi Zheng (7):
mm: introduce common struct mm_slot
mm: thp: convert to use common struct mm_slot
ksm: remove redundant declarations in ksm.h
ksm: add the ksm prefix to the names of the ksm private structures
ksm: convert ksm_mm_slot.mm_list to ksm_mm_slot.mm_node
ksm: convert ksm_mm_slot.link to ksm_mm_slot.hash
ksm: convert to use common struct mm_slot

Documentation/mm/ksm.rst | 2 +-
include/linux/ksm.h | 3 -
mm/khugepaged.c | 121 ++++++---------
mm/ksm.c | 326 ++++++++++++++++++---------------------
mm/mm_slot.h | 55 +++++++
5 files changed, 260 insertions(+), 247 deletions(-)
create mode 100644 mm/mm_slot.h

--
2.20.1