qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Commit "x86/kvm: Move context tracking where it belongs" broke guest


From: Thomas Gleixner
Subject: Re: Commit "x86/kvm: Move context tracking where it belongs" broke guest time accounting
Date: Thu, 08 Apr 2021 15:18:23 +0200

On Tue, Apr 06 2021 at 21:47, Sean Christopherson wrote:
> On Tue, Apr 06, 2021, Michael Tokarev wrote:
>> broke kvm guest cpu time accounting - after this commit, when running
>> qemu-system-x86_64 -enable-kvm, the guest time (in /proc/stat and
>> elsewhere) is always 0.
>> 
>> I dunno why it happened, but it happened, and all kernels after 5.9
>> are affected by this.
>> 
>> This commit is found in a (painful) git bisect between kernel 5.8 and 5.10.
>
> Yes :-(
>
> There's a bugzilla[1] and two proposed fixes[2][3].  I don't particularly like
> either of the fixes, but an elegant solution hasn't presented itself.
>
> Thomas/Paolo, can you please weigh in?
>
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=209831
> [2] 
> https://lkml.kernel.org/r/1617011036-11734-1-git-send-email-wanpengli@tencent.com
> [3] https://lkml.kernel.org/r/20210206004218.312023-1-seanjc@google.com

All of the solutions I looked at so far are ugly as hell. The problem is
that the accounting is plumbed into the context tracking and moving
context tracking around to a different place is just wrong.

I think the right solution is to seperate the time accounting logic out
from guest_enter/exit_irqoff() and have virt time specific helpers which
can be placed at the proper spots in kvm.

Thanks,

        tglx



reply via email to

[Prev in Thread] Current Thread [Next in Thread]