From: Peter Zijlstra <peterz@infradead.org>
To: Miguel de Dios <migueldedios@google.com>
Cc: Steve Muckle <smuckle@google.com>, Ingo Molnar <mingo@redhat.com>,
linux-kernel@vger.kernel.org, kernel-team@android.com,
Todd Kjos <tkjos@google.com>, Paul Turner <pjt@google.com>,
Quentin Perret <quentin.perret@arm.com>,
Patrick Bellasi <Patrick.Bellasi@arm.com>,
Chris Redpath <Chris.Redpath@arm.com>,
Morten Rasmussen <Morten.Rasmussen@arm.com>,
John Dias <joaodias@google.com>
Subject: Re: [PATCH] sched/fair: vruntime should normalize when switching from fair
Date: Fri, 24 Aug 2018 11:47:42 +0200 [thread overview]
Message-ID: <20180824094742.GJ24142@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20180824093227.GN24124@hirez.programming.kicks-ass.net>
> > On 08/17/2018 11:27 AM, Steve Muckle wrote:
> > > When rt_mutex_setprio changes a task's scheduling class to RT,
> > > we're seeing cases where the task's vruntime is not updated
> > > correctly upon return to the fair class.
> > > Specifically, the following is being observed:
> > > - task is deactivated while still in the fair class
> > > - task is boosted to RT via rt_mutex_setprio, which changes
> > > the task to RT and calls check_class_changed.
> > > - check_class_changed leads to detach_task_cfs_rq, at which point
> > > the vruntime_normalized check sees that the task's state is TASK_WAKING,
> > > which results in skipping the subtraction of the rq's min_vruntime
> > > from the task's vruntime
> > > - later, when the prio is deboosted and the task is moved back
> > > to the fair class, the fair rq's min_vruntime is added to
> > > the task's vruntime, even though it wasn't subtracted earlier.
I'm thinking that is an incomplete scenario; where do we get to
TASK_WAKING.
next prev parent reply other threads:[~2018-08-24 10:01 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-17 18:27 [PATCH] sched/fair: vruntime should normalize when switching from fair Steve Muckle
2018-08-20 23:54 ` Miguel de Dios
2018-08-23 16:52 ` Dietmar Eggemann
2018-08-24 6:54 ` Juri Lelli
2018-08-24 21:17 ` Steve Muckle
2018-09-06 23:25 ` Dietmar Eggemann
2018-09-07 7:16 ` Juri Lelli
2018-09-07 7:58 ` Vincent Guittot
2018-09-11 6:24 ` Dietmar Eggemann
2018-08-24 9:32 ` Peter Zijlstra
2018-08-24 9:47 ` Peter Zijlstra [this message]
2018-08-24 21:24 ` Steve Muckle
2018-08-27 11:14 ` Peter Zijlstra
2018-08-28 14:53 ` Dietmar Eggemann
2018-08-29 10:54 ` Dietmar Eggemann
2018-08-29 11:59 ` Peter Zijlstra
2018-08-29 15:33 ` Dietmar Eggemann
2018-08-31 22:24 ` Steve Muckle
2018-09-26 9:50 ` Wanpeng Li
2018-09-26 22:38 ` Dietmar Eggemann
2018-09-27 1:19 ` Wanpeng Li
2018-09-27 13:22 ` Dietmar Eggemann
2018-09-28 0:43 ` Wanpeng Li
2018-09-28 16:10 ` Steve Muckle
2018-09-28 16:45 ` Joel Fernandes
2018-09-28 17:35 ` Dietmar Eggemann
2018-09-29 1:07 ` Wanpeng Li
2018-09-28 17:11 ` Dietmar Eggemann
2018-09-28 16:43 ` Joel Fernandes
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=20180824094742.GJ24142@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=Chris.Redpath@arm.com \
--cc=Morten.Rasmussen@arm.com \
--cc=Patrick.Bellasi@arm.com \
--cc=joaodias@google.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=migueldedios@google.com \
--cc=mingo@redhat.com \
--cc=pjt@google.com \
--cc=quentin.perret@arm.com \
--cc=smuckle@google.com \
--cc=tkjos@google.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.