From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: kosaki.motohiro@jp.fujitsu.com,
Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Andrew Morton <akpm@linux-foundation.org>,
Izik Eidus <ieidus@redhat.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Chris Wright <chrisw@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 2/9] ksm: let shared pages be swappable
Date: Mon, 30 Nov 2009 18:15:44 +0900 (JST) [thread overview]
Message-ID: <20091130180452.5BF6.A69D9226@jp.fujitsu.com> (raw)
In-Reply-To: <20091130094616.8f3d94a7.kamezawa.hiroyu@jp.fujitsu.com>
> On Tue, 24 Nov 2009 16:42:15 +0000 (GMT)
> Hugh Dickins <hugh.dickins@tiscali.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.
Probably, it doesn't matter. I mean
- KSM sharing and Shmem sharing are almost same performance characteristics.
- if memroy pressure is low, SplitLRU VM doesn't scan anon list so much.
if ksm swap is too costly, we need to improve anon list scanning generically.
btw, I'm not sure why bellow kmem_cache_zalloc() is necessary. Why can't we
use stack?
----------------------------
+ /*
+ * Temporary hack: really we need anon_vma in rmap_item, to
+ * provide the correct vma, and to find recently forked instances.
+ * Use zalloc to avoid weirdness if any other fields are involved.
+ */
+ vma = kmem_cache_zalloc(vm_area_cachep, GFP_ATOMIC);
+ if (!vma) {
+ spin_lock(&ksm_fallback_vma_lock);
+ vma = &ksm_fallback_vma;
+ }
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-11-30 9:15 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-24 16:37 [PATCH 0/9] ksm: swapping Hugh Dickins
2009-11-24 16:40 ` [PATCH 1/9] ksm: fix mlockfreed to munlocked Hugh Dickins
2009-11-24 23:53 ` Rik van Riel
2009-11-26 16:20 ` Mel Gorman
2009-11-27 12:45 ` Hugh Dickins
2009-11-30 6:01 ` KOSAKI Motohiro
2009-11-30 12:26 ` Hugh Dickins
2009-11-30 21:27 ` Lee Schermerhorn
2009-12-01 11:14 ` Mel Gorman
2009-11-24 16:42 ` [PATCH 2/9] ksm: let shared pages be swappable Hugh Dickins
2009-11-30 0:46 ` KAMEZAWA Hiroyuki
2009-11-30 9:15 ` KOSAKI Motohiro [this message]
2009-11-30 12:38 ` Hugh Dickins
2009-12-01 4:14 ` KOSAKI Motohiro
2009-11-30 11:55 ` Hugh Dickins
2009-11-30 12:07 ` Andrea Arcangeli
2009-12-01 0:39 ` KAMEZAWA Hiroyuki
2009-12-01 6:32 ` Chris Wright
2009-12-01 9:11 ` Andrea Arcangeli
2009-12-01 9:28 ` KOSAKI Motohiro
2009-12-01 9:37 ` Andrea Arcangeli
2009-12-01 9:46 ` KOSAKI Motohiro
2009-12-01 9:59 ` Andrea Arcangeli
2009-12-02 5:08 ` Rik van Riel
2009-12-02 12:55 ` Andrea Arcangeli
2009-12-03 5:15 ` KOSAKI Motohiro
2009-12-04 5:06 ` KOSAKI Motohiro
2009-12-04 5:16 ` KAMEZAWA Hiroyuki
2009-12-04 14:49 ` Andrea Arcangeli
2009-12-04 17:16 ` Chris Wright
2009-12-04 18:53 ` Andrea Arcangeli
2009-12-04 19:03 ` Chris Wright
2009-12-09 0:43 ` KAMEZAWA Hiroyuki
2009-12-09 1:04 ` Chris Wright
2009-12-09 16:12 ` Andrea Arcangeli
2009-12-09 23:54 ` KAMEZAWA Hiroyuki
2009-12-04 14:45 ` Andrea Arcangeli
2009-12-04 16:21 ` Rik van Riel
2009-11-24 16:43 ` [PATCH 3/9] ksm: hold anon_vma in rmap_item Hugh Dickins
2009-11-24 16:45 ` [PATCH 4/9] ksm: take keyhole reference to page Hugh Dickins
2009-11-24 16:48 ` [PATCH 5/9] ksm: share anon page without allocating Hugh Dickins
2009-11-30 0:04 ` KAMEZAWA Hiroyuki
2009-11-30 11:18 ` Hugh Dickins
2009-12-01 0:02 ` KAMEZAWA Hiroyuki
2009-11-24 16:51 ` [PATCH 6/9] ksm: mem cgroup charge swapin copy Hugh Dickins
2009-11-25 14:23 ` Balbir Singh
2009-11-25 17:12 ` Hugh Dickins
2009-11-25 17:36 ` Balbir Singh
2009-11-30 0:13 ` KAMEZAWA Hiroyuki
2009-11-30 11:40 ` Hugh Dickins
2009-11-24 16:54 ` [PATCH 7/9] ksm: rmap_walk to remove_migation_ptes Hugh Dickins
2009-11-24 16:56 ` [PATCH 8/9] ksm: memory hotremove migration only Hugh Dickins
2009-11-24 16:57 ` [PATCH 9/9] ksm: remove unswappable max_kernel_pages Hugh Dickins
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=20091130180452.5BF6.A69D9226@jp.fujitsu.com \
--to=kosaki.motohiro@jp.fujitsu.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=chrisw@redhat.com \
--cc=hugh.dickins@tiscali.co.uk \
--cc=ieidus@redhat.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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