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@xxxxxxxxxxx > [3] https://lkml.kernel.org/r/20210206004218.312023-1-seanjc@xxxxxxxxxx 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