On 08/27/2012 01:19 PM, Michael Wolf wrote: > 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"? > I personally believe Avi is right here. This is something to be done at the host side. The user can learn this from any tool he is using to manage his VMs. Now if you absolutely must inform him from inside the guest, I would go with the later, informing him in another location. (I am not saying I agree with this, just that this is less worse) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html