Re: [PATCH v3 2/4] KVM: arm64: Add helper vgic_write_guest_lock()

From: Gavin Shan
Date: Fri Jan 27 2023 - 18:36:58 EST


Hi Zenghui,

On 1/28/23 2:57 AM, Zenghui Yu wrote:
[ just coming back from holiday, sorry for the late reply ]


Hope you have a nice refresh. Thanks for your review.

On 2023/1/27 07:54, Gavin Shan wrote:
Currently, the unknown no-running-vcpu sites are reported when a
dirty page is tracked by mark_page_dirty_in_slot(). Until now, the
only known no-running-vcpu site is saving vgic/its tables through
KVM_DEV_ARM_{VGIC_GRP_CTRL, ITS_SAVE_TABLES} command on KVM device
"kvm-arm-vgic-its". Unfortunately, there are more unknown sites to
be handled and no-running-vcpu context will be allowed in these
sites: (1) KVM_DEV_ARM_{VGIC_GRP_CTRL, ITS_RESTORE_TABLES} command
on KVM device "kvm-arm-vgic-its" to restore vgic/its tables. The
vgic3 LPI pending status could be restored. (2) Save vgic3 pending

We typically write it as "VGICv3".


Ok. I will fix by replacing 'vgic3' with 'VGICv3' in v4. However, the
term 'vgic/its' will be kept.

table through KVM_DEV_ARM_{VGIC_GRP_CTRL, VGIC_SAVE_PENDING_TABLES}
command on KVM device "kvm-arm-vgic-v3".

In order to handle those unknown cases, we need a unified helper
vgic_write_guest_lock(). struct vgic_dist::save_its_tables_in_progress
is also renamed to struct vgic_dist::save_tables_in_progress.

How about renaming it to 'write_tables_in_progress' which would look a
bit more generic? The rest looks good to me.


'write_tables_in_progress' works for me. I will have it in v4, which
will be posted shortly.

Thanks,
Gavin