Re: [PATCH RT] rt: add rwsem_is_contended() definition to rwsem_rt.h
From: Clark Williams
Date: Tue Feb 17 2015 - 14:09:14 EST
On Tue, 17 Feb 2015 11:09:11 +0100
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote:
> * Clark Williams | 2014-08-27 16:09:28 [-0500]:
>
> >Thomas,
> >
> >The latest btrfs code uses rwsem_is_contended() in the function
> >caching_thread(). On RT systems, include/linux/rwsem.h is replaced with
> >include/linux/rwsem_rt.h which does not provide a definition for
> >rwsem_is_contended(). This commit provides a definition that should
> >work on RT (where the lock is actually an rt_mutex).
>
> I see that I added rwsem_is_contended() in v3.14-rt1 which does:
> |static inline int rwsem_is_contended(struct rw_semaphore *sem)
> |{
> | /* rt_mutex_has_waiters() */
> | return !RB_EMPTY_ROOT(&sem->lock.waiters);
> |}
>
> Do you lack this in kernel prior to v3.14?
>
> Sebastian
Yes, that was the problem. I was back-porting to a 3.10 and was missing
the definition. Sorry for the noise.
Clark
Attachment:
pgpXzJRCfGXwB.pgp
Description: OpenPGP digital signature