[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160328145702.589da4bd@gandalf.local.home>
Date: Mon, 28 Mar 2016 14:57:02 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Josh Cartwright <joshc@...com>, Daniel Wagner <wagi@...om.org>,
linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Daniel Wagner <daniel.wagner@...-carit.de>
Subject: Re: [RFC v0] Use swait in completion
On Wed, 9 Mar 2016 13:24:23 +0100
Sebastian Andrzej Siewior <bigeasy@...utronix.de> wrote:
> * Josh Cartwright | 2016-03-08 12:26:56 [-0600]:
>
> >Is it really just about latency? Does this deferral not lead to an
> >inversion in the case where the single woken task isn't the highest
> >priority waiter on the completion (and doesn't run due to a
> >middle-priority thing spinning)?
>
> This would be case, yes. Not only with deferral. Say you have two
> waters: 1st one is MID-prio and the second is HI-prio. Currently after
> the wakeup of the MID-prio waiter you get preempted. Waking all of them
> at once would put the second waiter first on the CPU.
> Samething without the deferral flag.
>
> >In order for this to work, it seems like the chosen waiter would need to
> >inherit the highest priority of all waiters (which AFAICT isn't
> >happening).
>
> sorting the waiters by priority? This will be fun. This is only done for
> the rtmutex waiters.
>
Hmm, perhaps we should use an rbtree to sort simple waiters by
priority :-)
Probably wont make them simple anymore.
-- Steve
Powered by blists - more mailing lists