Re: Definition of x86 _PAGE_SPECIAL and sharing _PAGE_UNUSED1

From: Nick Piggin
Date: Wed Aug 27 2008 - 20:32:49 EST


On Thursday 28 August 2008 05:02, Jeremy Fitzhardinge wrote:
> _PAGE_SPECIAL is overloading _PAGE_UNUSED1. Does it really leave
> _PAGE_UNUSED1 available for other uses, or does it become an exclusive
> user of that flag. Under what circumstances can they be shared?
>
> arch/x86/mm/pageattr-test.c is now using _PAGE_UNUSED1 as the flag used
> to make sure that huge pages are shattered properly (previously it used
> _PAGE_GLOBAL). Is that going to clash with _PAGE_SPECIAL?

Ah... pity it was hidden away there and not put into the include file.


> In other words, should we drop _PAGE_UNUSED1 altogether, or at least
> define how the its different users can coexist?

I don't feel strongly about it. But you should put your definition in
pgtable.h (and possibly explain how it coexists with _SPECIAL).


> Am I right in supposing that _PAGE_SPECIAL can only be set on user pages?

Yes.


> (Also, "SPECIAL" is awfully generic. Was there really no more
> descriptive name for this?)

I thought it was about on par with its counterpart, which is "normal".
Either way, I don't think a casual reader would get an adequate idea
of how it works in one word. normal ~= refcounted, special ~= !refcounted
I guess, but it is slightly more than that and besides, normal was there
first, and I think Linus coined it... if you can convince him to change
it then you have my blessing to change special into whatever you want.
--
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/