From: xu xin <xu.xin.sc@gmail.com>
To: david@redhat.com
Cc: akpm@linux-foundation.org, imbrenda@linux.ibm.com,
jiang.xuexin@zte.com.cn, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, ran.xiaokai@zte.com.cn, xu.xin.sc@gmail.com,
xu.xin16@zte.com.cn, yang.yang29@zte.com.cn
Subject: Re: [PATCH v6 0/6] ksm: support tracking KSM-placed zero-pages
Date: Thu, 30 Mar 2023 12:06:54 +0000 [thread overview]
Message-ID: <20230330120654.120937-1-xu.xin16@zte.com.cn> (raw)
In-Reply-To: <78e35d88-8a4e-3b36-bbbd-94048c0c5b54@redhat.com>
Hi, I'm sorry to reply so late because I was so busy with my job matters recently.
I appreciate David's idea of simplifying the implement of tracking KSM-placed zero pages.
But I'm confused with how to implement that via pte_mkdirty/pte_dirty without affecting
other functions now and in the future.
>
>I already shared some feedback in [1]. I think we should try to simplify
>this handling, as proposed in that mail. Still waiting for a reply.
>
>[1]
>https://lore.kernel.org/all/9d7a8be3-ee9e-3492-841b-a0af9952ef36@redhat.com/
I have some questions about using pte_mkdirty to mark KSM-placed zero pages.
(1) Will KSM using pte_mkdirty to mark KSM-placed zero pages collides with the existing
handling of the same pte in other featutes? And in the future, what if there are new
codes also using pte_mkdirty for other goals.
(2) Can the literal meaning of pte_mkdiry represents a pte that points to ksm zero page?
(3) Suppose we use the pte_mkdirty approach, how to update/decline the count of ksm_zero_pages
when upper app writting on the page triggers COW(Copy on Write)? In *mm_fault outside
mm/ksm.c ?
Move the previos message here to reply together.
>The problem with this approach I see is that it fundamentally relies on
>the rmap/stable-tree to detect whether a zeropage was placed or not.
>
>I was wondering, why we even need an rmap item *at all* anymore. Why
>can't we place the shared zeropage an call it a day (remove the rmap
>item)? Once we placed a shared zeropage, the next KSM scan should better
>just ignore it, it's already deduplicated.
The reason is as follows ...
Initially, all scanned pages by ksmd will be assigned a rmap_item storing the page
information and ksm information, which helps ksmd can know every scanned pages' status and
update all counts especialy when COW happens. But since use_zero_pages feature was merged,
the situation changed, ksm zero pages is the only exception of ksm-scanned page without owning
a rmap_item in KSM, which leads to ksmd even don't know the existing of KSM-placed, and thus
causes the problem of our patches aimed to solve.
next prev parent reply other threads:[~2023-03-30 12:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-10 1:15 [PATCH v6 0/6] ksm: support tracking KSM-placed zero-pages yang.yang29
2023-03-13 13:03 ` David Hildenbrand
2023-03-13 14:10 ` Claudio Imbrenda
2023-03-13 16:04 ` David Hildenbrand
2023-03-28 22:38 ` Andrew Morton
2023-03-30 4:47 ` David Hildenbrand
2023-03-30 12:06 ` xu xin [this message]
2023-04-03 15:20 ` David Hildenbrand
2023-04-14 1:35 ` xu xin
2023-04-14 8:40 ` Claudio Imbrenda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230330120654.120937-1-xu.xin16@zte.com.cn \
--to=xu.xin.sc@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=imbrenda@linux.ibm.com \
--cc=jiang.xuexin@zte.com.cn \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ran.xiaokai@zte.com.cn \
--cc=xu.xin16@zte.com.cn \
--cc=yang.yang29@zte.com.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.