lkml.org 
[lkml]   [2012]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH RFC 0/3] Add guest cpu_entitlement reporting
From
Date
On Mon, 2012-08-27 at 11:50 -0700, Glauber Costa wrote:
> On 08/27/2012 08:50 AM, Michael Wolf wrote:
> > On Sat, 2012-08-25 at 19:36 -0400, Glauber Costa wrote:
> >> On 08/24/2012 11:11 AM, Michael Wolf wrote:
> >>> On Fri, 2012-08-24 at 08:53 +0400, Glauber Costa wrote:
> >>>> On 08/24/2012 03:14 AM, Michael Wolf wrote:
> >>>>> This is an RFC regarding the reporting of stealtime. In the case of
> >>>>> where you have a system that is running with partial processors such as
> >>>>> KVM the user may see steal time being reported in accounting tools such
> >>>>> as top or vmstat. This can cause confusion for the end user. To
> >>>>> ease the confusion this patch set adds a sysctl interface to set the
> >>>>> cpu entitlement. This is the percentage of cpu that the guest system is
> >>>>> expected to receive. As long as the steal time is within its expected
> >>>>> range it will show up as 0 in /proc/stat. The user will then see in the
> >>>>> accounting tools that they are getting a full utilization of the cpu
> >>>>> resources assigned to them.
> >>>>>
> >>>>
> >>>> And how is such a knob not confusing?
> >>>>
> >>>> Steal time is pretty well defined in meaning and is shown in top for
> >>>> ages. I really don't see the point for this.
> >>>
> >>> Currently you can see the steal time but you have no way of knowing if
> >>> the cpu utilization you are seeing on the guest is the expected amount.
> >>> I decided on making it a knob because a guest could be migrated to
> >>> another system and it's entitlement could change because of hardware or
> >>> load differences. It could simply be a /proc file and report the
> >>> current entitlement if needed. As things are currently implemented I
> >>> don't see how someone knows if the guest is running as expected or
> >>> whether there is a problem.
> >>>
> >>
> >> Turning off steal time display won't get even close to displaying the
> >> information you want. What you probably want is a guest-visible way to
> >> say how many miliseconds you are expected to run each second. Right?
> >
> > It is not clear to me how knowing how many milliseconds you are
> > expecting to run will help the user. Currently the users will run top
> > to see how well the guest is running. If they see _any_ steal time some
> > users think they are not getting the full use of their processor
> > entitlement.
> >
>
> And your plan is just to selectively lie about it, but disabling it with
> a knob?

It is about making it very obvious to the end user whether they are
receiving their cpu entitlement. If there is more steal time than
expected that will still show up. I have experimented, and it seems to
work, to put the raw stealtime at the end of each cpu line
in /proc/stat. That way the raw data is there as well.

Do you have another suggestion to communicate to the user whether they
are receiving their full entitlement? At the very least shouldn't the
entitlement reside in a /proc file somewhere so that the user could look
up the value and "do the math"?

>
> > Maybe I'm missing what you are proposing, but even if you knew the
> > milliseconds that you were expecting for your processor you would have
> > to adjust the top output in your head so to speak. You would see the
> > utilization and then say 'ok that matches the number of milliseconds I
> > expected to run..." If we take away the steal time (as long as it is
> > equal to or less than the expected amount of steal time) then the user
> > running top will see the 100% utilization.
> >
>





\
 
 \ /
  Last update: 2012-08-27 23:01    [W:0.059 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site