[lkml]   [2008]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 5/6] mmu_notifier: Support for drivers with revers maps (f.e. for XPmem)
    On Wed, 20 Feb 2008, Nick Piggin wrote:

    > I don't know how this is supposed to solve anything. The sleeping
    > problem happens I guess mostly in truncate. And all you are doing
    > is putting these rmap callbacks in page_mkclean and try_to_unmap.

    truncate is handled by the range invalidates. This is special code to deal
    with the unnap/clean of an individual page.

    > That doesn't seem right. To start with, the new callbacks aren't
    > even called in the places where invalidate_page isn't allowed to
    > sleep.
    > The problem is unmap_mapping_range, right? And unmap_mapping_range
    > must walk the rmaps with the mmap lock held, which is why it can't
    > sleep. And it can't hold any mmap_sem so it cannot prevent address

    Nope. unmap_mapping_range is already handled by the range callbacks.

    > So in the meantime, you could have eg. a fault come in and set up a
    > new page for one of the processes, and that page might even get
    > exported via the same external driver. And now you have a totally
    > inconsistent view.

    The situation that you are imagining has already been dealt with by the
    earlier patches. This is only to allow sleeping while unmapping individual

     \ /
      Last update: 2008-02-27 23:47    [W:0.019 / U:1.856 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site