On Thu, 8 Apr 2021 at 21:19, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > > 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. Good suggestion, I will have a try. :) Wanpeng