|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT PATCH] lib/ukdebug: expose trace buffer size to the menuconfig
Signed-off-by: Hugo Lefeuvre <hugo.lefeuvre@xxxxxxxxx>
---
lib/ukdebug/Config.uk | 8 +++++++-
lib/ukdebug/trace.c | 10 +++++-----
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/lib/ukdebug/Config.uk b/lib/ukdebug/Config.uk
index 96fce3a..c844d9a 100644
--- a/lib/ukdebug/Config.uk
+++ b/lib/ukdebug/Config.uk
@@ -78,10 +78,16 @@ config LIBUKDEBUG_ENABLE_ASSERT
menuconfig LIBUKDEBUG_TRACEPOINTS
bool "Enable tracepoints"
default n
+ help
+ Tracepoints are stored in an internal, fixed-size buffer. When the end
+ of the buffer is reached, tracing disables itself.
if LIBUKDEBUG_TRACEPOINTS
+config LIBUKDEBUG_TRACE_BUFFER_SIZE
+ int "Size of the trace buffer"
+ default 16384
+
config LIBUKDEBUG_ALL_TRACEPOINTS
bool "Enable all tracepoints at once"
default n
endif
-
endif
diff --git a/lib/ukdebug/trace.c b/lib/ukdebug/trace.c
index 91cc238..0a13581 100644
--- a/lib/ukdebug/trace.c
+++ b/lib/ukdebug/trace.c
@@ -35,13 +35,13 @@
#include <stddef.h>
#include <uk/essentials.h>
-/* TODO: Implement a circular buffer. Currently, if the buffer is
- * full, tracing disables itself.
+/* If the buffer is full, tracing disables itself.
+ * Using a circular buffer will not make it better: in any case, losing trace
+ * data is undesired and we should keep this as simple as possible.
*/
-#define UK_TRACE_BUFFER_SIZE 16384
-char uk_trace_buffer[UK_TRACE_BUFFER_SIZE];
+char uk_trace_buffer[CONFIG_LIBUKDEBUG_TRACE_BUFFER_SIZE];
-size_t uk_trace_buffer_free = UK_TRACE_BUFFER_SIZE;
+size_t uk_trace_buffer_free = CONFIG_LIBUKDEBUG_TRACE_BUFFER_SIZE;
char *uk_trace_buffer_writep = uk_trace_buffer;
--
2.7.4
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |