[PATCH][RFC] preempt_count corruption across H_CEDE call with CONFIG_PREEMPT on pseries
Darren Hart
dvhltc at us.ibm.com
Thu Aug 5 14:45:51 EST 2010
On 07/23/2010 12:07 AM, Vaidyanathan Srinivasan wrote:
> * Benjamin Herrenschmidt<benh at kernel.crashing.org> [2010-07-23 15:11:00]:
>
>> On Fri, 2010-07-23 at 10:38 +0530, Vaidyanathan Srinivasan wrote:
>>> Yes. extended_cede_processor() will return with interrupts enabled in
>>> the cpu. (This is done by the hypervisor). Under normal cases we
>>> cannot be interrupted because no IO interrupts are routed to us after
>>> xics_teardown_cpu() and since the CPU is out of the map, nobody will
>>> send us IPIs.
>>
>> What about decrementer ?
>
> Decrementer expiry event handling is bit complex. The event as such
> may not bring back the extended_cede_processor() cpu, but may be
> marked pending when we get out of this state eventually. I will find
> more information on this event and update.
Hi Vaidy, have you been able to dig anything up about the decrementer
expiry?
Thanks,
--
Darren Hart
IBM Linux Technology Center
Real-Time Linux Team
>
>>> Though H_CEDE will return with interrupts enabled, it is unlikely that
>>> an interrupt can be delivered in this context.
>>
>> Well, if interrupts are soft-disabled, even if one occurs, we will just
>> mask and return, so that at least should be ok.
>
> Yes. We will immediately return to the extended_cede_processor() in
> the while loop until the preferred_offline_state is changed.
>
> --Vaidy
More information about the Linuxppc-dev
mailing list