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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Wright wrote:
* Anthony Liguori (anthony@xxxxxxxxxxxxx) wrote:
Using an interface like madvise() would force the issue to be dealt with properly from the start :-)

Yeah, I'm not at all opposed to it.

This updates to madvise for register and sysfs for control.

madvise issues:
- MADV_SHAREABLE
  - 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
  - will register a region per vma, should probably push the whole thing
    into vma rather than keep [mm,addr,len] tuple in ksm

The main problem that ksm will face when removing the fd interface is:
right now when you register memory into ksm, you open fd, and then ksm do get_task_mm(), we will do mmput when the file will be closed (note that this doesnt mean that if you fork and not close the fd the memory wont go away...., get_task_mm() doesnt protect the vmas inside the mm strcture and therefore they will be able to get removed)

So if we move into madvice and we remove the get_task_mm() usage, we will have to add notification to exit_mm() so ksm will know it should stop using this mm strcture, and drop it from all the trees data...

Is this what we want?
--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux