Hi, All: I was following the article here to plot the scheduler execution trace. http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/ I was able to get the trace and plot it, however, the trace for IDLE VCPU is skipped. This makes it harder to understand the scheduler behavior (For example, cap in credit). Does anyone know how to get the data for the IDLE VCPU when using xenalyze --scatterplot-pcpu? Thanks very much! Sisu -- Sisu Xi, PhD Candidate http://www.cse.wustl.edu/~xis/ Department of Computer Science and Engineering Campus Box 1045 Washington University in St. Louis One Brookings Drive St. Louis, MO 63130
Dario Faggioli
2013-Mar-27 02:15 UTC
Re: trace IDLE VCPU using xenalyze --scatterplot-pcpu?
On mar, 2013-03-26 at 14:12 -0500, Sisu Xi wrote:> Hi, All: >Hi Sisu!> I was following the article here to plot the scheduler execution trace. > http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/ > > I was able to get the trace and plot it, >EhEh, glad it was helpful! :-P> however, the trace for IDLE > VCPU is skipped. This makes it harder to understand the scheduler > behavior (For example, cap in credit). >Mmmm... I think I see what you mean.> Does anyone know how to get the data for the IDLE VCPU when using > xenalyze --scatterplot-pcpu? >Well, I double-checked and it is true that, at least here, --scatterplot-pcpu does not show the vCPUs of the idle domain. One could probably try to understand when they''re scheduled by looking at when _no_other_ vCPU of any other domain runs on a particular pCPU (and considering that the idle domain has one vCPU pinned to each pCPU), but that would be quite unpractical I guess... Perhaps you can achieve something similar to what you need by looking for/plotting the runstate changes for the vCPUs of the idle domain (i.e., 32767vXX from `xenalyze --scatterplot-runstate'') ? George, any other ideas? Regards, Dario -- <<This happens because I choose it to happen!>> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
George Dunlap
2013-Mar-27 10:23 UTC
Re: trace IDLE VCPU using xenalyze --scatterplot-pcpu?
On 27/03/13 02:15, Dario Faggioli wrote:> On mar, 2013-03-26 at 14:12 -0500, Sisu Xi wrote: >> Hi, All: >> > Hi Sisu! > >> I was following the article here to plot the scheduler execution trace. >> http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/ >> >> I was able to get the trace and plot it, >> > EhEh, glad it was helpful! :-P > >> however, the trace for IDLE >> VCPU is skipped. This makes it harder to understand the scheduler >> behavior (For example, cap in credit). >> > Mmmm... I think I see what you mean. > >> Does anyone know how to get the data for the IDLE VCPU when using >> xenalyze --scatterplot-pcpu? >> > Well, I double-checked and it is true that, at least here, > --scatterplot-pcpu does not show the vCPUs of the idle domain. One could > probably try to understand when they''re scheduled by looking at when > _no_other_ vCPU of any other domain runs on a particular pCPU (and > considering that the idle domain has one vCPU pinned to each pCPU), but > that would be quite unpractical I guess... > > Perhaps you can achieve something similar to what you need by looking > for/plotting the runstate changes for the vCPUs of the idle domain > (i.e., 32767vXX from `xenalyze --scatterplot-runstate'') ? > > George, any other ideas?Well, I always intendended xenalyze to be a tool you could modify to add functionality as-needed; more like a library of useful analytical functions than a finished product. --scatterplot-pcpu doesn''t show vcpus of the idle domain because I found it extraneous and confusing, so I excluded it: if ( opt.scatterplot_pcpu && next->d->did != IDLE_DOMAIN && next->d->did != DEFAULT_DOMAIN ) { If you just want to make the change locally, you can just take out the one line about the IDLE_DOMAIN. I''d be happy to take a patch to xenalyze to add an option to show the idle domain as well. (Maybe "--with-idle-domain" as a general way to say, ''don''t exclude the idle domain from the output''?) -George
Hi, Dario and George: Thanks for your quick reply and help! I comments out the line and got the trace for IDLE Domain. :) Sisu On Wed, Mar 27, 2013 at 5:23 AM, George Dunlap <george.dunlap@eu.citrix.com> wrote:> On 27/03/13 02:15, Dario Faggioli wrote: >> >> On mar, 2013-03-26 at 14:12 -0500, Sisu Xi wrote: >>> >>> Hi, All: >>> >> Hi Sisu! >> >>> I was following the article here to plot the scheduler execution trace. >>> >>> http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/ >>> >>> I was able to get the trace and plot it, >>> >> EhEh, glad it was helpful! :-P >> >>> however, the trace for IDLE >>> VCPU is skipped. This makes it harder to understand the scheduler >>> behavior (For example, cap in credit). >>> >> Mmmm... I think I see what you mean. >> >>> Does anyone know how to get the data for the IDLE VCPU when using >>> xenalyze --scatterplot-pcpu? >>> >> Well, I double-checked and it is true that, at least here, >> --scatterplot-pcpu does not show the vCPUs of the idle domain. One could >> probably try to understand when they''re scheduled by looking at when >> _no_other_ vCPU of any other domain runs on a particular pCPU (and >> considering that the idle domain has one vCPU pinned to each pCPU), but >> that would be quite unpractical I guess... >> >> Perhaps you can achieve something similar to what you need by looking >> for/plotting the runstate changes for the vCPUs of the idle domain >> (i.e., 32767vXX from `xenalyze --scatterplot-runstate'') ? >> >> George, any other ideas? > > > Well, I always intendended xenalyze to be a tool you could modify to add > functionality as-needed; more like a library of useful analytical functions > than a finished product. --scatterplot-pcpu doesn''t show vcpus of the idle > domain because I found it extraneous and confusing, so I excluded it: > > if ( opt.scatterplot_pcpu > && next->d->did != IDLE_DOMAIN > && next->d->did != DEFAULT_DOMAIN ) > { > > If you just want to make the change locally, you can just take out the one > line about the IDLE_DOMAIN. I''d be happy to take a patch to xenalyze to add > an option to show the idle domain as well. (Maybe "--with-idle-domain" as a > general way to say, ''don''t exclude the idle domain from the output''?) > > -George-- Sisu Xi, PhD Candidate http://www.cse.wustl.edu/~xis/ Department of Computer Science and Engineering Campus Box 1045 Washington University in St. Louis One Brookings Drive St. Louis, MO 63130