lkml.org 
[lkml]   [2008]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 01/21] move isolate_lru_page() to vmscan.c
    Hi Rik

    > @@ -870,14 +840,17 @@ static int do_move_pages(struct mm_struc
    > !migrate_all)
    > goto put_and_set;
    >
    > - err = isolate_lru_page(page, &pagelist);
    > + err = isolate_lru_page(page);
    > + if (err) {
    > put_and_set:
    > - /*
    > - * Either remove the duplicate refcount from
    > - * isolate_lru_page() or drop the page ref if it was
    > - * not isolated.
    > - */
    > - put_page(page);
    > + /*
    > + * Either remove the duplicate refcount from
    > + * isolate_lru_page() or drop the page ref if it was
    > + * not isolated.
    > + */
    > + put_page(page);
    > + } else
    > + list_add_tail(&page->lru, &pagelist);

    We think this portion change to following code.

    ---------------------------------------------
    err = isolate_lru_page(page);
    if (!err)
    list_add_tail(&page->lru, &pagelist);
    put_and_set:
    put_page(page); /* drop follow_page() reference */
    ---------------------------------------------

    because nobody hope change page_count.


    original do_move_pages:
    follow_page: page_count +1
    isolate_lru_page: page_count +1
    put_page: page_count -1
    ----------------------------------
    total +1
    this patch:
    follow_page: page_count +1
    isolate_lru_page: page_count +1
    ----------------------------------
    total +2


    - kosaki



    \
     
     \ /
      Last update: 2008-02-29 03:33    [W:0.050 / U:0.400 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site