|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen: make tracebuffer configurable
Default: enabled.
Can be disabled for smaller code footprint.
Signed-off-by: Baodong Chen <chenbaodong@xxxxxxxxxx>
---
xen/common/Kconfig | 6 ++++++
xen/common/Makefile | 2 +-
xen/include/xen/trace.h | 18 +++++++++++++++++-
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index c838506..3a6eec8 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -368,4 +368,10 @@ config DOM0_MEM
Leave empty if you are not sure what to specify.
+config HAS_TRACEBUFFER
+ bool "Enable/Disable tracebuffer"
+ default y
+ ---help---
+ Enable or disable tracebuffer function.
+
endmenu
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bca48e6..86c5bf9 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -56,7 +56,7 @@ obj-y += sysctl.o
obj-y += tasklet.o
obj-y += time.o
obj-y += timer.o
-obj-y += trace.o
+obj-$(CONFIG_HAS_TRACEBUFFER) += trace.o
obj-y += version.o
obj-y += virtual_region.o
obj-y += vm_event.o
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index 12966ea..fb1a2bc 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -21,12 +21,14 @@
#ifndef __XEN_TRACE_H__
#define __XEN_TRACE_H__
-extern int tb_init_done;
#include <public/sysctl.h>
#include <public/trace.h>
#include <asm/trace.h>
+#ifdef CONFIG_HAS_TRACEBUFFER
+
+extern int tb_init_done;
/* Used to initialise trace buffer functionality */
void init_trace_bufs(void);
@@ -47,6 +49,20 @@ static inline void trace_var(u32 event, int cycles, int
extra,
void __trace_hypercall(uint32_t event, unsigned long op,
const xen_ulong_t *args);
+#else
+#define tb_init_done (0)
+static inline void init_trace_bufs(void) {}
+static inline int tb_control(struct xen_sysctl_tbuf_op *tbc) { return -ENOSYS;
}
+
+static inline int trace_will_trace_event(u32 event) { return 0; }
+static inline void trace_var(u32 event, int cycles, int extra,
+ const void *extra_data) {}
+static inline void __trace_var(u32 event, bool_t cycles, unsigned int extra,
+ const void *extra_data) {}
+static inline void __trace_hypercall(uint32_t event, unsigned long op,
+ const xen_ulong_t *args) {}
+#endif
+
/* Convenience macros for calling the trace function. */
#define TRACE_0D(_e) \
do { \
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |