* Re: [PATCH] trace default?
2005-09-07 16:00 ` Mark Williamson
@ 2005-09-07 16:54 ` Mark Williamson
0 siblings, 0 replies; 5+ messages in thread
From: Mark Williamson @ 2005-09-07 16:54 UTC (permalink / raw)
To: xen-devel; +Cc: Rob Gardner
[-- Attachment #1: Type: text/plain, Size: 968 bytes --]
For arguments' sake I'm attaching a (build tested, hg import-able) changeset I
knocked up to unconditionally enable the trace buffer. The default size is
10 pages / online CPU (runtime configurable).
Cheers,
Mark
> > Yes, but they are likely to stick with the xen defaults unless they have
> > a reason for changing them. In the case of tracing, their reaction is
> > likely to be that "tracing" sounds like some debugging feature, will
> > probably be bad for performance, so let's leave it turned off. So could
> > you state what performance impact you think tracing will actually have
> > on the system?
>
> Trace buffers can be disabled on the commandline to avoid the memory
> overhead and the cost of calling the "trace" function itself via the
> TRACE_xD macros should not be measurable.
>
> Cheers,
> Mark
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
[-- Attachment #2: trace-enable.patch --]
[-- Type: text/x-diff, Size: 3907 bytes --]
# HG changeset patch
# User mark@maw48
# Node ID 4aac20cac3df65f412328384935ad631edc09fde
# Parent e991ec23c3181136bb78b761053a0a6ea641eac1
Unconditionally compile trace buffer support. Continue to default to
enable at boot (can disable manually if required).
Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
diff -r e991ec23c318 -r 4aac20cac3df xen/Rules.mk
--- a/xen/Rules.mk Wed Sep 7 12:49:52 2005
+++ b/xen/Rules.mk Wed Sep 7 16:50:27 2005
@@ -6,7 +6,6 @@
debug ?= n
perfc ?= n
perfc_arrays?= n
-trace ?= n
domu_debug ?= n
crash_debug ?= n
@@ -70,10 +69,6 @@
endif
endif
-ifeq ($(trace),y)
-CFLAGS += -DTRACE_BUFFER
-endif
-
CFLAGS := $(strip $(CFLAGS))
%.o: %.c $(HDRS) Makefile
diff -r e991ec23c318 -r 4aac20cac3df xen/arch/x86/vmx.c
--- a/xen/arch/x86/vmx.c Wed Sep 7 12:49:52 2005
+++ b/xen/arch/x86/vmx.c Wed Sep 7 16:50:27 2005
@@ -50,12 +50,8 @@
unsigned int opt_vmx_debug_level = 0;
integer_param("vmx_debug", opt_vmx_debug_level);
-#ifdef TRACE_BUFFER
static unsigned long trace_values[NR_CPUS][4];
#define TRACE_VMEXIT(index,value) trace_values[current->processor][index]=value
-#else
-#define TRACE_VMEXIT(index,value) ((void)0)
-#endif
#ifdef __x86_64__
static struct msr_state percpu_msr[NR_CPUS];
@@ -1813,7 +1809,6 @@
#endif
}
-#ifdef TRACE_BUFFER
asmlinkage void trace_vmentry (void)
{
TRACE_5D(TRC_VMENTRY,trace_values[current->processor][0],
@@ -1831,7 +1826,6 @@
TRACE_3D(TRC_VMEXIT,0,0,0);
return;
}
-#endif
#endif /* CONFIG_VMX */
/*
diff -r e991ec23c318 -r 4aac20cac3df xen/arch/x86/x86_32/entry.S
--- a/xen/arch/x86/x86_32/entry.S Wed Sep 7 12:49:52 2005
+++ b/xen/arch/x86/x86_32/entry.S Wed Sep 7 16:50:27 2005
@@ -126,9 +126,7 @@
ENTRY(vmx_asm_vmexit_handler)
/* selectors are restored/saved by VMX */
VMX_SAVE_ALL_NOSEGREGS
-#ifdef TRACE_BUFFER
call trace_vmexit
-#endif
call vmx_vmexit_handler
jmp vmx_asm_do_resume
@@ -150,9 +148,7 @@
/* vmx_restore_all_guest */
call vmx_intr_assist
call load_cr2
-#ifdef TRACE_BUFFER
call trace_vmentry
-#endif
.endif
VMX_RESTORE_ALL_NOSEGREGS
/*
diff -r e991ec23c318 -r 4aac20cac3df xen/common/Makefile
--- a/xen/common/Makefile Wed Sep 7 12:49:52 2005
+++ b/xen/common/Makefile Wed Sep 7 16:50:27 2005
@@ -9,10 +9,6 @@
OBJS := $(subst perfc.o,,$(OBJS))
endif
-ifneq ($(trace),y)
-OBJS := $(subst trace.o,,$(OBJS))
-endif
-
default: common.o
common.o: $(OBJS)
$(LD) $(LDFLAGS) -r -o common.o $(OBJS)
diff -r e991ec23c318 -r 4aac20cac3df xen/common/dom0_ops.c
--- a/xen/common/dom0_ops.c Wed Sep 7 12:49:52 2005
+++ b/xen/common/dom0_ops.c Wed Sep 7 16:50:27 2005
@@ -480,14 +480,12 @@
}
break;
-#ifdef TRACE_BUFFER
case DOM0_TBUFCONTROL:
{
ret = tb_control(&op->u.tbufcontrol);
copy_to_user(u_dom0_op, op, sizeof(*op));
}
break;
-#endif
case DOM0_READCONSOLE:
{
diff -r e991ec23c318 -r 4aac20cac3df xen/include/xen/trace.h
--- a/xen/include/xen/trace.h Wed Sep 7 12:49:52 2005
+++ b/xen/include/xen/trace.h Wed Sep 7 16:50:27 2005
@@ -22,8 +22,6 @@
#ifndef __XEN_TRACE_H__
#define __XEN_TRACE_H__
-
-#ifdef TRACE_BUFFER
#include <asm/page.h>
#include <xen/types.h>
@@ -120,17 +118,4 @@
#define TRACE_4D(event,d1,d2,d3,d4) trace_do_casts(event,d1,d2,d3,d4,0 )
#define TRACE_5D(event,d1,d2,d3,d4,d5) trace_do_casts(event,d1,d2,d3,d4,d5)
-#else
-
-#define init_trace_bufs() ((void)0)
-
-#define TRACE_0D(event) ((void)0)
-#define TRACE_1D(event,d) ((void)0)
-#define TRACE_2D(event,d1,d2) ((void)0)
-#define TRACE_3D(event,d1,d2,d3) ((void)0)
-#define TRACE_4D(event,d1,d2,d3,d4) ((void)0)
-#define TRACE_5D(event,d1,d2,d3,d4,d5) ((void)0)
-
-#endif /* TRACE_BUFFER */
-
#endif /* __XEN_TRACE_H__ */
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread