[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2460b794-92f0-d115-c729-bcfe33663e48@huawei.com>
Date: Tue, 21 Jun 2016 09:57:54 +0800
From: zhouxianrong <zhouxianrong@...wei.com>
To: <linux-mm@...ck.org>
CC: <akpm@...ux-foundation.org>, <hughd@...gle.com>,
<aarcange@...hat.com>, <kirill.shutemov@...ux.intel.com>,
<dave.hansen@...ux.intel.com>, <zhouchengming1@...wei.com>,
<geliangtang@....com>, <linux-kernel@...r.kernel.org>,
<zhouxiyu@...wei.com>, <wanghaijun5@...wei.com>
Subject: Re: [PATCH v2] more mapcount page as kpage could reduce total
replacement times than fewer mapcount one in probability.
hey hugh:
could you please give me some suggestion about this ?
On 2016/6/15 9:56, zhouxianrong@...wei.com wrote:
> From: z00281421 <z00281421@...esmail.huawei.com>
>
> more mapcount page as kpage could reduce total replacement times
> than fewer mapcount one when ksmd scan and replace among
> forked pages later.
>
> Signed-off-by: z00281421 <z00281421@...esmail.huawei.com>
> ---
> mm/ksm.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/mm/ksm.c b/mm/ksm.c
> index 4786b41..4d530af 100644
> --- a/mm/ksm.c
> +++ b/mm/ksm.c
> @@ -1094,6 +1094,14 @@ static struct page *try_to_merge_two_pages(struct rmap_item *rmap_item,
> {
> int err;
>
> + /*
> + * select more mapcount page as kpage
> + */
> + if (page_mapcount(page) < page_mapcount(tree_page)) {
> + swap(page, tree_page);
> + swap(rmap_item, tree_rmap_item);
> + }
> +
> err = try_to_merge_with_ksm_page(rmap_item, page, NULL);
> if (!err) {
> err = try_to_merge_with_ksm_page(tree_rmap_item,
>
Powered by blists - more mailing lists