Re: [PATCH 5/4] update ksm userspace interfaces

Andrea Arcangeli
2009-04-02T14:41:50Z

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...