lkml.org 
[lkml]   [2009]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 5/4] update ksm userspace interfaces
    Chris Wright wrote:
    > * Anthony Liguori (anthony@codemonkey.ws) 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?


    \
     
     \ /
      Last update: 2009-04-02 15:41    [W:0.022 / U:119.380 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site