# HG changeset patch
# User George Dunlap <george.dunlap@xxxxxxxxxxxxx>
# Date 1309548678 -3600
# Node ID 335e96664589dd14dfce7ef72e3fee71ad9c39e3
# Parent dc5bc760ec2f18976b09c271d398f4f44281087e
xentrace: Allow tracing to be enabled at boot
Add a "tevt_mask" parameter to the xen command-line, allowing
trace records to be gathered early in boot. They will be placed
into the trace buffers, and read when the user runs "xentrace".
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
diff -r dc5bc760ec2f -r 335e96664589 xen/common/trace.c
--- a/xen/common/trace.c Fri Jul 01 20:29:35 2011 +0100
+++ b/xen/common/trace.c Fri Jul 01 20:31:18 2011 +0100
@@ -45,7 +45,9 @@
/* opt_tbuf_size: trace buffer size (in pages) for each cpu */
static unsigned int opt_tbuf_size;
+static unsigned int opt_tevt_mask;
integer_param("tbuf_size", opt_tbuf_size);
+integer_param("tevt_mask", opt_tevt_mask);
/* Pointers to the meta-data objects for all system trace buffers */
static struct t_info *t_info;
@@ -338,11 +340,21 @@
{
register_cpu_notifier(&cpu_nfb);
- if ( opt_tbuf_size && alloc_trace_bufs(opt_tbuf_size) )
+ if ( opt_tbuf_size )
{
- printk(XENLOG_INFO "xentrace: allocation size %d failed, disabling\n",
- opt_tbuf_size);
- opt_tbuf_size = 0;
+ if ( alloc_trace_bufs(opt_tbuf_size) )
+ {
+ printk("xentrace: allocation size %d failed, disabling\n",
+ opt_tbuf_size);
+ opt_tbuf_size = 0;
+ }
+ else if ( opt_tevt_mask )
+ {
+ printk("xentrace: Starting tracing, enabling mask %x\n",
+ opt_tevt_mask);
+ tb_event_mask = opt_tevt_mask;
+ tb_init_done=1;
+ }
}
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|