That sounds reasonable provided there is a way to identify the main
page struct corresponding to an area that's part of a higher
order page.
> It might make sense to add a PG_large flag and
> then in the immediately following struct page add a pointer to the next
> page, so you can identify these pages by inspection. Doing something
> similar to the PG_skip flag.
Maybe different solutions could emerge for this in 2.4 and 2.5.
Even a PG_partial flag for the partial pages will enable us to
traverse back to the main page, and vice-versa to determine the
partial pages covered by the main page, without any additional
pointers. Is that an acceptable option for 2.4 ? (That's one
more page flag ...)
It would be good to have a way to determine the order directly
from the page struct, without such traversals, at least in 2.5.
>
> Beyond that I get nervous, that people will treat it as endorsement of
> doing a high order continuous allocation and then fragmenting the page.
I don't think it would amount to such an endorsement. It's just a matter
of replicating the settings from the main page to the partial pages -
which might be considered an alternate protocol, though a little
inefficient for really high orders. However, having the partial page
counts zeroed out probably helps as a safeguard in some situations in
view of the page count sanity checks. Or are there any scenarios where
you forsee a problem/breakage ?
Regards
Suparna
>
> Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/