Re: [PATCH v5 00/12] AMD broadcast TLB invalidation

From: Dave Hansen
Date: Tue Jan 21 2025 - 12:14:40 EST


On 1/16/25 10:14, Michael Kelley wrote:
> So CoCo VMs may still use the paravirtualization that makes
> hypercalls to do TLB flushes. It's future work to *always* use
> INVLPGB (if available) in a CoCo VM.

How would this actually work, though?

One of the reasons that we have the whole TLB_NR_DYN_ASIDS mechanism is
that picking a PCID to shove in CR3 is an entirely CPU local operation.
The PCID is in a CPU-local namespace and nobody else cares what it is.

Rik obviously now has a system-wide set of IDs which are globally
visible and globally valid. But his mechanism is also a bit choosy so
that the global resource management doesn't get to be a choke point.

But if we move to INVLPGB-only, we're all of a sudden *forced* to do
some kind of wide global resource management, even for single-threaded
processes. Rik doesn't have a scheme for that in the current set.

So I think this would be a whole separate conversation from this series.