Messages in this thread | | | Date | Thu, 19 May 2011 14:45:52 -0700 | From | Yinghai Lu <> | Subject | Re: [GIT PULL rcu/next] rcu commits for 2.6.40 |
| |
On 05/19/2011 02:15 PM, Frederic Weisbecker wrote: > On Thu, May 19, 2011 at 12:51:26PM -0700, Yinghai Lu wrote: >> [ 85.194797] <idle>-0 0d... 85152953us : rcu_irq_enter: 1 49 >> [ 85.194808] <idle>-0 0dN.. 85153081us : <stack trace> >> [ 85.194809] => rcu_irq_exit >> [ 85.194810] => irq_exit >> [ 85.194811] => smp_apic_timer_interrupt >> [ 85.194812] => apic_timer_interrupt >> [ 85.194813] => cpu_idle >> [ 85.194813] => rest_init >> [ 85.194814] => start_kernel >> [ 85.194815] => x86_64_start_reservations > > So it's the dynticks_nesting going crazy. As if we had rcu_irq_enter() > without rcu_irq_exit(). > > I see you have CONFIG_DEBUG_LOCKING_API_SELFTESTS=y > and the locking api selftest is doing a strange thing: if we look > at HARDIRQ_ENTER(), it calls irq_enter(), but HARDIRQ_EXIT() only > calls __irq_exit(). Which means it lacks the rcu_irq_exit(). > > So, if I understood correctly the thing there, some selftests simulating > the hardirq context are unbalancing the rcu state. > > Does that help if you unset CONFIG_DEBUG_LOCKING_API_SELFTESTS ?
yes, after unset that, no warning and delay...
Thanks
| |