On Tue, 2024-08-20 at 14:44 -0700, Sean Christopherson wrote: > > Please split this into 3 patches: > > 1. Add range-based GPC retry > 2. Add the wait mechanism. > 3. Add the needs_invalidation logic. > > #1 and #2 make sense to me, but I'm struggling to understanding why #3 is needed. > KVM absolutely must not touch the memory after .invalidate_range_start(), so I > don't see what is gained by deferring invalidation to invalidate_range_end(). Hm, I can't see how to do that without the ->needs_invalidation part, so I've put that on its own as the first patch. But I *can* put the patch which moves the invalidation to the 'end' hook last. I very much dislike what is now patch 2 of the series. It's much more complex than it needs to be, and I think the fourth patch is a worthwhile cleanup. David Woodhouse (4): KVM: pfncache: Add needs_invalidation flag to gfn_to_pfn_cache KVM: pfncache: Implement range-based invalidation check for hva_to_pfn_retry() KVM: pfncache: Wait for pending invalidations instead of spinning KVM: pfncache: Move invalidation to invalidate_range_end hook Sean Christopherson (1): DO NOT MERGE: Hack-a-test to verify gpc invalidation+refresh
Attachment:
smime.p7s
Description: S/MIME cryptographic signature