On 18/08/21 11:32, Vitaly Kuznetsov wrote:
On the host side, I'd vote for keeping MSR_KVM_ASYNC_PF_INT for async PF mechanism only for two reasons: - We may want to use (currently reserved) upper 56 bits of it for new asyncPF related features (e.g. flags) and it would be unnatural to add them to 'MSR_KVM_HYPERVISOR_CALLBACK_INT' - We should probably leave it to the guest if it wants to share 'suspend time' notification interrupt with async PF (and if it actually wants to get one/another).
I agree that it's fine either way. That said, more MSRs are more complexity and more opportunity for getting things wrong (in either KVM or userspace---for example, migration). There are still 14 free bits in MSR_ASYNC_PF_EN (bits 63-52 and 5-4, so it should not be a problem to repurpose MSR_ASYNC_PF_INT.
Paolo
On the guest side, it is perfectly fine to reuse HYPERVISOR_CALLBACK_VECTOR for everything.