From: Steven Rostedt <rostedt@goodmis.org>
To: pmorreale@novell.com
Cc: Gregory Haskins <ghaskins@novell.com>,
Lai Jiangshan <laijs@cn.fujitsu.com>, Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
ThomasGleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC][RT][PATCH 3/4] rtmutex: Revert Optimize rt lock wakeup
Date: Tue, 04 Jan 2011 13:06:02 -0500 [thread overview]
Message-ID: <1294164362.3948.220.camel@gandalf.stny.rr.com> (raw)
In-Reply-To: <1294163123.3371.89.camel@hermosa.morreale.net>
On Tue, 2011-01-04 at 10:45 -0700, Peter W. Morreale wrote:
> On Tue, 2011-01-04 at 12:27 -0500, Steven Rostedt wrote:
> > That said, I think your wakeup patch may be worth while with Lai's new
> > code. His changes causes the owner to wake up the pending owner several
> > times, because the pending owner is never removed from the lock
> > wait_list. If a high prio task grabs and releases the same lock over and
> > over, if there is a waiter it will try to wake up that waiter each time.
> >
>
>
> Oooohhhh I wonder if that would enable 'lock-stealing' for FIFO?
I guess you mean literal FIFO order and not SCHED_FIFO.
But, if I understand you, it would allow for this. If a process has a
lock and two processes are blocked on it. When the first releases the
lock it gives it to the higher of the waiters. But if a high prio task
comes a long, it will steal that lock away, and this woken task will
need to race to get it from the other lower prio task that comes along.
And yes, if that other task is the same prio, we reverse the FIFO order
here.
Lai's patch prevents this. Either the woken task gets the lock or a
higher prio task does. No mixing around the order of taking the lock
here. The better side effect of Lai's patch is that it cleans up the
code quite a bit, which is what I really want, as we start to introduce
SCHED_DEADLINE.
>
> IIRC, you came up with a ping-pong scenario that prevented its use
> there.
Probably.
-- Steve
next prev parent reply other threads:[~2011-01-04 18:06 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-23 22:47 [RFC][RT][PATCH 0/4] rtmutex: Simplify PI code Steven Rostedt
2010-12-23 22:47 ` [RFC][RT][PATCH 1/4] rtmutex: Only save lock depth once in spin_slowlock Steven Rostedt
2010-12-23 22:47 ` [RFC][RT][PATCH 2/4] rtmutex: Try to take lock early in rt_spin_lock_slowlock() Steven Rostedt
2010-12-23 22:47 ` [RFC][RT][PATCH 3/4] rtmutex: Revert Optimize rt lock wakeup Steven Rostedt
2010-12-24 4:45 ` Gregory Haskins
2010-12-24 4:54 ` Steven Rostedt
2010-12-28 14:06 ` Gregory Haskins
2011-01-03 19:06 ` Steven Rostedt
2011-01-03 20:22 ` Steven Rostedt
2011-01-04 15:19 ` Peter W. Morreale
2011-01-04 15:47 ` Steven Rostedt
2011-01-04 17:15 ` Peter W. Morreale
2011-01-04 17:27 ` Steven Rostedt
2011-01-04 17:45 ` Peter W. Morreale
2011-01-04 18:06 ` Steven Rostedt [this message]
2011-01-04 20:48 ` Peter W. Morreale
2011-01-04 17:24 ` Peter W. Morreale
2011-01-10 14:49 ` Gregory Haskins
[not found] ` <4D13DF250200005A000793E1@novell.com>
2010-12-24 15:47 ` Peter W. Morreale
2010-12-23 22:47 ` [RFC][RT][PATCH 4/4] rtmutex: Ensure only the top waiter or higher priority task can take the lock Steven Rostedt
2011-01-04 4:02 ` Steven Rostedt
2011-01-05 7:12 ` Lai Jiangshan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1294164362.3948.220.camel@gandalf.stny.rr.com \
--to=rostedt@goodmis.org \
--cc=ghaskins@novell.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=pmorreale@novell.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®