From: Marcelo Tosatti <mtosatti@redhat.com>
To: Glauber Costa <glommer@redhat.com>
Cc: kvm@vger.kernel.org, avi@redhat.com, zamsden@redhat.com, riel@redhat.com
Subject: Re: [RFC 4/7] change kernel accounting to include steal time
Date: Thu, 26 Aug 2010 17:47:12 -0300 [thread overview]
Message-ID: <20100826204712.GA3773@amt.cnet> (raw)
In-Reply-To: <20100826202856.GC2985@mothafucka.localdomain>
On Thu, Aug 26, 2010 at 05:28:56PM -0300, Glauber Costa wrote:
> On Thu, Aug 26, 2010 at 02:23:03PM -0300, Marcelo Tosatti wrote:
> > On Wed, Aug 25, 2010 at 05:43:14PM -0400, 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.
> >
> > Problem of using sched notifiers is that you don't differentiate whether
> > the vcpu scheduled out by its own (via hlt emulation) or not.
> And we don't need to. If we're out because we want to, we're idle.
> And so, we don't account steal time.
Think of the program below.
> > Skipping accounting of user/system time whenever there's any stolen
> > time detected probably breaks u/s accounting on non-cpu-hog loads.
> I am willing to test some workloads you can suggest, but right now,
> (yeah, I mostly used cpu-hogs), this scheme worked better.
>
> Linux does statistical sampling for accounting anyway, so I don't see
> it getting much worse.
A "cpu hog" that sleeps 1us every 1ms.
> > I suppose steal time should be accounted separately from u/s ticks, as
> > Xen does.
> It requires us to hook somewhere else, which I deem as overcomplicated.
> Do you have any suggestion on how to make it simple?
Unfortunately no.
> Furthermore, "doing separate", is equivalent of not skipping user/system,
> if we really prefer to.
>
> > + if (delta > 1000UL)
> > + touch_softlockup_watchdog();
> > +
> >
> > This will break authentic soft lockup detection whenever qemu processing
> > takes more than 1s.
>
> This should be 10s. 1000UL is a typo.
Comment is still valid.
next prev parent reply other threads:[~2010-08-26 20:47 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 [this message]
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
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=20100826204712.GA3773@amt.cnet \
--to=mtosatti@redhat.com \
--cc=avi@redhat.com \
--cc=glommer@redhat.com \
--cc=kvm@vger.kernel.org \
--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.