* [PATCH v10 0/5] ksm: support tracking KSM-placed zero-pages
@ 2023-05-25 5:41 yang.yang29
[not found] ` <20230525055410.27423-1-yang.yang29@zte.com.cn>
0 siblings, 1 reply; 2+ messages in thread
From: yang.yang29 @ 2023-05-25 5:41 UTC (permalink / raw)
To: akpm, david
Cc: imbrenda, linux-kernel, linux-mm, ran.xiaokai, xu.xin.sc,
xu.xin16, yang.yang29, jiang.xuexin
From: xu xin <xu.xin16@zte.com.cn>
The core idea of this patch set is to enable users to perceive the number
of any pages merged by KSM, regardless of whether use_zero_page switch has
been turned on, so that users can know how much free memory increase is
really due to their madvise(MERGEABLE) actions. But the problem is, when
enabling use_zero_pages, all empty pages will be merged with kernel zero
pages instead of with each other as use_zero_pages is disabled, and then
these zero-pages are no longer monitored by KSM.
The motivations to do this is seen at:
https://lore.kernel.org/lkml/202302100915227721315@zte.com.cn/
In one word, we hope to implement the support for KSM-placed zero pages
tracking without affecting the feature of use_zero_pages, so that app
developer can also benefit from knowing the actual KSM profit by getting
KSM-placed zero pages to optimize applications eventually when
/sys/kernel/mm/ksm/use_zero_pages is enabled.
Change log
----------
v9->v10:
-------
(1) Fix a compile error due to [PATCH v8 3/5] when CONFIG_KSM is not set.
(2) Rename the function 'ksm_notify_unmap_zero_page' as
'ksm_might_unmap_zero_page'.
(3) In [PATCH 5/5], we get ksm_zero_pages from its own 'mm' instead of
the global system.
(4) In [PATCH 5/5], we add a subject task of testing ksm zero pages when
unmerging by triggering write fault.
v8->v9:
------
(1) The previous [PATCH v8 4/6] is squashed into the current [PATCH v9 2/5].
(2) Improve the codes as David's suggestions.
v7->v8:
-------
(1) Since [1] which fix the bug of pte_mkdirty on sparc64 that makes pte
writable, then we can remove the architechture restrictions of our
features.
(2) Improve the scheme of update ksm_zero_pages: add the handling case when
khugepaged replaces a shared zeropage by a THP.
[1] https://lore.kernel.org/all/20230411141529.428991-2-david@redhat.com/
v6->v7:
-------
This is an all-newed version which is different from v6 which relys on KSM's
rmap_item. The patch series don't rely on rmap_item but pte_dirty, so the
general handling of tracking KSM-placed zero-pages is simplified a lot.
For safety, we restrict this feature only to the tested and known-working
architechtures (ARM, ARM64, and X86) fow now.
xu xin (5):
ksm: support unsharing KSM-placed zero pages
ksm: count all zero pages placed by KSM
ksm: add ksm zero pages for each process
ksm: consider KSM-placed zeropages when calculating KSM profit
selftest: add a testcase of ksm zero pages
Documentation/admin-guide/mm/ksm.rst | 25 ++++--
fs/proc/base.c | 1 +
include/linux/ksm.h | 20 +++++
include/linux/mm_types.h | 9 ++-
mm/khugepaged.c | 2 +
mm/ksm.c | 28 +++++--
mm/memory.c | 5 +-
tools/testing/selftests/mm/ksm_functional_tests.c | 98 ++++++++++++++++++++++-
8 files changed, 172 insertions(+), 16 deletions(-)
--
2.15.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v10 5/5] selftest: add a testcase of ksm zero pages
[not found] ` <20230525055410.27423-1-yang.yang29@zte.com.cn>
@ 2023-05-30 9:12 ` David Hildenbrand
0 siblings, 0 replies; 2+ messages in thread
From: David Hildenbrand @ 2023-05-30 9:12 UTC (permalink / raw)
To: Yang Yang, akpm
Cc: imbrenda, jiang.xuexin, linux-kernel, linux-mm, ran.xiaokai,
xu.xin.sc, xu.xin16
On 25.05.23 07:54, Yang Yang wrote:
> From: xu xin <xu.xin16@zte.com.cn>
>
> Add a function test_unmerge_zero_page() to test the functionality on
> unsharing and counting ksm-placed zero pages and counting of this patch
> series.
>
> test_unmerge_zero_page() actually contains four subjct test objects:
> (1) whether the count of ksm zero pages can update correctly after merging;
> (2) whether the count of ksm zero pages can update correctly after
> unmerging by madvise(...MADV_UNMERGEABLE);
> (3) whether the count of ksm zero pages can update correctly after
> unmerging by triggering write fault.
> (4) whether ksm zero pages are really unmerged.
>
> Signed-off-by: xu xin <xu.xin16@zte.com.cn>
> Reviewed-by: Xiaokai Ran <ran.xiaokai@zte.com.cn>
> Reviewed-by: Yang Yang <yang.yang29@zte.com.cn>
> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
> Cc: David Hildenbrand <david@redhat.com>
> Cc: Xuexin Jiang <jiang.xuexin@zte.com.cn>
> ---
Acked-by: David Hildenbrand <david@redhat.com>
Thanks!
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-05-30 9:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-25 5:41 [PATCH v10 0/5] ksm: support tracking KSM-placed zero-pages yang.yang29
[not found] ` <20230525055410.27423-1-yang.yang29@zte.com.cn>
2023-05-30 9:12 ` [PATCH v10 5/5] selftest: add a testcase of ksm zero pages David Hildenbrand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox