All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Glauber Costa <glommer@redhat.com>
Cc: kvm@vger.kernel.org, zamsden@redhat.com,
	Marcelo Tosatti <mtosatti@redhat.com>,
	riel@redhat.com
Subject: Re: [RFC 4/7] change kernel accounting to include steal time
Date: Mon, 30 Aug 2010 16:15:04 +0300	[thread overview]
Message-ID: <4C7BAED8.9090409@redhat.com> (raw)
In-Reply-To: <20100830124217.GA17084@mothafucka.localdomain>

  On 08/30/2010 03:42 PM, Glauber Costa wrote:
> On Sun, Aug 29, 2010 at 12:59:36PM +0300, Avi Kivity wrote:
>>   On 08/26/2010 12:43 AM, Glauber Costa wrote:
>>> This patch proposes a common steal time implementation. When no
>>> steal time is accounted, we just add a branch to the current
>>> accounting code, that shouldn't add much overhead.
>>>
>>> When we do want to register steal time, we proceed as following:
>>> - if we would account user or system time in this tick, and there is
>>>    out-of-cpu time registered, we skip it altogether, and account steal
>>>    time only.
>>> - if we would account user or system time in this tick, and we got the
>>>    cpu for the whole slice, we proceed normaly.
>>> - if we are idle in this tick, we flush out-of-cpu time to give it the
>>>    chance to update whatever last-measure internal variable it may have.
>>>
>>> This approach is simple, but proved to work well for my test scenarios.
>>> in a UP guest on UP host, with a cpu-hog in both guest and host shows
>>> ~ 50 % steal time. steal time is also accounted proportionally, if
>>> nice values are given to the host cpu-hog.
>>>
>>> A cpu-hog in the host with no load in the guest, produces 0 % steal time,
>>> with 100 % idle, as one would expect.
>>>
>> The scheduler people and lkml need to be copied on this patch.
>>
>> Since s390 does steal time (I think?), can this code be shared?
> AFAIK, s390 enables CONFIG_VIRT_CPU_ACCOUNTING, so all timings
> comes from the hypervisor, and statistical sampling is not involved.

Ok.  I see ppc does something similar as well (taking care of 
user/kernel transitions itself).

> We could do that, if our hardware had any method to say precisely
> how much time we spent in each state, which I don't think we do.

We don't, though I'm sure everyone is wondering why we can't have cheap 
accurate global clocks on x86.

> So in a summary, s390 is in a totally different ifdef side.

Yes.

> Who should we copy at the scheduler side?

 From MAINTAINERS:
   Ingo Molnar <mingo@elte.hu>
   Peter Zijlstra <peterz@infradead.org>

-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2010-08-30 13:15 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-25 21:43 [RFC 0/7] KVM steal time implementation Glauber Costa
2010-08-25 21:43 ` [RFC 1/7] Implement getnsboottime kernel API Glauber Costa
2010-08-25 21:43   ` [RFC 2/7] change headers preparing for steal time Glauber Costa
2010-08-25 21:43     ` [RFC 3/7] measure time out of guest Glauber Costa
2010-08-25 21:43       ` [RFC 4/7] change kernel accounting to include steal time Glauber Costa
2010-08-25 21:43         ` [RFC 5/7] kvm steal time implementation Glauber Costa
2010-08-25 21:43           ` [RFC 6/7] touch softlockup watchdog Glauber Costa
2010-08-25 21:43             ` [RFC 7/7] tell guest about steal time feature Glauber Costa
2010-08-26 22:13           ` [RFC 5/7] kvm steal time implementation Rik van Riel
2010-08-26 22:35             ` Glauber Costa
2010-08-26 17:23         ` [RFC 4/7] change kernel accounting to include steal time Marcelo Tosatti
2010-08-26 20:28           ` Glauber Costa
2010-08-26 20:47             ` Marcelo Tosatti
2010-08-26 21:05               ` Rik van Riel
2010-08-26 21:13               ` Glauber Costa
2010-08-26 21:14             ` Anthony Liguori
2010-08-26 21:40               ` Glauber Costa
2010-08-26 23:12                 ` Marcelo Tosatti
2010-08-27  0:33                   ` Glauber Costa
2010-08-27 15:25                     ` Marcelo Tosatti
2010-08-26 21:19         ` Rik van Riel
2010-08-26 21:39           ` Glauber Costa
2010-08-29  9:59         ` Avi Kivity
2010-08-29 15:13           ` Rik van Riel
2010-08-29 15:25             ` Avi Kivity
2010-08-29 15:42               ` Rik van Riel
2010-08-29 15:47                 ` Avi Kivity
2010-08-30 12:42           ` Glauber Costa
2010-08-30 13:15             ` Avi Kivity [this message]
2010-08-26 20:54       ` [RFC 3/7] measure time out of guest Zachary Amsden
2010-08-26 21:14         ` Glauber Costa
2010-08-29  9:53       ` Avi Kivity
2010-08-26 20:44     ` [RFC 2/7] change headers preparing for steal time Zachary Amsden
2010-08-26 21:04       ` Rik van Riel
2010-08-26 21:17         ` Glauber Costa
2010-08-26 22:11           ` Rik van Riel
2010-08-29  9:51     ` Avi Kivity
2010-08-30 12:44       ` Glauber Costa
2010-08-30 13:10         ` Avi Kivity
2010-08-26 19:46   ` [RFC 1/7] Implement getnsboottime kernel API Rik van Riel

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=4C7BAED8.9090409@redhat.com \
    --to=avi@redhat.com \
    --cc=glommer@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=riel@redhat.com \
    --cc=zamsden@redhat.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.