[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20091130094616.8f3d94a7.kamezawa.hiroyu@jp.fujitsu.com>
Date: Mon, 30 Nov 2009 09:46:16 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Hugh Dickins <hugh.dickins@...cali.co.uk>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Izik Eidus <ieidus@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Chris Wright <chrisw@...hat.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
"kosaki.motohiro@...fujitsu.com" <kosaki.motohiro@...fujitsu.com>
Subject: Re: [PATCH 2/9] ksm: let shared pages be swappable
On Tue, 24 Nov 2009 16:42:15 +0000 (GMT)
Hugh Dickins <hugh.dickins@...cali.co.uk> wrote:
> +int page_referenced_ksm(struct page *page, struct mem_cgroup *memcg,
> + unsigned long *vm_flags)
> +{
> + struct stable_node *stable_node;
> + struct rmap_item *rmap_item;
> + struct hlist_node *hlist;
> + unsigned int mapcount = page_mapcount(page);
> + int referenced = 0;
> + struct vm_area_struct *vma;
> +
> + VM_BUG_ON(!PageKsm(page));
> + VM_BUG_ON(!PageLocked(page));
> +
> + stable_node = page_stable_node(page);
> + if (!stable_node)
> + return 0;
> +
Hmm. I'm not sure how many pages are shared in a system but
can't we add some threshold for avoidng too much scan against shared pages ?
(in vmscan.c)
like..
if (page_mapcount(page) > (XXXX >> scan_priority))
return 1;
I saw terrible slow downs in shmem-swap-out in old RHELs (at user support).
(Added kosaki to CC.)
After this patch, the number of shared swappable page will be unlimited.
Thanks,
-Kame
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists