mbox series

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

Message ID 20220831031951.43152-1-zhengqi.arch@bytedance.com (mailing list archive)
Headers show
Series add common struct mm_slot and use it in THP and KSM | expand

Message

Qi Zheng Aug. 31, 2022, 3:19 a.m. UTC
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.

Changelog in v1 -> v2:
 - change the names of these mm_slot related operation functions
   (suggested by Andrew)

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