Re: [PATCH] sparc32: destroy_context() and switch_mm() needs to disable interrupts.

From: David Miller
Date: Thu Dec 18 2014 - 12:48:18 EST


From: Andreas Larsson <andreas@xxxxxxxxxxx>
Date: Thu, 18 Dec 2014 13:23:23 +0100

> Load balancing can be triggered in the critical sections protected by
> srmmu_context_spinlock in destroy_context() and switch_mm() and can hang
> the cpu waiting for the rq lock of another cpu that in turn has called
> switch_mm hangning on srmmu_context_spinlock leading to deadlock.
>
> So, disable interrupt while taking srmmu_context_spinlock in
> destroy_context() and switch_mm() so we don't deadlock.
>
> See also commit 77b838fa1ef0 ("[SPARC64]: destroy_context() needs to disable
> interrupts.")
>
> Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx>

Looks good, applied, thanks Andreas.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/