[lkml]   [2005]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [Lhms-devel] [PATCH 4/7] Direct Migration V5: migrate_pages() extension
    On Wed, 30 Nov 2005, KAMEZAWA Hiroyuki wrote:

    > I found a problem around the shmem,

    The current page migration functions in mempolicy.c do not migrate shmem
    vmas to be safe. In the future we surely would like to support migration
    of shmem. I'd be glad if you could make sure that this works.

    > Problem is:
    > 1. a page of shmem(tmpfs)'s generic file is in page-cache. assume page is
    > diry.
    > 2. When it passed to migrate_page(), it reaches pageout() in the middle of
    > migrate_page().
    > 3. pageout calls shmem_writepage(), and the page turns to be swap-cache page.
    > At this point, page->mapping becomes NULL (see move_to_swapcache())

    A swapcache page would have page->mapping pointing to swapper space.
    move_to_swap_cache does not set page->mapping == NULL.

    > 7. Because spwapper_space's a_ops->migratepage is not NULL,
    > "Avoid write back hook" in patch 7/7 is used.
    > + if (mapping->a_ops->migratepage) {
    > + rc = mapping->a_ops->migratepage(newpage, page);
    > + goto unlock_both;
    > + }
    > a_ops->migrate_page points to migrate_page() in mm/vmscan.c
    > 8. migrate_page() try to replace radix tree entry in swapper_space.
    > 9. Becasue page->mapping is NULL(becasue of 3),
    > migrate_page_remove_references() fails.

    If page->mapping would be NULL then migrate_page() could not
    have been called. The mapping is used to obtain the address of the
    function to call,
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-11-30 17:44    [W:0.021 / U:21.636 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site