Re: [PATCH 08/11] ia64, rwsem: provide __down_write_killable
From: Michal Hocko
Date: Fri Apr 08 2016 - 02:23:14 EST
On Thu 07-04-16 20:28:16, Sergei Shtylyov wrote:
> Hello.
>
> On 04/07/2016 06:12 PM, Michal Hocko wrote:
>
> >From: Michal Hocko <mhocko@xxxxxxxx>
> >
> >Introduce ___down_write for the fast path and reuse it for __down_write
> >resp. __down_write_killable each using the respective generic slow path
> >(rwsem_down_write_failed resp. rwsem_down_write_failed_killable).
> >
> >Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
> >---
> > arch/ia64/include/asm/rwsem.h | 22 +++++++++++++++++++---
> > 1 file changed, 19 insertions(+), 3 deletions(-)
> >
> >diff --git a/arch/ia64/include/asm/rwsem.h b/arch/ia64/include/asm/rwsem.h
> >index 3027e7516d85..5e78cb40d9df 100644
> >--- a/arch/ia64/include/asm/rwsem.h
> >+++ b/arch/ia64/include/asm/rwsem.h
> >@@ -49,8 +49,8 @@ __down_read (struct rw_semaphore *sem)
> > /*
> > * lock for writing
> > */
> >-static inline void
> >-__down_write (struct rw_semaphore *sem)
> >+static inline long
> >+___down_write (struct rw_semaphore *sem)
> > {
> > long old, new;
> >
> >@@ -59,10 +59,26 @@ __down_write (struct rw_semaphore *sem)
> > new = old + RWSEM_ACTIVE_WRITE_BIAS;
> > } while (cmpxchg_acq(&sem->count, old, new) != old);
> >
> >- if (old != 0)
> >+ return old;
> >+}
> >+
> >+static inline void
> >+__down_write (struct rw_semaphore *sem)
> >+{
> >+ if (___down_write(sem))
> > rwsem_down_write_failed(sem);
> > }
> >
> >+static inline int
> >+__down_write_killable (struct rw_semaphore *sem)
>
> Looks like you haven't run this patch thru scripts/checkpatch.pl. Hint:
> space before ( isn't allowed.
I have just kept the original code styling because I didn't feel like
changing the whole file.
--
Michal Hocko
SUSE Labs