Re: [patch 01/21] move isolate_lru_page() to vmscan.c

From: KOSAKI Motohiro
Date: Thu Feb 28 2008 - 21:30:48 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/