Re: [PATCH] x86: create array based interface to change page attribute

From: Arjan van de Ven
Date: Tue Apr 01 2008 - 18:38:36 EST


Thomas Hellström wrote:
Arjan van de Ven wrote:
Thomas Hellström wrote:
Given this problem, the previously mentioned use-case, and the fact that we mostly really use user-space mappings,
Is there a possibility we could add the following functions to Dave's patch (provided they would work as intended, of course, namely invalidate / bring back the kernel mapping).

sadly there are multiple mappings, both in theory and practice.
Especially the _np / _p functions specifically work on only the mapping you specify.

For this to work we would need to somehow make a "mark all mappings NP, but please only do the kernel ones" kind of thing.
The semantics of that are... lets say messy at best.
Hmm, I'm not sure I follow you here. Are you saying that it's illegal to have an NP mapping of a page (which, If I understand it correctly, means no mapping at all) at the same time as you have a, say user-space WC mapping pointing to the same physical page?

no.
What I'm saying is that even if you make one mapping NP, it's hard to know you got all of them,
even just the kernel one.


I was under the impression that calling CPA on the kernel mapping of that page would do the rest?

this is not a correct assumption in general, especially not for things like
"present".
If a page is mapped 3 times in the kernel, and you set one to "np", the others
WILL stay mapped.

(and CPA itself no longer exists period ;)
--
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/