From: Peter Zijlstra <peterz@infradead.org>
To: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: "mingo@elte.hu" <mingo@elte.hu>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"chris@frostnet.net" <chris@frostnet.net>,
"debian00@aliceadsl.fr" <debian00@aliceadsl.fr>,
"hpa@zytor.com" <hpa@zytor.com>,
"jonathan.protzenko@gmail.com" <jonathan.protzenko@gmail.com>,
"mans@mansr.com" <mans@mansr.com>,
"psastudio@mail.ru" <psastudio@mail.ru>,
"rjw@sisk.pl" <rjw@sisk.pl>,
"stephan.eicher@web.de" <stephan.eicher@web.de>,
"sxxe@gmx.de" <sxxe@gmx.de>,
"thomas@archlinux.org" <thomas@archlinux.org>,
"venki@google.com" <venki@google.com>,
"wonghow@gmail.com" <wonghow@gmail.com>
Subject: Re: [patch 3/3] sched: move sched_avg_update() to update_cpu_load()
Date: Fri, 20 Aug 2010 15:47:23 +0200 [thread overview]
Message-ID: <1282312043.2605.1033.camel@laptop> (raw)
In-Reply-To: <1282265478.10905.1.camel@sbsiddha-MOBL3.sc.intel.com>
On Thu, 2010-08-19 at 17:51 -0700, Suresh Siddha wrote:
>
> From: Suresh Siddha <suresh.b.siddha@intel.com>
> Subject: sched: move sched_avg_update() to update_cpu_load()
>
> Currently sched_avg_update() (which updates rt_avg stats in the rq) is getting
> called from scale_rt_power() (in the load balance context) which doesn't take
> rq->lock.
>
> Fix it by moving the sched_avg_update() to more appropriate update_cpu_load()
> where the CFS load gets updated aswell.
>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
> ---
> kernel/sched.c | 3 ++-
> kernel/sched_fair.c | 2 --
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> Index: tree/kernel/sched_fair.c
> ===================================================================
> --- tree.orig/kernel/sched_fair.c
> +++ tree/kernel/sched_fair.c
> @@ -2268,8 +2268,6 @@ unsigned long scale_rt_power(int cpu)
> struct rq *rq = cpu_rq(cpu);
> u64 total, available;
>
> - sched_avg_update(rq);
> -
> total = sched_avg_period() + (rq->clock - rq->age_stamp);
> available = total - rq->rt_avg;
>
> Index: tree/kernel/sched.c
> ===================================================================
> --- tree.orig/kernel/sched.c
> +++ tree/kernel/sched.c
> @@ -3182,6 +3182,8 @@ static void update_cpu_load(struct rq *t
>
> this_rq->cpu_load[i] = (old_load * (scale - 1) + new_load) >> i;
> }
> +
> + sched_avg_update(this_rq);
> }
>
> static void update_cpu_load_active(struct rq *this_rq)
breaks CONFIG_SMP=n builds..
CC kernel/sched.o
/usr/src/linux-2.6/kernel/sched.c: In function ‘update_cpu_load’:
/usr/src/linux-2.6/kernel/sched.c:3186: error: implicit declaration of function ‘sched_avg_update’ CC kernel/sched.o
/usr/src/linux-2.6/kernel/sched.c: In function ‘update_cpu_load’:
/usr/src/linux-2.6/kernel/sched.c:3186: error: implicit declaration of function ‘sched_avg_update’
next prev parent reply other threads:[~2010-08-20 13:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-13 19:45 [patch 0/3] sched: fixes related to scaling down cpu power with RT tasks Suresh Siddha
2010-08-13 19:45 ` [patch 1/3] sched: init rt_avg stat whenever rq comes online Suresh Siddha
2010-08-16 7:47 ` Peter Zijlstra
2010-08-16 17:36 ` Suresh Siddha
2010-08-16 19:25 ` Peter Zijlstra
2010-08-17 8:51 ` Peter Zijlstra
2010-08-19 0:20 ` Suresh Siddha
2010-08-19 8:53 ` Peter Zijlstra
2010-08-20 0:03 ` Suresh Siddha
2010-08-20 8:54 ` Peter Zijlstra
2010-08-20 14:16 ` [tip:sched/urgent] x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states tip-bot for Suresh Siddha
2010-08-13 19:45 ` [patch 2/3] sched: fix minimum power returned by update_cpu_power() Suresh Siddha
2010-08-16 7:50 ` Peter Zijlstra
2010-08-16 17:37 ` Suresh Siddha
2010-08-13 19:45 ` [patch 3/3] sched: move sched_avg_update() to update_cpu_load() Suresh Siddha
2010-08-16 8:00 ` Peter Zijlstra
2010-08-16 17:46 ` Suresh Siddha
2010-08-16 19:31 ` Peter Zijlstra
2010-08-20 0:51 ` Suresh Siddha
2010-08-20 9:25 ` Peter Zijlstra
2010-08-20 13:47 ` Peter Zijlstra [this message]
2010-08-23 20:42 ` Suresh Siddha
2010-09-09 19:45 ` [tip:sched/urgent] sched: Move " tip-bot for Suresh Siddha
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=1282312043.2605.1033.camel@laptop \
--to=peterz@infradead.org \
--cc=chris@frostnet.net \
--cc=debian00@aliceadsl.fr \
--cc=hpa@zytor.com \
--cc=jonathan.protzenko@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mans@mansr.com \
--cc=mingo@elte.hu \
--cc=psastudio@mail.ru \
--cc=rjw@sisk.pl \
--cc=stephan.eicher@web.de \
--cc=suresh.b.siddha@intel.com \
--cc=sxxe@gmx.de \
--cc=thomas@archlinux.org \
--cc=venki@google.com \
--cc=wonghow@gmail.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.