From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>,
mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com,
rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
linux-kernel@vger.kernel.org, parth@linux.ibm.com
Cc: qais.yousef@arm.com, chris.hyser@oracle.com,
pkondeti@codeaurora.org, valentin.schneider@arm.com,
patrick.bellasi@matbug.net, David.Laight@aculab.com,
pjt@google.com, pavel@ucw.cz, tj@kernel.org,
dhaval.giani@oracle.com, qperret@google.com,
tim.c.chen@linux.intel.com
Subject: Re: [RFC 5/6] sched/fair: Take into account latency nice at wakeup
Date: Mon, 28 Mar 2022 11:24:09 +0200 [thread overview]
Message-ID: <bb92b4ee-293b-7e00-6e74-bd10fc088f7e@arm.com> (raw)
In-Reply-To: <20220311161406.23497-6-vincent.guittot@linaro.org>
On 11/03/2022 17:14, Vincent Guittot wrote:
[...]
> @@ -4412,7 +4417,7 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
> p->prio = p->normal_prio = p->static_prio;
> set_load_weight(p, false);
>
> - p->latency_nice = DEFAULT_LATENCY_NICE;
> + p->latency_prio = NICE_TO_LATENCY(0);
> /*
> * We don't need the reset flag anymore after the fork. It has
> * fulfilled its duty:
> @@ -4420,6 +4425,9 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
> p->sched_reset_on_fork = 0;
> }
>
> + /* Once latency_prio is set, update the latency weight */
> + set_latency_weight(p);
I thought we only have to do this in the `sched_reset_on_fork` case?
Like we do with set_load_weight(). Can we not rely on dup_task_struct()
in the other case?
[...]
> @@ -5648,6 +5677,9 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
> if (!task_new)
> update_overutilized_status(rq);
>
> + if (rq->curr == rq->idle)
> + check_preempt_from_idle(cfs_rq_of(&p->se), &p->se);
This is done here (1) because check_preempt_wakeup() (2) is only called
if p and rq->curr have CFS sched class?
ttwu_do_activate()
activate_task()
enqueue_task <-- (1)
ttwu_do_wakeup()
check_preempt_curr()
if (p->sched_class == rq->curr->sched_class)
rq->curr->sched_class->check_preempt_curr() <-- (2)
[...]
> @@ -7008,6 +7059,10 @@ static int
> wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se)
> {
> s64 gran, vdiff = curr->vruntime - se->vruntime;
> + int latency_weight = se->latency_weight - curr->latency_weight;
> +
> + latency_weight = min(latency_weight, se->latency_weight);
Why the min out of latency_weight_diff(se, curr) and se->latency_weight
here?
[...]
next prev parent reply other threads:[~2022-03-28 9:24 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-11 16:14 [PATCH 0/6] Add latency_nice priority Vincent Guittot
2022-03-11 16:14 ` [PATCH 1/6] sched: Introduce latency-nice as a per-task attribute Vincent Guittot
2022-03-11 16:14 ` [PATCH 2/6] sched/core: Propagate parent task's latency requirements to the child task Vincent Guittot
2022-03-22 0:22 ` Tim Chen
2022-03-22 14:57 ` Vincent Guittot
2022-03-11 16:14 ` [PATCH 3/6] sched: Allow sched_{get,set}attr to change latency_nice of the task Vincent Guittot
2022-03-22 0:22 ` Tim Chen
2022-03-22 14:55 ` Vincent Guittot
2022-03-28 9:23 ` Dietmar Eggemann
2022-03-28 12:41 ` Vincent Guittot
2022-03-11 16:14 ` [PATCH 4/6] sched/core: Add permission checks for setting the latency_nice value Vincent Guittot
2022-03-11 16:14 ` [RFC 5/6] sched/fair: Take into account latency nice at wakeup Vincent Guittot
2022-03-15 0:53 ` Josh Don
2022-03-15 13:54 ` Vincent Guittot
2022-03-28 9:24 ` Dietmar Eggemann [this message]
2022-03-28 12:51 ` Vincent Guittot
2022-05-01 15:58 ` Tao Zhou
2022-05-02 9:54 ` Vincent Guittot
2022-05-02 12:30 ` Vincent Guittot
2022-05-02 15:08 ` Tao Zhou
2022-05-02 15:26 ` Tao Zhou
2022-05-02 15:47 ` Tao Zhou
2022-05-02 16:21 ` Vincent Guittot
2022-05-02 23:09 ` Tao Zhou
2022-05-03 2:30 ` Tao Zhou
2022-05-03 12:40 ` Vincent Guittot
2022-05-04 11:14 ` Chen Yu
2022-05-04 12:39 ` Vincent Guittot
2022-03-11 16:14 ` [RFC 6/6] sched/fair: Add sched group latency support Vincent Guittot
2022-03-15 0:58 ` Josh Don
2022-03-15 17:07 ` Vincent Guittot
2022-03-21 17:24 ` Tejun Heo
2022-03-22 16:10 ` Vincent Guittot
2022-03-22 16:40 ` Tejun Heo
2022-03-23 15:04 ` Vincent Guittot
2022-03-23 18:20 ` Chris Hyser
2022-03-22 16:41 ` Tim Chen
2022-03-23 15:23 ` Vincent Guittot
2022-03-22 16:39 ` [PATCH 0/6] Add latency_nice priority Qais Yousef
2022-03-23 15:32 ` Vincent Guittot
2022-03-24 17:25 ` Qais Yousef
2022-03-25 13:27 ` Vincent Guittot
2022-03-28 16:27 ` Qais Yousef
2022-03-30 7:30 ` Vincent Guittot
2022-03-28 9:24 ` Dietmar Eggemann
2022-03-28 12:56 ` Vincent Guittot
2022-04-01 12:15 ` Qais Yousef
2022-04-02 8:46 ` Vincent Guittot
2022-04-09 17:08 ` Qais Yousef
2022-04-09 17:28 ` Steven Rostedt
2022-04-09 18:10 ` Qais Yousef
2022-04-11 7:26 ` Vincent Guittot
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=bb92b4ee-293b-7e00-6e74-bd10fc088f7e@arm.com \
--to=dietmar.eggemann@arm.com \
--cc=David.Laight@aculab.com \
--cc=bsegall@google.com \
--cc=chris.hyser@oracle.com \
--cc=dhaval.giani@oracle.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=parth@linux.ibm.com \
--cc=patrick.bellasi@matbug.net \
--cc=pavel@ucw.cz \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=pkondeti@codeaurora.org \
--cc=qais.yousef@arm.com \
--cc=qperret@google.com \
--cc=rostedt@goodmis.org \
--cc=tim.c.chen@linux.intel.com \
--cc=tj@kernel.org \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.org \
/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
Powered by JetHome