From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
xen-devel@lists.xensource.com, Joe Jin <joe.jin@oracle.com>,
Zhenzhong Duan <zhenzhong.duan@oracle.com>,
Konrad Rzeszutek Wilk <konrad@darnok.org>,
Laszlo Ersek <lersek@redhat.com>
Subject: Re: [PATCH] remove blocked time accounting from xen "clockchip"
Date: Fri, 20 Jan 2012 11:00:50 -0500 [thread overview]
Message-ID: <20120120160050.GB3959@phenom.dumpdata.com> (raw)
In-Reply-To: <4F194880020000780006DD7F@nat28.tlf.novell.com>
On Fri, Jan 20, 2012 at 09:57:04AM +0000, Jan Beulich wrote:
> >>> On 19.01.12 at 20:42, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> > I finally got some time to look at them and I think they are these ones:
> >
> > git log --oneline
> > e03b644fe68b1c6401465b02724d261538dba10f..3c404b578fab699c4708279938078d9404b
> > 255a4
> > 3c404b5 KVM guest: Add a pv_ops stub for steal time
> > c9aaa89 KVM: Steal time implementation
> > 9ddabbe KVM: KVM Steal time guest/host interface
> > 4b6b35f KVM: Add constant to represent KVM MSRs enabled bit in guest/host
> > interface
> >
> > What is interesting is that they end up inserting a bunch of:
> >
> >
> > + if (steal_account_process_tick())
> > + return;
> > +
> >
> > in irqtime_account_process_tick and in account_process_tick.
>
> And this (particularly the "return" part of it) is what I have a hard
> time to understand: How can it be correct to not do any of the
> other accounting? After all, the function calls only
> account_steal_time(), but its certainly going to be common that
> part of the time was stolen, and part was spent executing.
>
> Further, it's being called only from the process tick accounting
Also from 'irqtime_account_idle_ticks' which is called from
account_idle_ticks (if tsc is part of the picture) which is called
from tick_nohz_idle_exit. So at the end of the idle loop the idle
time is accounted for.
> functions, but clearly part of idle or interrupt time can also be
> stolen.
It looks as if the other interrupt times: so the CPUTIME_SOFTIRQ and
CPUTIME_IRQ are completly skipped - but only if there is a "steal time".
The 'steal time' from the KVM is based on the host scheduler notion
of 'run_delay'. I think the 'run_delay' is based purely on block I/O
delay or swap I/O delay. So if the host is not running in any of those
issues, then the 'steal_account_process_tick' won't have any values.
And the 'if (..) return;' wont be taken and it will continue to attribute
the other 'time' slots with appropiate values.
If we have CPU intensive guests that are overcommitted, the guest /proc/schedstats
won't show the delay between the host putting it on a CPU as as 'steal' time
but rather as 'idle' time - I think?
That seems odd. I am probably misreading how 'run_delay' gets computed.
next prev parent reply other threads:[~2012-01-20 16:00 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-18 20:42 [PATCH] remove blocked time accounting from xen "clockchip" Laszlo Ersek
2011-10-19 7:51 ` Jan Beulich
2011-10-19 14:54 ` Laszlo Ersek
2011-10-20 14:35 ` Laszlo Ersek
2011-10-20 15:02 ` Laszlo Ersek
2011-10-26 20:52 ` Konrad Rzeszutek Wilk
2011-11-09 13:35 ` Jan Beulich
2011-11-09 17:47 ` Laszlo Ersek
2011-11-10 8:32 ` Jan Beulich
2011-11-10 18:05 ` Jeremy Fitzhardinge
2012-01-19 19:42 ` Konrad Rzeszutek Wilk
2012-01-20 9:57 ` Jan Beulich
2012-01-20 16:00 ` Konrad Rzeszutek Wilk [this message]
2012-01-23 22:07 ` Konrad Rzeszutek Wilk
2011-12-21 8:32 ` Jan Beulich
2011-12-21 13:53 ` Laszlo Ersek
2011-12-21 14:58 ` Jan Beulich
-- strict thread matches above, loose matches on Subject: below --
2011-12-22 8:49 Jan Beulich
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=20120120160050.GB3959@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=JBeulich@suse.com \
--cc=jeremy@goop.org \
--cc=joe.jin@oracle.com \
--cc=konrad@darnok.org \
--cc=lersek@redhat.com \
--cc=xen-devel@lists.xensource.com \
--cc=zhenzhong.duan@oracle.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.