[PATCH][RFC] preempt_count corruption across H_CEDE call with CONFIG_PREEMPT on pseries
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Jul 23 15:09:27 EST 2010
On Thu, 2010-07-22 at 21:44 -0700, Darren Hart wrote:
> suggestion I updated the instrumentation to display the
> local_save_flags and irqs_disabled_flags:
> Jul 22 23:36:58 igoort1 kernel: local flags: 0, irqs disabled: 1
> Jul 22 23:36:58 igoort1 kernel: before H_CEDE current->stack: c00000010e9e3ce0, pcnt: 1
> Jul 22 23:36:58 igoort1 kernel: after H_CEDE current->stack: c00000010e9e3ce0, pcnt: 1
>
> I'm not sure if I'm reading that right, but I believe interrupts are
> intended to be disabled here. If accomplished via the
> spin_lock_irqsave() this would behave differently on RT. However, this
> path disables the interrupts handled by xics, all but the IPIs anyway.
> On RT I disabled the decrementer as well.
>
> Is it possible for RT to be receiving other interrupts here?
Also you may want to call hard_irq_disable() to -really- disable
interrupts ... since we do lazy-disable on powerpc
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list