On Mon, Dec 19, 2022 at 09:00:26AM -0600, Michael Roth wrote:
We implemented this approach for v7, but it causes a fairly significant
performance regression, particularly for the case for npages > 1 which
this change was meant to optimize.
I still need to dig in a big but I'm guessing it's related to flushing
behavior.
Well, AFAICT, change_page_attr_set_clr() flushes once at the end.
Don't you need to flush when you modify the direct map?
It would however be nice to have a set_direct_map_default_noflush()
variant that accepted a 'npages' argument, since it would be more
performant here and also would potentially allow for restoring the 2M
direct mapping in some cases. Will look into this more for v8.
set_pages_direct_map_default_noflush()
I guess.
Although the name is a mouthful so I wouldn't mind having those
shortened.
In any case, as long as that helper is properly defined and documented,
I don't mind.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette