[0/4] Improve dirty ring warning report

Message ID 20230116040405.260935-1-gshan@redhat.com
Headers
Series Improve dirty ring warning report |

Message

Gavin Shan Jan. 16, 2023, 4:04 a.m. UTC
  It has been known case where no running VCPU context exists when the
vgic/its tables are saved. There are other two unknown cases where we
don't have the running VCPU context: (a) saving vgic3 LPI pending status
and (b) saving vgic3 pending tables. Besides, the warning reports in
mark_page_dirty_in_slot() is triggered even the dirty ring hasn't been
enabled by the user space. It's not the unexpected behaviour.

PATCH[1 - 2] Fixes the no-running VCPU context issue when vgic3 LPI
             and vgic3 pending table are saved.
PATCH[3 - 4] Improve the warning reports by enabling them when the
             dirty ring has been enabled by the user space.

Gavin Shan (4):
  KVM: arm64: Allow saving vgic3 LPI pending status in no running vcpu
    context
  KVM: arm64: Allow saving vgic3 pending tables in no running vcpu
    context
  KVM: Refactor mark_page_dirty_in_slot()
  KVM: Improve warning report in mark_page_dirty_in_slot()

 Documentation/virt/kvm/api.rst |  8 ++++++--
 arch/arm64/kvm/vgic/vgic-its.c |  3 ++-
 arch/arm64/kvm/vgic/vgic-v3.c  |  5 +++++
 include/kvm/arm_vgic.h         |  1 +
 include/linux/kvm_dirty_ring.h |  5 +++++
 virt/kvm/kvm_main.c            | 30 ++++++++++++++++++------------
 6 files changed, 37 insertions(+), 15 deletions(-)