Re: [PATCH 0/4 V13] Avoid soft lockup message when KVM is stopped by host
From: Marcelo Tosatti <hidden>
Date: 2012-03-05 16:42:30
Also in:
kvm, lkml
On Tue, Feb 14, 2012 at 04:17:20PM -0500, Eric B Munson wrote:
On Tue, 14 Feb 2012, Marcelo Tosatti wrote:quoted
On Tue, Feb 14, 2012 at 10:50:13AM -0500, Eric B Munson wrote:quoted
On Tue, 14 Feb 2012, Marcelo Tosatti wrote:quoted
On Tue, Feb 14, 2012 at 10:29:31AM -0500, Eric B Munson wrote:quoted
On Wed, 08 Feb 2012, Eric B Munson wrote:quoted
When a guest kernel is stopped by the host hypervisor it can look like a soft lockup to the guest kernel. This false warning can mask later soft lockup warnings which may be real. This patch series adds a method for a host hypervisor to communicate to a guest kernel that it is being stopped. The final patch in the series has the watchdog check this flag when it goes to issue a soft lockup warning and skip the warning if the guest knows it was stopped. It was attempted to solve this in Qemu, but the side effects of saving and restoring the clock and tsc for each vcpu put the wall clock of the guest behind by the amount of time of the pause. This forces a guest to have ntp running in order to keep the wall clock accurate.Avi, Is this set fit for merging or is there something else you want changed?Eric, On Message-ID: [ref], i asked: How is the stub getting included for other architectures again?Marcelo, Sorry, I put out V13 to answer that. There is a stub in asm-generic that was lost in the V11-V12 rebase. This stub has be included in the V13 set. EricEric, I know the stub has been included in the series. But i am asking how it is #include'ed for other architectures? (can't see that).Marcelo, kernel/watchdog.c now includes linux/kvm_para.h which includes asm/kvm_para.h. The check_and_clear function is defined in arch include/asm/kvm_para.h or in asm-generic/kvm_para.h for any arch lacking the specific header in their asm include dir. If I have misunderstood how these headers work, please let me know and I will fix it.
There is no automatic inclusion of asm-generic/ headers. You must create kvm_para.h in each architecture's include/asm/ directory, #including asm-generic/kvm_para.h.