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

From: Kalra, Ashish
Date: Tue Dec 27 2022 - 16:49:58 EST


Hello Boris,

On 12/19/2022 2:08 PM, 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?


Milan onward, there is H/W support for coherency between mappings of the same physical page with different encryption keys, so AFAIK, there should be no need to flush during page state transitions, where we invoke these direct map interface functions for re-mapping/invalidating pages.

I don't know if there is any other reason to flush after modifying
the direct map ?

Thanks,
Ashish