Re: [PATCH 12/14] KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML

Paolo Bonzini
2021-02-18T18:29:57Z

On 13/02/21 01:50, Sean Christopherson wrote:
> This means that spurious PML entries will be created for memslots with
> dirty logging disabled if at least one other memslot has dirty logging
> enabled, but for all known use cases, dirty logging is a global VMM
> control.

This is not true. For example QEMU uses dirty logging to track changes
to the framebuffer.

However, what you're saying below is true: after a MR_CREATE there will
be no shadow pages, and when they are created with mmu_set_spte they
will not have the dirty bits set. So there's really no change here for
the case of only some memslots having dirty logging enabled. Queued 12
and 13 as well then!

Paolo

> Furthermore, spurious PML entries are already possible since
> dirty bits are set only when a dirty logging is turned off, i.e.
> memslots that are never dirty logged will have dirty bits cleared.