Messages in this thread | | | Date | Mon, 06 Aug 2012 21:24:22 +0200 | From | Sasha Levin <> | Subject | Re: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks on v3.6 |
| |
On 08/06/2012 07:21 PM, John Stultz wrote: > On 08/05/2012 09:55 AM, Sasha Levin wrote: >> On 07/30/2012 03:17 PM, Avi Kivity wrote: >>> Possible causes: >>> - the APIC calibration in the guest failed, so it is programming too >>> low values into the timer >>> - it actually needs 1 us wakeups and then can't keep up (esp. as kvm >>> interrupt injection is slowing it down) >>> >>> You can try to find out by changing >>> arch/x86/kvm/lapic.c:start_lapic_timer() to impose a minimum wakeup of >>> (say) 20 microseconds which will let the guest live long enough for you >>> to ftrace it and see what kind of timers it is programming. >> I've kept trying to narrow it down, and found out It's triggerable using adjtimex(). >> >> At that point I've bisected it, and got the following commit (parties Cc'ed): >> >> commit 5baefd6d84163443215f4a99f6a20f054ef11236 >> Author: John Stultz <johnstul@us.ibm.com> >> Date: Tue Jul 10 18:43:25 2012 -0400 >> >> hrtimer: Update hrtimer base offsets each hrtimer_interrupt >> >> >> I've also confirmed that reverting the commit above on top of linux-next indeed fixes the issue. > Hey Sasha, > Thanks for the heads up. I don't have a clear sense of what could be wrong here yet, but if you see this with 3.6-rc but not 3.5, could you try the fix(1d17d17484d40f2d5b35c79518597a2b25296996) Ingo just made on tip/timers/urgent?
I've just tested it, and it didn't solve the issue.
| |