[v1][PATCH 1/1] KVM: PPC: disable preemption when using hard_irq_disable()
tiejun.chen
tiejun.chen at windriver.com
Thu Jul 11 13:00:33 EST 2013
On 07/11/2013 03:15 AM, Scott Wood wrote:
> On 07/10/2013 01:02:19 AM, Tiejun Chen wrote:
>> We should ensure the preemption cannot occur while calling get_paca()
>> insdide hard_irq_disable(), otherwise the paca_struct may be the
>> wrong one just after. And btw, we may update timing stats in this case.
>
> The soft-ee mechanism depends on accessing the PACA directly via r13 to avoid
> this. We probably should be using inline asm to read was_enabled rather than
Yes.
> hoping the compiler doesn't do anything silly.
Do you recommend I should directly replace get_paca() with local_paca inside
hard_irq_disable()?
#define hard_irq_disable() do { \
u8 _was_enabled = get_paca()->soft_enabled; \
-> u8 _was_enabled = local_paca->soft_enabled;
But is this safe for all scenarios?
Tiejun
More information about the Linuxppc-dev
mailing list