Messages in this thread | | | Date | Tue, 01 Apr 2008 23:29:44 +0200 | From | Thomas Hellström <> | Subject | Re: [PATCH] x86: create array based interface to change page attribute |
| |
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?
Or are you saying that it's very hard to keep track of all mappings to a page, and change only the ones you really want to change?
If you mean the latter, for the DRM case, the DRM memory manager has already made sure all user-space mappings of a page are killed before calling CPA on it, (using unmap_mapping_range()) and they are faulted back once CPA is done.
I was under the impression that calling CPA on the kernel mapping of that page would do the rest?
/Thomas
-- 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/
| |