Re: [PATCH v1 11/15] arm/futex: UP futex_atomic_op_inuser() relies on disabled preemption

From: David Hildenbrand
Date: Wed May 13 2015 - 03:38:35 EST


> * David Hildenbrand | 2015-05-11 17:52:16 [+0200]:
>
> >The !CONFIG_SMP implementation of futex_atomic_op_inuser() seems to rely
> >on disabled preemption to guarantee mutual exclusion.
>
> Yes, this is what the code looks like. It is more the requirement for
> ldrex/strex opcodes which are ARMv6+ and so is SMP support (here).
> Documentation wise you could replace CONFIG_SMP by
> __LINUX_ARM_ARCH__ >= 6
> in a later patch if you like. This would be more in-sync with
> arch/arm/include/asm/cmpxchg.h :)
>
> Sebastian

Thanks, I'll include it in the next version.

So I assume the cleanest thing to do would be:

#if __LINUX_ARM_ARCH__ < 6
preempt_disable();
#endif


David

--
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/