Re: [patch V3 7/7] rtmutex: Avoid pointless requeueing in the deadlock detection chain walk

From: Steven Rostedt
Date: Tue Jun 10 2014 - 11:19:48 EST


On Tue, 10 Jun 2014 09:57:25 -0500
"Brad Mouring" <bmouring@xxxxxx> wrote:


> > + /* Store whether owner is blocked itself and drop locks */
> > + next_lock = task_blocked_on(task);
> task_blocked_on(task) is not clear to me, the recipient of the
> return is the only clue that hints at what the function does.

Well, this is more than confusing, it's the only user, all other users
are task_blocked_on_lock(), and this causes the code not to compile.

-- Steve


> > + raw_spin_unlock_irqrestore(&task->pi_lock, flags);
> > + raw_spin_unlock(&lock->wait_lock);
> > +
> > + /* If owner is not blocked, end of chain. */
> > + if (!next_lock)
> > + goto out_put_task;
> > + goto again;
> > + }
> > +
> > + /*
> > * Store the current top waiter before doing the requeue
> > * operation on @lock. We need it for the boost/deboost
> > * decision below.
> >
> >

--
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/