[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090402151251.GA10392@x200.localdomain>
Date: Thu, 2 Apr 2009 08:12:51 -0700
From: Chris Wright <chrisw@...hat.com>
To: Andrea Arcangeli <aarcange@...hat.com>
Cc: Chris Wright <chrisw@...hat.com>,
Anthony Liguori <anthony@...emonkey.ws>,
Izik Eidus <ieidus@...hat.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, linux-mm@...ck.org, avi@...hat.com,
riel@...hat.com, jeremy@...p.org, mtosatti@...hat.com,
hugh@...itas.com, corbet@....net, yaniv@...hat.com,
dmonakhov@...nvz.org
Subject: Re: [PATCH 5/4] update ksm userspace interfaces
* Andrea Arcangeli (aarcange@...hat.com) wrote:
> On Wed, Apr 01, 2009 at 10:31:14PM -0700, Chris Wright wrote:
> > - register only ATM, can add MADV_UNSHAREABLE to allow an app to proactively
> > unregister, but need a cleanup when ->mm goes away via exit/exec
>
> The unregister cleanup must happen at the vma level (with unregister
> when vma goes away or is overwritten) for this to provide sane madvise
> semantics (not just in exit/exec, but in unmap/mmap too). Otherwise
> this is all but madvise. Basically we need a chunk of code in core VM
> when KSM=y/m, even if we keep returning -EINVAL when KSM=n (for
> backwards compatibility, -ENOSYS not). Example, vma must be split in
> two if you MAP_SHARABLE only part of it etc...
Yes, of course. I mentioned that (push whole thing into vma).
Current api is really at ->mm level, it's vma agnostic. Simply put:
watch for pages in this ->mm between start and start+len and (more or
less regardless of the vma). To do it purely at the vma level would
mean a vma unmap would cause the watch to go away. So, question is...do
we need something in ->mm as well (like mlockall)?
--
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