Messages in this thread | | | Date | Mon, 06 Aug 2012 22:35:15 +0200 | From | Sasha Levin <> | Subject | Re: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks on v3.6 |
| |
On 08/06/2012 10:31 PM, John Stultz wrote: > On 08/06/2012 11:28 AM, Sasha Levin wrote: >> On 08/06/2012 08:20 PM, John Stultz wrote: >>> On 08/06/2012 10:21 AM, 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(). >>> Sorry, one more question: Could you provide details on how is it trigger-able using adjtimex? >> It triggers after a while of fuzzing using trinity of just adjtimex ('./trinity --quiet -l off -cadjtimex'). >> >> Trinity is available here: http://git.codemonkey.org.uk/?p=trinity.git . >> >> Let me know if I can help further with reproducing this, I can probably copy over my testing environment to some other host if you'd like. > So far no luck. Dmesg mostly just gets filled up with trinity-child OOMs. How much memory are you running with? > > Are you running trinity as root or as some user that has CAP_SYS_TIME and can actually change values via adjtimex? Or does it trip just by reading the values?
As root in a disposable vm. It triggers at a random point, not after a specific call.
| |