Re: [patch v2 2/5] rtmutex: Cleanup deadlock detector debug logic

From: Thomas Gleixner
Date: Wed Jun 04 2014 - 09:17:44 EST


On Sat, 31 May 2014, Steven Rostedt wrote:
> On Sat, 31 May 2014 15:57:49 -0000
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
>
> > Index: tip/kernel/locking/rtmutex.c
> > ===================================================================
> > --- tip.orig/kernel/locking/rtmutex.c
> > +++ tip/kernel/locking/rtmutex.c
> > @@ -256,6 +256,25 @@ static void rt_mutex_adjust_prio(struct
> > }
> >
> > /*
> > + * Deadlock detection is conditional:
> > + *
> > + * If CONFIG_DEBUG_RT_MUTEXES=n, deadlock detection is only conducted
> > + * if the detect argument is == RT_MUTEX_FULL_CHAINWALK.
> > + *
> > + * If CONFIG_DEBUG_RT_MUTEXES=y, deadlock detection is always
> > + * conducted independent of the detect argument.
> > + *
> > + * If the waiter argument is NULL this indicates the deboost path and
> > + * deadlock detection is disabled independent of the detect argument
> > + * and the config settings.
> > + */
> > +static int rt_mutex_cond_detect_deadlock(struct rt_mutex_waiter *waiter,
> > + enum rtmutex_chainwalk detect)
> > +{
> > + return debug_rt_mutex_detect_deadlock(waiter, detect);
> > +}
> > +
> > +/*
>
> I'm curious to why you created this wrapper function that adds no
> value? Why not call debug_rt_mutex_detect_deadlock() directly?

debug_rt_mutex_detect_deadlock() smells like a magic debug feature,
while rt_mutex_cond_detect_deadlock() clearly says; It's
conditional.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/