Mailing List Archive

[PATCH 4 of 6 v2] xen: tracing: report where a VCPU wakes up
When looking at traces, it turns out to be useful to know where a
waking-up VCPU is being queued. Yes, that is always the CPU where
it ran last, but that information can well be lost in past trace
records!

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -371,7 +371,7 @@ void vcpu_wake(struct vcpu *v)

vcpu_schedule_unlock_irqrestore(v, flags);

- TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id);
+ TRACE_3D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id, v->processor);
}

void vcpu_unblock(struct vcpu *v)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH 4 of 6 v2] xen: tracing: report where a VCPU wakes up [ In reply to ]
On 12/12/12 02:52, Dario Faggioli wrote:
> When looking at traces, it turns out to be useful to know where a
> waking-up VCPU is being queued. Yes, that is always the CPU where
> it ran last, but that information can well be lost in past trace
> records!

When you say "lost in past trace records", do you primarily mean that
the records themselves have been lost (due to the per-cpu trace buffers
filling up), or do you mean that it may be way way back and you don't
want to go back and find it?

If the latter, I think the best thing to do would be to just augment
xenalyze to keep track of that information and print it when it sees the
wake record.

-George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH 4 of 6 v2] xen: tracing: report where a VCPU wakes up [ In reply to ]
On Fri, 2012-12-14 at 19:57 +0000, George Dunlap wrote:
> On 12/12/12 02:52, Dario Faggioli wrote:
> > When looking at traces, it turns out to be useful to know where a
> > waking-up VCPU is being queued. Yes, that is always the CPU where
> > it ran last, but that information can well be lost in past trace
> > records!
>
> When you say "lost in past trace records", do you primarily mean that
> the records themselves have been lost (due to the per-cpu trace buffers
> filling up), or do you mean that it may be way way back and you don't
> want to go back and find it?
>
The latter... I'm quite lazy when looking at traces! :-P

> If the latter, I think the best thing to do would be to just augment
> xenalyze to keep track of that information and print it when it sees the
> wake record.
>
I agree, I'll kill this patch for now, and investigate further solution
along the line you suggested in the future.

Thanks and Regards,
Dario

--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)