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: Mon, 16 Aug 2010 21:31:26 +0200 [thread overview]
Message-ID: <1281987086.1926.1890.camel@laptop> (raw)
In-Reply-To: <1281980769.2676.33.camel@sbsiddha-MOBL3.sc.intel.com>
On Mon, 2010-08-16 at 10:46 -0700, Suresh Siddha wrote:
> There is no guarantee that the original cpu won't be doing this in
> parallel with nohz idle load balancing cpu.
Hmm, true.. bugger.
> > > Fix it by moving the sched_avg_update() to more appropriate update_cpu_load()
> > > where the CFS load gets updated aswell.
> >
> > Right, except it breaks things a bit, at the very least you really need
> > that update right before reading it, otherwise you can end up with >100%
> > fractions, which are odd indeed ;-)
>
> with the patch, the update always happens before reading it. isn't it?
>
> update now happens during the scheduler tick (or during nohz load
> balancing tick). And the load balancer gets triggered with the tick.
> So the update (at the tick) should happen before reading it (used by
> load balancing triggered by the tick). Am I missing something?
We run the load-balancer in softirq context, on -rt that's a task, and
we could have ran other (more important) RT tasks between the hardirq
and the softirq running, which would increase the rt_avg and could thus
result in >100%.
But I think we can simply retain the sched_avg_update(rq) in
sched_rt_avg_update(), that is ran with rq->lock held and should be
enough to avoid that case.
We can retain the other bit of you patch, moving sched_avg_update() from
scale_rt_power() to update_cpu_load(), since that is only concerned with
lowering the average when there is no actual activity.
next prev parent reply other threads:[~2010-08-16 19:31 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 [this message]
2010-08-20 0:51 ` Suresh Siddha
2010-08-20 9:25 ` Peter Zijlstra
2010-08-20 13:47 ` Peter Zijlstra
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=1281987086.1926.1890.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.