All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@citrix.com>
To: Dario Faggioli <dario.faggioli@citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Tianyang Chen <tiche@seas.upenn.edu>,
	Meng Xu <xumengpanda@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Load calculation refresh in credit2 (was in Re: Questions about the use of idle_vcpu[])
Date: Mon, 18 Jan 2016 14:12:08 +0000	[thread overview]
Message-ID: <569CF2B8.9020406@citrix.com> (raw)
In-Reply-To: <1453121249.11427.83.camel@citrix.com>

[Changing the title to align with the current topic]

On 18/01/16 12:47, Dario Faggioli wrote:
> On Mon, 2016-01-18 at 12:37 +0000, George Dunlap wrote:
>> On Mon, Jan 18, 2016 at 11:00 AM, Dario Faggioli
>> <dario.faggioli@citrix.com> wrote:
>>>>  
>>> Credit2, AFAICR, could also avoid _always_ re-setting the timer,
>>> but it
>>> does need to do that at least a few times, even when idle is
>>> selected,
>>> because of the dynamic load tracking mechanism it includes. In
>>> fact,
>>> that is based on a 'decaying average', which in turns relies on
>>> csched2_schedule() to run and update the statistics, even when the
>>> cpu
>>> is idle. If we don't do that, the load tracking mechanism will
>>> never
>>> see that the cpu (well, it's actually the runqueue) is idle, and
>>> the
>>> load will never go down! :-/
>>
>> I don't think that's true -- it looks like balance_load() will call
>> __update_runq_load() on the "other" runqueue before considering it,
>> and will also call __update_svc_load() on each vcpu before
>> considering
>> it.  Shouldn't that suffice?
>>
> Mm... It looks like it should.
> 
> And yet, I observed that 'load not going down' behavior while doing
> development for the patch I mentioned, both on Credit2 and Credit (with
> patches for extending the load tracking to Credit applied).
> 
> I was, in the same series, also trying to optimize the Credit2's load
> balancer a little bit, though, so what I saw may be the effect of some
> other change of mine...

Hmm... Did you see it when the system was under load, or mostly idle?

Load balancing only happens on a reset event; and the frequency of reset
events will be CREDIT_INIT / (% utilization); so for a system at 1%
utilization that would be once every second.  Is that the kind of number
you were seeing?  Or were you actually seeing idle runqueues not having
anything pushed to them *during* a balance for some reason?

 -George

  reply	other threads:[~2016-01-18 14:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  1:04 Questions about the use of idle_vcpu[] Tianyang Chen
2016-01-18 10:47 ` George Dunlap
2016-01-18 11:00   ` Dario Faggioli
2016-01-18 12:37     ` George Dunlap
2016-01-18 12:47       ` Dario Faggioli
2016-01-18 14:12         ` George Dunlap [this message]
2016-01-19  9:23           ` Load calculation refresh in credit2 (was in Re: Questions about the use of idle_vcpu[]) Dario Faggioli
2016-01-18 16:07     ` Questions about the use of idle_vcpu[] Meng Xu
2016-01-18 16:32       ` Dario Faggioli
2016-01-18 16:41         ` Meng Xu
2016-01-19 22:59       ` Tianyang Chen

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=569CF2B8.9020406@citrix.com \
    --to=george.dunlap@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=tiche@seas.upenn.edu \
    --cc=xen-devel@lists.xen.org \
    --cc=xumengpanda@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.