From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Yuyang Du <yuyang.du@intel.com>,
"mingo@kernel.org" <mingo@kernel.org>,
"peterz@infradead.org" <peterz@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "pjt@google.com" <pjt@google.com>,
"bsegall@google.com" <bsegall@google.com>,
Morten Rasmussen <Morten.Rasmussen@arm.com>,
"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
"umgwanakikbuti@gmail.com" <umgwanakikbuti@gmail.com>,
"len.brown@intel.com" <len.brown@intel.com>,
"rafael.j.wysocki@intel.com" <rafael.j.wysocki@intel.com>,
"arjan@linux.intel.com" <arjan@linux.intel.com>,
"fengguang.wu@intel.com" <fengguang.wu@intel.com>
Subject: Re: [PATCH v10 2/7] sched: Rewrite runnable load and utilization average tracking
Date: Fri, 24 Jul 2015 17:41:35 +0100 [thread overview]
Message-ID: <55B26ABF.2060907@arm.com> (raw)
In-Reply-To: <1436918682-4971-3-git-send-email-yuyang.du@intel.com>
Hi Yuyang,
On 15/07/15 01:04, Yuyang Du wrote:
[...]
> @@ -4674,7 +4487,7 @@ static long effective_load(struct task_group *tg, int cpu, long wl, long wg)
> /*
> * w = rw_i + @wl
> */
> - w = se->my_q->load.weight + wl;
> + w = se->my_q->avg.load_avg + wl;
>
> /*
> * wl = S * s'_i; see (2)
There is a comment 'Per the above, wl is the new *se->load.weight*
value'. This should be replaced by *se->avg.load_avg*. Also the function
header explains the functionality of effective_load() based on weight
and not sched_avg::load_avg.
> @@ -4695,7 +4508,7 @@ static long effective_load(struct task_group *tg, int cpu, long wl, long wg)
> /*
> * wl = dw_i = S * (s'_i - s_i); see (3)
> */
> - wl -= se->load.weight;
> + wl -= se->avg.load_avg;
>
> /*
> * Recursively apply this logic to all parent groups to compute
> @@ -4769,14 +4582,14 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync)
> */
> if (sync) {
> tg = task_group(current);
> - weight = current->se.load.weight;
> + weight = current->se.avg.load_avg;
>
> this_load += effective_load(tg, this_cpu, -weight, -weight);
> load += effective_load(tg, prev_cpu, 0, -weight);
> }
>
> tg = task_group(p);
> - weight = p->se.load.weight;
> + weight = p->se.avg.load_avg;
You changed cfs_rq->load.weight to cfs_rq->avg.load_avg and
se->load.weight to se->avg.load_avg in effective_load() and
wake_affine() in v2.
I wasn't able to find explanation why you did this. I mean we still have
to maintain 'struct load_weight' on cfs_rq's and se's representing tg's.
-- Dietmar
[...]
next prev parent reply other threads:[~2015-07-24 16:41 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-15 0:04 [PATCH v10 0/7] sched: Rewrite runnable load and utilization average tracking Yuyang Du
2015-07-15 0:04 ` [PATCH v10 1/7] sched: Remove rq's runnable avg Yuyang Du
2015-08-03 17:10 ` [tip:sched/core] sched/fair: " tip-bot for Yuyang Du
2015-07-15 0:04 ` [PATCH v10 2/7] sched: Rewrite runnable load and utilization average tracking Yuyang Du
2015-07-24 16:41 ` Dietmar Eggemann [this message]
2015-07-26 20:24 ` Yuyang Du
2015-08-03 17:10 ` [tip:sched/core] sched/fair: " tip-bot for Yuyang Du
2015-07-15 0:04 ` [PATCH v10 3/7] sched: Implement update_blocked_averages() for CONFIG_FAIR_GROUP_SCHED=n Yuyang Du
2015-08-03 17:11 ` [tip:sched/core] sched/fair: " tip-bot for Vincent Guittot
2015-07-15 0:04 ` [PATCH v10 4/7] sched: Init cfs_rq's sched_entity load average Yuyang Du
2015-08-03 17:11 ` [tip:sched/core] sched/fair: Init cfs_rq' s " tip-bot for Yuyang Du
2015-07-15 0:04 ` [PATCH v10 5/7] sched: Remove task and group entity load when they are dead Yuyang Du
2015-08-03 17:11 ` [tip:sched/core] sched/fair: " tip-bot for Yuyang Du
2015-07-15 0:04 ` [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq Yuyang Du
2015-07-21 1:08 ` Boqun Feng
2015-07-21 0:44 ` Yuyang Du
2015-07-21 10:18 ` Boqun Feng
2015-07-21 10:29 ` Boqun Feng
2015-07-26 18:43 ` Yuyang Du
2015-07-27 3:21 ` Boqun Feng
2015-07-26 19:56 ` Yuyang Du
2015-07-27 4:04 ` Boqun Feng
2015-07-26 20:34 ` Yuyang Du
2015-07-27 5:16 ` Boqun Feng
2015-07-27 3:29 ` Boqun Feng
2015-07-22 2:19 ` Boqun Feng
2015-07-26 19:45 ` Yuyang Du
2015-08-03 17:12 ` [tip:sched/core] sched/fair: " tip-bot for Yuyang Du
2015-07-15 0:04 ` [PATCH v10 7/7] sched: Clean up load average references Yuyang Du
2015-07-24 16:41 ` Dietmar Eggemann
2015-07-26 20:31 ` Yuyang Du
2015-08-03 17:12 ` [tip:sched/core] sched/fair: " tip-bot for Yuyang Du
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=55B26ABF.2060907@arm.com \
--to=dietmar.eggemann@arm.com \
--cc=Morten.Rasmussen@arm.com \
--cc=arjan@linux.intel.com \
--cc=bsegall@google.com \
--cc=fengguang.wu@intel.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=rafael.j.wysocki@intel.com \
--cc=umgwanakikbuti@gmail.com \
--cc=vincent.guittot@linaro.org \
--cc=yuyang.du@intel.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.