* Andrea Arcangeli (aarcange@xxxxxxxxxx) 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 kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html