Re: [PATCH v3] locking/qrwlock: Let qrwlock has same layout regardless of the endian

From: Boqun Feng
Date: Thu Jul 14 2016 - 20:37:51 EST


On Thu, Jul 14, 2016 at 11:46:26AM +0200, Peter Zijlstra wrote:
> On Thu, Jul 14, 2016 at 11:37:33AM +0200, Peter Zijlstra wrote:
> > static inline u8 *__qspinlock_lock_byte(struct qspinlock *lock)
> > {
> > return (u8 *)lock + 3 * IS_BUILTIN(__BIG_ENDIAN);
> > }
>
> Bugger, that doesn't actually work. IS_BUILTIN expects the symbol to be
> defined to "1" and __BIG_ENDIAN is not (its "4321").
>
>

Using IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN) instead? Seems ARM and PPC both
define this properly if the target kernel is a big endian one.

Regards,
Boqun

Attachment: signature.asc
Description: PGP signature