|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] LTTng Xen port
To: |
Mathieu Desnoyers <compudj@xxxxxxxxxxxxxxxxxx> |
Subject: |
Re: [Xen-devel] LTTng Xen port |
From: |
Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> |
Date: |
Wed, 13 Dec 2006 13:25:57 +1100 |
Cc: |
Jimi Xenidis <jimix@xxxxxxxxxxxxxx>, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Robert Wisniewski <bob@xxxxxxxxxxxxxx>, michel.dagenais@xxxxxxxxxx, Rob Gardner <rob.gardner@xxxxxx> |
Delivery-date: |
Tue, 12 Dec 2006 18:26:22 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20061212221401.GA18277@Krystal> |
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> |
Mail-followup-to: |
Mathieu Desnoyers <compudj@xxxxxxxxxxxxxxxxxx>, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, Jimi Xenidis <jimix@xxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Robert Wisniewski <bob@xxxxxxxxxxxxxx>, michel.dagenais@xxxxxxxxxx, Rob Gardner <rob.gardner@xxxxxx> |
References: |
<20061212172923.GA24883@Krystal> <8A87A9A84C201449A0C56B728ACF491E04EE80@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <20061212221401.GA18277@Krystal> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Mutt/1.5.9i |
On Tue, Dec 12, 2006 at 05:14:02PM -0500, Mathieu Desnoyers wrote:
> As from the current mercurial tree :
> http://lxr.xensource.com/lxr/source/tools/xentrace/xentrace.c
>
> int monitor_tbufs(FILE *logfile)
> 310 /* now, scan buffers for events */
> 311 while ( !interrupted )
> 312 {
> 313 for ( i = 0; (i < num) && !interrupted; i++ )
> 314 {
> 315 while ( meta[i]->cons != meta[i]->prod )
> 316 {
> 317 rmb(); /* read prod, then read item. */
> 318 write_rec(i, data[i] + meta[i]->cons % size_in_recs,
> logfile);
> 319 mb(); /* read item, then update cons. */
> 320 meta[i]->cons++;
> 321 }
> 322 }
> 323
> 324 nanosleep(&opts.poll_sleep, NULL);
> 325 }
>
> So it seems like the implementation must be hiding either in someone's head or
> in his mercurial tree. :)
I suspect that xenbaked uses it,
http://lxr.xensource.com/lxr/source/tools/xenmon/xenbaked.c
---
262 int eventchn_init(void)
263 {
264 int rc;
265
266 // to revert to old way:
267 if (0)
268 return -1;
269
270 xce_handle = xc_evtchn_open();
271
272 if (xce_handle < 0)
273 perror("Failed to open evtchn device");
274
275 if ((rc = xc_evtchn_bind_virq(xce_handle, VIRQ_TBUF)) == -1)
276 perror("Failed to bind to domain exception virq port");
277 virq_port = rc;
278
279 return xce_handle;
280 }
---
With appropriate triggering, in xen/common/trace.c
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2007.linux.org.au/
Jan 15-20 2007 The Australian Linux Technical Conference!
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|