lkml.org 
[lkml]   [2008]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] KVM swapping with MMU Notifiers V7
    On Sat, Feb 16, 2008 at 11:48:27AM +0100, Andrea Arcangeli wrote:
    > Those below two patches enable KVM to swap the guest physical memory
    > through Christoph's V7.
    >
    > There's one last _purely_theoretical_ race condition I figured out and
    > that I'm wondering how to best fix. The race condition worst case is
    > that a few guest physical pages could remain pinned by sptes. The race
    > can materialize if the linux pte is zapped after get_user_pages
    > returns but before the page is mapped by the spte and tracked by
    > rmap. The invalidate_ calls can also likely be optimized further but
    > it's not a fast path so it's not urgent.

    I am doing this in xpmem with a stack-based structure in the function
    calling get_user_pages. That structure describes the start and
    end address of the range we are doing the get_user_pages on. If an
    invalidate_range_begin comes in while we are off to the kernel doing
    the get_user_pages, the invalidate_range_begin marks that structure
    indicating an invalidate came in. When the get_user_pages gets the
    structures relocked, it checks that flag (really a generation counter)
    and if it is set, retries the get_user_pages. After 3 retries, it
    returns -EAGAIN and the fault is started over from the remote side.

    Thanks,
    Robin


    \
     
     \ /
      Last update: 2008-02-16 12:55    [W:0.022 / U:0.400 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site