Re: page refcounts?

From: Christoph Lameter
Date: Tue Jan 03 2006 - 16:22:57 EST


On Thu, 29 Dec 2005, Avishay Traeger wrote:

> How does the kernel determine when a page is unused? I see that
> __get_free_pages() returns pages that have no refcount and no flags
> indicating that they should not be reclaimed.
>
> The first page that is returned looks like:
> flags:0x80000000 mapping:00000000 mapcount:0 count:1
>
> And the subsequent pages look like:
> flags:0x80000000 mapping:00000000 mapcount:0 count:0
>
> I am printing this out exactly the way bad_page() does. How does the
> kernel know not to mess around with pages that have no refcount or any
> flags to indicate that they are in use? I've already searched google
> and checked a couple books, and couldn't find an answer.

The kernel knows that a page is free if count == 0 in the first page.
All pages of a higher order allocation are managed through the status of
the first page.
-
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/