Re: [PATCH REBASED 3/6] s390: Add __down_read_killable()

From: Martin Schwidefsky
Date: Sat Sep 30 2017 - 06:40:05 EST


On Sat, 30 Sep 2017 12:36:12 +0200
Martin Schwidefsky <schwidefsky@xxxxxxxxxx> wrote:

> On Sat, 30 Sep 2017 11:20:02 +0200
> Heiko Carstens <heiko.carstens@xxxxxxxxxx> wrote:
>
> > On Fri, Sep 29, 2017 at 07:06:18PM +0300, Kirill Tkhai wrote:
> > > Similar to __down_write_killable(), and read killable primitive.
> > >
> > > Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
> > > ---
> > > arch/s390/include/asm/rwsem.h | 18 ++++++++++++++++--
> > > 1 file changed, 16 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/arch/s390/include/asm/rwsem.h b/arch/s390/include/asm/rwsem.h
> >
> > FWIW, while looking into this patch I realized that we never optimized our
> > rwsem primitives to make use of new atomic instructions.
> >
> > The generic rwsem header file however does, since it uses atomic ops which
> > we did optimize. Even when compiling for old machines the generic version
> > generates better code. Therefore I will remove the 15 years old s390
> > implementation and switch to the generic version instead.
>
> Take care not to conflict with the queued spinlock/rwlock patches on the
> features branch.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git/commit/?h=features&id=eb3b7b848fb3dd00f7a57d633d4ae4d194aa7865
>
> Me thinks that what you have in mind is already done.

Argh, pitfall rwlock != rwsem. Using the atomic_ops for the rwsem code makes
a lot of sense. Yes, please..

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.