Re: [PATCH 2/3] KVM: x86: guest debug: don't inject interrupts while single stepping

From: Jan Kiszka
Date: Wed Mar 17 2021 - 05:26:52 EST


On 16.03.21 18:26, Sean Christopherson wrote:
> On Tue, Mar 16, 2021, Jan Kiszka wrote:
>> On 16.03.21 17:50, Sean Christopherson wrote:
>>> Rather than block all events in KVM, what about having QEMU "pause" the timer?
>>> E.g. save MSR_TSC_DEADLINE and APIC_TMICT (or inspect the guest to find out
>>> which flavor it's using), clear them to zero, then restore both when
>>> single-stepping is disabled. I think that will work?
>>>
>>
>> No one can stop the clock, and timers are only one source of interrupts.
>> Plus they do not all come from QEMU, some also from KVM or in-kernel
>> sources directly.
>
> But are any other sources of interrupts a chronic problem? I 100% agree that

If you are debugging a problem, you are not interested in seening
problems of the debugger, only real ones of your target. IOW: Yes, they
are, even if less likely - for idle VMs.

> this would not be a robust solution, but neither is blocking events in KVM. At
> least with this approach, the blast radius is somewhat contained.
>
>> Would quickly become a mess.
>
> Maybe, but it'd be Qemu's mess ;-)
>

Nope, it would spread to KVM as well, as indicated above.

Jan

--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux