mbox series

[v2,0/6] x86: reduce cache flushing overhead

Message ID c030bfde-c5bb-f205-edff-435278a435f4@suse.com (mailing list archive)
Headers show
Series x86: reduce cache flushing overhead | expand

Message

Jan Beulich May 3, 2023, 9:43 a.m. UTC
..., first and foremost by using cache write-back operations instead
of flushing (evicting) ones when available and sufficient for the
purpose.

In the context of making the last patch I started wondering whether
for PV we don't flush (write back) too little for MMUEXT_FLUSH_CACHE:
Just like for HVM, pCPU-s a vCPU has run on before could still hold
data in their caches. (We clearly still flush / write back too much
in MMUEXT_FLUSH_CACHE_GLOBAL even with this series in place.) We also
can't call this the guest's responsibility, as it may not have any
means to have one of its vCPU-s run on the intended pCPU.

v2 is merely changing some names, compared to v1. Other discussion
on feedback sadly looks to have stalled.

1: x86: support cache-writeback in flush_area_local() et al
2: x86/HVM: restrict guest-induced WBINVD to cache writeback
3: x86/PV: restrict guest-induced WBINVD (or alike) to cache writeback
4: VT-d: restrict iommu_flush_all() to cache writeback
5: x86: FLUSH_CACHE -> FLUSH_CACHE_EVICT
6: x86/HVM: limit cache writeback overhead

Jan