From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH] xen tracing: Allow tracing to be enabled at boot Date: Thu, 30 Jun 2011 11:45:30 +0100 Message-ID: <48d08dc25c71b2e5f25f.1309430730@elijah> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: george.dunlap@eu.citrix.com List-Id: xen-devel@lists.xenproject.org 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 diff -r 33717472f37e -r 48d08dc25c71 xen/common/trace.c --- a/xen/common/trace.c Tue Jun 28 18:15:44 2011 +0100 +++ b/xen/common/trace.c Thu Jun 30 11:37:20 2011 +0100 @@ -45,7 +45,9 @@ CHECK_t_buf; /* 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 @@ void __init init_trace_bufs(void) { 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; + } } }