Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-28 Thread Juri Lelli
On 27/06/16 14:23, Peter Zijlstra wrote: > On Wed, Jun 15, 2016 at 08:25:07AM +0100, Juri Lelli wrote: > > I guess it's not that likely, but yes it could potentially happen that a > > waiter is optimistically spinning, depletes its runtime, gets throttled > > and then replenished when still spinnin

Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-27 Thread Thomas Gleixner
On Mon, 27 Jun 2016, Peter Zijlstra wrote: > On Wed, Jun 15, 2016 at 08:25:07AM +0100, Juri Lelli wrote: > > I guess it's not that likely, but yes it could potentially happen that a > > waiter is optimistically spinning, depletes its runtime, gets throttled > > and then replenished when still spin

Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-27 Thread Peter Zijlstra
On Wed, Jun 15, 2016 at 08:25:07AM +0100, Juri Lelli wrote: > I guess it's not that likely, but yes it could potentially happen that a > waiter is optimistically spinning, depletes its runtime, gets throttled > and then replenished when still spinning. Maybe it doesn't really make > sense continuin

Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-15 Thread Juri Lelli
On 14/06/16 21:44, Peter Zijlstra wrote: > On Tue, Jun 14, 2016 at 06:39:08PM +0100, Juri Lelli wrote: > > On 07/06/16 21:56, Peter Zijlstra wrote: > > > rt_mutex_waiter::prio is a copy of task_struct::prio which is updated > > > during the PI chain walk, such that the PI chain order isn't messed u

Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-14 Thread Peter Zijlstra
On Tue, Jun 14, 2016 at 06:39:08PM +0100, Juri Lelli wrote: > On 07/06/16 21:56, Peter Zijlstra wrote: > > rt_mutex_waiter::prio is a copy of task_struct::prio which is updated > > during the PI chain walk, such that the PI chain order isn't messed up > > by (asynchronous) task state updates. > >

Re: [RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-14 Thread Juri Lelli
On 07/06/16 21:56, Peter Zijlstra wrote: > rt_mutex_waiter::prio is a copy of task_struct::prio which is updated > during the PI chain walk, such that the PI chain order isn't messed up > by (asynchronous) task state updates. > > Currently rt_mutex_waiter_less() uses task state for deadline tasks;

[RFC][PATCH 8/8] rtmutex: Fix PI chain order integrity

2016-06-07 Thread Peter Zijlstra
rt_mutex_waiter::prio is a copy of task_struct::prio which is updated during the PI chain walk, such that the PI chain order isn't messed up by (asynchronous) task state updates. Currently rt_mutex_waiter_less() uses task state for deadline tasks; this is broken, since the task state can, as said