This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] cpu utilization monitoring

To: Karl Rister <kmr@xxxxxxxxxx>
Subject: Re: [Xen-devel] cpu utilization monitoring
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Tue, 12 Sep 2006 08:34:12 +0100
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 12 Sep 2006 00:44:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200609111648.45756.kmr@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbWPddKFcUNTkIxEdutkAANk04WTA==
Thread-topic: [Xen-devel] cpu utilization monitoring
User-agent: Microsoft-Entourage/
If you turn on trace buffers and use xentrace/xenbaked, I think you get a
trace event whenever a VCPU is scheduled. From this you can work out how
long a VCPU spent running on each physical CPU. This is a bit heavyweight
but okay for e.g., debugging the scheduler and making sure it isn't
ping-ponging things too quickly. I'm not sure why you'd care about the stats
across individual physical CPUs during normal execution?

 -- Keir

On 11/9/06 10:48 pm, "Karl Rister" <kmr@xxxxxxxxxx> wrote:

> Is there a more appropriate interface for collecting this information then?  I
> would like to be able to sample on an some interval (say 3 or 5 seconds) and
> be able to see the amount of time a vcpu spent running on the individual
> physical processors during that time.
> On Monday 11 September 2006 2:56 pm, Keir Fraser wrote:
>> The hypercall reports the point-of-view of the timeline of that VCPU. The
>> fact that its timeline may involve running on various different physical
>> CPUs should not matter, except for cache-warming and other
>> context-switching costs. The runstate_info interface absolutely does not
>> state that the reported run time only includes time spent running on the
>> currently assigned physical CPU.
>>  -- Keir
>> On 11/9/06 8:44 pm, "Karl Rister" <kmr@xxxxxxxxxx> wrote:
>>> Currently in the vcpu_runstate_info structure we have fields that contain
>>> the time spent when the vcpu is in one of four states.  When trying to
>>> determine the physical utilization that a vcpu is requiring of the system
>>> from libxc we make a domctl operation call to the XEN_DOMCTL_getvcpuinfo
>>> command.  When processing this command we pull the value for the
>>> RUNSTATE_running field and attribute it to the processor that the vcpu is
>>> currently running on.
>>> I believe that with the new credit scheduler these values are wrong as it
>>> is possible that the vcpu has time in RUNSTATE_running that was not
>>> actually spent on the currently running processor.  Is there a separate
>>> path through the libraries and into Xen that retrieves this information
>>> in a more correct manner?  Given that a vcpu can migrate among several
>>> physical processors in the time between samples it seems that a finer
>>> grained accounting mechanism is needed to correctly report physical
>>> utilization of the hardware resources.

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>