On Wed, Jan 19, 2022, David Woodhouse wrote: > On Wed, 2022-01-19 at 18:36 +0100, Paolo Bonzini wrote: > > On 1/19/22 09:14, David Woodhouse wrote: > > > > Or do we have explicit other requirement that needs to dirty guest pages > > > > without vcpu context at all? > > > > > > Delivering interrupts may want to do so. That's the one we hit for > > > S390, and I only avoided it for Xen event channel delivery on x86 by > > > declaring that the Xen shared info page is exempt from dirty tracking > > > and should*always* be considered dirty. > > > > We also have one that I just found out about in > > kvm_hv_invalidate_tsc_page, called from KVM_SET_CLOCK. :/ I think we can fix that usage though: https://lore.kernel.org/all/YcTpJ369cRBN4W93@xxxxxxxxxx > > So either we have another special case to document for the dirty ring > > buffer (and retroactively so, even), or we're in bad need for a solution. > > Seems like adding that warning is having precisely the desired effect :) The WARN is certainly useful. Part of me actually likes the restriction of needing to have a valid vCPU, at least for x86, as there really aren't many legitimate cases where KVM should be marking memory dirty without a vCPU.