On Mon, Aug 01, 2022 at 11:57:09PM +0000, Kalra, Ashish wrote: > You mean set_memory_present() ? Right, that. We have set_memory_np() but set_memory_present(). Talk about consistence... ;-\ > But again, calling set_direct_map_invalid_noflush() is easier to > understand from the calling function's point of view as it correlates > to the functionality of invalidating the page from kernel direct map ? You mean, we prefer easy to understand to performance? set_direct_map_invalid_noflush() means crap to me. I have to go look it up - set memory P or NP is much clearer. The patch which added those things you consider easier to understand is: commit d253ca0c3865a8d9a8c01143cf20425e0be4d0ce Author: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> Date: Thu Apr 25 17:11:34 2019 -0700 x86/mm/cpa: Add set_direct_map_*() functions Add two new functions set_direct_map_default_noflush() and set_direct_map_invalid_noflush() for setting the direct map alias for the page to its default valid permissions and to an invalid state that cannot be cached in a TLB, respectively. These functions do not flush the TLB. I don't see how this fits with your use case... Also, your helpers are called restore_direct_map and invalidate_direct_map. That's already explaining what this is supposed to do. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette