All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yuyang Du <yuyang.du@intel.com>
To: bsegall@google.com
Cc: Peter Zijlstra <peterz@infradead.org>,
	mingo@redhat.com, linux-kernel@vger.kernel.org,
	rafael.j.wysocki@intel.com, arjan.van.de.ven@intel.com,
	len.brown@intel.com, alan.cox@intel.com, mark.gross@intel.com,
	pjt@google.com, fengguang.wu@intel.com
Subject: Re: [PATCH 2/2] sched: Rewrite per entity runnable load average tracking
Date: Fri, 11 Jul 2014 04:08:32 +0800	[thread overview]
Message-ID: <20140710200831.GB12984@intel.com> (raw)
In-Reply-To: <xm2638e9xhws.fsf@sword-of-the-dawn.mtv.corp.google.com>

On Thu, Jul 10, 2014 at 10:06:27AM -0700, bsegall@google.com wrote:
 
> So, sched_clock(_cpu) can be arbitrarily far off of cfs_rq_clock_task, so you
> can't really do that. Ideally, yes, you would account for any time since
> the last update and account that time as !runnable. However, I don't
> think there is any good way to do that, and the current code doesn't.

Yeah. We only catch up the migrating task to its cfs_rq and substract. No catching
up to "current" time.
 
> >
> > I made another mistake. Should not only track task entity load, group entity
> > (as an entity) is also needed. Otherwise, task_h_load can't be done correctly...
> > Sorry for the messup. But this won't make much change in the codes.
> 
> This will increase it to 2x __update_load_avg per cgroup per
> enqueue/dequeue. What does this (and this patch in general) do to
> context switch cost at cgroup depth 1/2/3?
 
We can update cfs_rq load_avg, and let the cfs_rq's own se take a ride in that update.
These two should get exactly synchronized anyway (group se's load is only usefull for
task_h_load calc, and group cfs_rq's load is useful for task_h_load and update_cfs_share
calc). And technically, it looks easy:

To update cfs_rq, the update weight is cfs_rq->load.weight
To update its se, the update weight is cfs_rq->tg->se[cpu]->load.weight * on_rq

So the it will not increase to 2x, but 1.05x, maybe, :)

Thanks,
Yuyang

  reply	other threads:[~2014-07-11  4:11 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-02  2:30 [PATCH 1/2] sched: Remove update_rq_runnable_avg Yuyang Du
2014-07-02  2:30 ` [PATCH 2/2] sched: Rewrite per entity runnable load average tracking Yuyang Du
2014-07-07 10:07   ` Peter Zijlstra
2014-07-07 10:46   ` Peter Zijlstra
2014-07-07 20:03     ` Yuyang Du
2014-07-07 22:25     ` bsegall
2014-07-08  0:08       ` Yuyang Du
2014-07-08 17:04         ` bsegall
2014-07-09  1:07           ` Yuyang Du
2014-07-09 17:08             ` bsegall
2014-07-09 18:39               ` Yuyang Du
2014-07-09 18:45             ` Peter Zijlstra
2014-07-09 19:07               ` bsegall
2014-07-10 10:08                 ` Peter Zijlstra
2014-07-10 17:01                   ` bsegall
2014-07-10 19:53                     ` Yuyang Du
2014-07-10 23:22                   ` Yuyang Du
2014-07-11  8:47                     ` Peter Zijlstra
2014-07-11  0:52                       ` Yuyang Du
2014-07-11  2:01                         ` Yuyang Du
2014-07-09 23:30               ` Yuyang Du
2014-07-10 17:06                 ` bsegall
2014-07-10 20:08                   ` Yuyang Du [this message]
2014-07-08 12:50       ` Peter Zijlstra

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=20140710200831.GB12984@intel.com \
    --to=yuyang.du@intel.com \
    --cc=alan.cox@intel.com \
    --cc=arjan.van.de.ven@intel.com \
    --cc=bsegall@google.com \
    --cc=fengguang.wu@intel.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.gross@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=rafael.j.wysocki@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.