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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux