lkml.org 
[lkml]   [2008]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [(RT RFC) PATCH v2 2/9] sysctl for runtime-control of lateral mutex stealing
From
Date

On Mon, 2008-02-25 at 22:53 +0100, Pavel Machek wrote:
> Hi!
>
> > From: Sven-Thorsten Dietrich <sdietrich@suse.de>
> >
> > Add /proc/sys/kernel/lateral_steal, to allow switching on and off
> > equal-priority mutex stealing between threads.
> >
> > Signed-off-by: Sven-Thorsten Dietrich <sdietrich@suse.de>
> > ---
> >
> >
> > #include "rtmutex_common.h"
> >

I'll move it to the header file.

>
> > +#ifdef CONFIG_RTLOCK_LATERAL_STEAL
> > +int rtmutex_lateral_steal __read_mostly = 1;
> > +#endif
> > +
>
> Ugly..
>

>
> > /*
> > * lock->owner state tracking:
> > *
> > @@ -321,7 +325,8 @@ static inline int lock_is_stealable(struct task_struct *pendowner, int unfair)
> > if (current->prio > pendowner->prio)
> > return 0;
> >
> > - if (!unfair && (current->prio == pendowner->prio))
> > + if (unlikely(current->prio == pendowner->prio) &&
> > + !(unfair && rtmutex_lateral_steal))
> > #endif
>
> But this is even worse, you are creating #ifdef maze here. Can you
> simply #define rtmutex_lateral_steal 0 in !CONFIG_RTLOCK_LATERAL_STEAL
> and let the optimizer fix this?
>

Ok - much of this will also disappear into the header then.

>
> > index c913d48..c24c53d 100644
> > --- a/kernel/sysctl.c
> > +++ b/kernel/sysctl.c
> > @@ -175,6 +175,10 @@ extern struct ctl_table inotify_table[];
> > int sysctl_legacy_va_layout;
> > #endif
> >
> > +#ifdef CONFIG_RTLOCK_LATERAL_STEAL
> > +extern int rtmutex_lateral_steal;
> > +#endif
> > +
>
> Try checkpatch.
> Pavel

I have that as part of quilt refresh, and it returns:

Your patch has no obvious style problems and is ready for submission.

But Greg may need to enforce it on his git tree that he mails these from
- are you referring to anything specific in this patch?

Sven



\
 
 \ /
  Last update: 2008-02-26 00:01    [W:0.056 / U:0.704 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site