lkml.org 
[lkml]   [2016]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: GUP guarantees wrt to userspace mappings
    On Mon, May 02, 2016 at 06:00:13PM +0300, Kirill A. Shutemov wrote:
    > Switching to non-fast GUP would help :-P

    If we had a race in khugepaged or ksmd against gup_fast O_DIRECT we'd
    get flood of bugreports of data corruption with KVM run with
    cache=direct.

    Just wanted to reassure there's no race, explained how the
    serialization to force a fallback to non-fast GUP works in previous
    email.

    This issue we're fixing for the COW is totally unrelated to KVM too,
    because it uses MADV_DONTFORK, but the other races with O_DIRECT
    against khugepaged/kksmd would still happen if we didn't already have
    proper serialization against get_user_pages_fast.

    > Alternatively, we have mmu_notifiers to track changes in userspace
    > mappings.

    This is always the absolute best solution, then no gup pins are used
    at all and all VM functionality is activated regardless of the
    secondary MMU, just most IOMMUs can't generate a synchronous page
    fault, when they fault the I/O is undefined. It'd be like if when you
    get a page fault in the CPU, when you return from the fault you go to
    then next instruction and during the fault you've no way to even
    emulate the faulting instruction.

    \
     
     \ /
      Last update: 2016-05-02 21:21    [W:5.564 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site