Re: [RFC] memory defragmentation to satisfy high order allocations

From: Hiroyuki KAMEZAWA
Date: Mon Oct 04 2004 - 01:54:47 EST



Hi,

Marcelo Tosatti wrote:

+int can_move_page(struct page *page) +{
<snip>
+ if (page_count(page) == 0)
+ return 1;

I think there are 3 cases when page_count(page) == 0.

1. a page is free and in the buddy allocator.
2. a page is free and in per-cpu-pages list.
3. a page is in pagevec .

I think only case 1 pages meet your requirements.

I used PG_private flag for distinguishing case 1 from 2 and 3
in my no-bitmap buddy allocator posted before.
I added PG_private flag to a page which is in buddy allocator's free_list.

Regards

-- Kame
<kamezawa.hiroyu@xxxxxxxxxxxxxx>



-
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/