Re: [RFC][PATCH 0/7] locking/rwsem: Convert rwsem count to atomic_long_t

From: Ingo Molnar
Date: Fri Jun 03 2016 - 04:05:02 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Mon, May 16, 2016 at 06:12:25PM -0700, Linus Torvalds wrote:
> > On Mon, May 16, 2016 at 5:37 PM, Jason Low <jason.low2@xxxxxxx> wrote:
> > >
> > > This rest of the series converts the rwsem count variable to an atomic_long_t
> > > since it is used it as an atomic variable. This allows us to also remove
> > > the rwsem_atomic_{add,update} abstraction and reduce 100+ lines of code.
> >
> > I would suggest you merge all the "remove rwsem_atomic_{add,update}"
> > patches into a single patch.
> >
> > I don't see the advantage to splitting those up by architecture, and
> > it does add noise to the series.
> >
> > Other than that it all looks fine to me.
>
> OK, done.
>
> ---
> Subject: locking,rwsem: Remove rwsem_atomic_add() and rwsem_atomic_update()
> From: Jason Low <jason.low2@xxxxxxx>
> Date: Mon, 16 May 2016 17:38:02 -0700

So I tried to pick up this series, and it broke the Alpha and IA64 builds:

/home/mingo/tip/arch/ia64/include/asm/rwsem.h: In function '___down_write':
/home/mingo/tip/arch/ia64/include/asm/rwsem.h:58:7: error: incompatible types when
assigning to type 'long int' from type 'atomic_long_t'
old = sem->count;
^

home/mingo/tip/arch/alpha/include/asm/rwsem.h: In function '__down_read':
/home/mingo/tip/arch/alpha/include/asm/rwsem.h:28:11: error: incompatible types
when assigning to type 'long int' from type 'atomic_long_t'
oldcount = sem->count;
^

etc.

btw., for some reason I don't have the mails from Jason in my mbox, perhaps GMail
spam filtering ate it?

Thanks,

Ingo