Hi Janne, On 2020-06-04 12:21, Janne Karhunen wrote:
Hi, I have an issue on one particular hardware with gicv3 and the old stable (4.9.22x) kernel where the timer interrupt randomly leaks to the host after the guest exit and the kvm_arch_timer_handler gets triggered. The guest does run, but the whine (unexpected interrupt) is annoying and it seems to be hindering the performance drastically - of both the host and the guest. This behavior can even lead to the host watchdog biting as the firing timer prevents the progress, especially during the very early boot when the guest is doing heavy paging anyway.
The only system I witnessed this was a Cavium TX1. It seems incredibly bad at retiring an interrupt that has been masked at the source. Which hardware is that?
Based on the comment in the latest code the fundamental issue is that the interrupt controller does not recognize the timer disable fast enough on guest exit. Has anyone worked on a proper fix for the issue for the old stable series? 5+ kernels seem to have quite a drastic rework on this front. Plain 'isb' did not seem to do the trick after the timer disable...
ISB really has no bearing on how an interrupt gets retired from the redistributor. The flow we use on mainline these days makes it less susceptible to this kind of brokenness, but it is still possible to hit it. In general, 4.9 is getting pretty old, and only gets things like security fixes. Quality of emulation issues are definitely not getting backported. Thanks, M. -- Jazz is not dead. It just smells funny... _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm