Re: [PATCH] arm64/cpufeature: don't use mutex in bringup path

2017-05-11 Thread Marc Zyngier
On 11/05/17 14:12, Mark Rutland wrote: > Currently, cpus_set_cap() calls static_branch_enable_cpuslocked(), which > must take the jump_label mutex. > > We call cpus_set_cap() in the secondary bringup path, from the idle > thread where interrupts are disabled. Taking a mutex in this path "is a > NO

Re: [PATCH] arm64/cpufeature: don't use mutex in bringup path

2017-05-11 Thread Mark Rutland
On Thu, May 11, 2017 at 03:17:06PM +0200, Sebastian Andrzej Siewior wrote: > On 2017-05-11 14:12:11 [+0100], Mark Rutland wrote: > > diff --git a/arch/arm64/include/asm/cpufeature.h > > b/arch/arm64/include/asm/cpufeature.h > > index 8a7ff73..5370626 100644 > > --- a/arch/arm64/include/asm/cpufeat

Re: [PATCH] arm64/cpufeature: don't use mutex in bringup path

2017-05-11 Thread Sebastian Andrzej Siewior
On 2017-05-11 14:12:11 [+0100], Mark Rutland wrote: > diff --git a/arch/arm64/include/asm/cpufeature.h > b/arch/arm64/include/asm/cpufeature.h > index 8a7ff73..5370626 100644 > --- a/arch/arm64/include/asm/cpufeature.h > +++ b/arch/arm64/include/asm/cpufeature.h > @@ -223,7 +222,7 @@ void update_c

[PATCH] arm64/cpufeature: don't use mutex in bringup path

2017-05-11 Thread Mark Rutland
Currently, cpus_set_cap() calls static_branch_enable_cpuslocked(), which must take the jump_label mutex. We call cpus_set_cap() in the secondary bringup path, from the idle thread where interrupts are disabled. Taking a mutex in this path "is a NONO" regardless of whether it's contended, and somet