Re: [PATCH Part2 v6 07/49] x86/sev: Invalid pages from direct map when adding it to RMP table

From: Mike Rapoport
Date: Fri Dec 30 2022 - 10:20:23 EST


On Mon, Dec 19, 2022 at 09:08:31PM +0100, Borislav Petkov wrote:
> 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.

I had a patch that just adds numpages parameter:

https://lore.kernel.org/lkml/20201123095432.5860-4-rppt@xxxxxxxxxx/

The set_direct_map*() are not too widely used, so it's not a big deal to
update all callers.

> 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
>

--
Sincerely yours,
Mike.