lkml.org 
[lkml]   [2008]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/4] Add replace_page(), change the mapping of pte from one page into another
    On Tue, 11 Nov 2008, Andrea Arcangeli wrote:

    > btw, page_migration likely is buggy w.r.t. o_direct too (and now
    > unfixable with gup_fast until the 2.4 brlock is added around it or
    > similar) if it does the same thing but without any page_mapcount vs
    > page_count check.

    Details please?

    > page_migration does too much for us, so us calling into migrate.c may
    > not be ideal. It has to convert a fresh page to a VM page. In KSM we
    > don't convert the newpage to be a VM page, we just replace the anon
    > page with another page. The new page in the KSM case is not a page
    > known by the VM, not in the lru etc...

    A VM page as opposed to pages not in the VM? ???

    page migration requires the page to be on the LRU. That could be changed
    if you have a different means of isolating a page from its page tables.

    > The way to go could be to change the page_migration to use
    > replace_page (or __replace_page if called in some shared inner-lock
    > context) after preparing the newpage to be a regular VM page. If we
    > can do that, migrate.c will get the o_direct race fixed too for free.

    Define a regular VM page? A page on the LRU?



    \
     
     \ /
      Last update: 2008-11-11 22:29    [W:3.687 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site