linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Claudio Imbrenda <imbrenda@linux.ibm.com>, xu.xin.sc@gmail.com
Cc: akpm@linux-foundation.org, imbrenda@linux.vnet.ibm.com,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	xu xin <xu.xin16@zte.com.cn>
Subject: Re: [PATCH 0/3] ksm: fix incorrect count of merged pages when enabling use_zero_pages
Date: Thu, 29 Sep 2022 13:34:24 +0200	[thread overview]
Message-ID: <889909f6-f2db-f34a-0305-eb8500dd5453@redhat.com> (raw)
In-Reply-To: <20220929124242.60ef57ee@p-imbrenda>

On 29.09.22 12:42, Claudio Imbrenda wrote:
> On Thu, 29 Sep 2022 02:52:06 +0000
> xu.xin.sc@gmail.com wrote:
> 
>> From: xu xin <xu.xin16@zte.com.cn>
>>
>> Before enabling use_zero_pages by setting /sys/kernel/mm/ksm/
>> use_zero_pages to 1, pages_sharing of KSM is basically accurate. But
>> after enabling use_zero_pages, all empty pages that are merged with
>> kernel zero page are not counted in pages_sharing or pages_shared.
> 
> that's because those pages are not shared between different processes.

They are probably the most shared pages between processes in the kernel. 
They are simply not KSM pages, that's what makes accounting tricky here.

> 
>> That is because the rmap_items of these ksm zero pages are not
>> appended to The Stable Tree of KSM.
>>
>> We need to add the count of empty pages to let users know how many empty
>> pages are merged with kernel zero page(s).
> 
> why?
> 
> do you need to know how many untouched zero pages a process has?
> 
> does it make a difference if the zero page is really untouched or if it
> was touched in the past but it is now zero?

I'd also like to understand the rationale. Is it about estimating memory 
demands when each and every shared page could get unshared?

-- 
Thanks,

David / dhildenb



  reply	other threads:[~2022-09-29 11:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-29  2:52 xu.xin.sc
2022-09-29  2:59 ` [PATCH 1/3] ksm: abstract the function try_to_get_old_rmap_item xu.xin.sc
2022-09-29  3:00 ` [PATCH 2/3] ksm: add the accounting of zero pages merged by use_zero_pages xu.xin.sc
2022-09-29  3:00 ` [PATCH 3/3] ksm: add zero_pages_sharing in Documentation xu.xin.sc
2022-09-29  9:21 ` [PATCH 0/3] ksm: fix incorrect count of merged pages when enabling use_zero_pages David Hildenbrand
2022-09-29 10:36   ` Claudio Imbrenda
2022-09-29 11:12     ` David Hildenbrand
2022-09-29 12:05       ` Claudio Imbrenda
2022-09-29 17:53         ` David Hildenbrand
2022-09-30  9:30           ` Claudio Imbrenda
2022-09-30  9:40             ` David Hildenbrand
2022-09-29 11:13   ` Reply:[PATCH " xu xin
2022-09-29 10:42 ` [PATCH " Claudio Imbrenda
2022-09-29 11:34   ` David Hildenbrand [this message]
2022-09-29 11:51     ` Claudio Imbrenda
2022-09-30  2:00       ` Reply:[PATCH " xu xin
2022-09-30  9:41         ` 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=889909f6-f2db-f34a-0305-eb8500dd5453@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=imbrenda@linux.ibm.com \
    --cc=imbrenda@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=xu.xin.sc@gmail.com \
    --cc=xu.xin16@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox