diff mbox series

[V2,2/6] rtla/osnoise: Add OSNOISE_IRQ_DISABLE option

Message ID d374f5a6453ee54549fea44efee78b4dee646757.1675181734.git.bristot@kernel.org (mailing list archive)
State Superseded
Headers show
Series rtla: Add hwnoise tool | expand

Commit Message

Daniel Bristot de Oliveira Jan. 31, 2023, 4:30 p.m. UTC
Add OSNOISE_IRQ_DISABLE to the set of possible options in the osnoise
context. Do not use it yet.

In preparation for the hwnoise tool.

Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org>
Cc: Daniel Bristot de Oliveira <bristot@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jonathan Corbet <corbet@lwn.net>
---
 tools/tracing/rtla/src/osnoise.c | 6 ++++++
 tools/tracing/rtla/src/osnoise.h | 6 ++++++
 2 files changed, 12 insertions(+)
diff mbox series

Patch

diff --git a/tools/tracing/rtla/src/osnoise.c b/tools/tracing/rtla/src/osnoise.c
index 050a9997191c..6bf877ed8a77 100644
--- a/tools/tracing/rtla/src/osnoise.c
+++ b/tools/tracing/rtla/src/osnoise.c
@@ -842,6 +842,8 @@  static void osnoise_put_##name(struct osnoise_context *context)				\
 	context->orig_opt_##name = OSNOISE_OPTION_INIT_VAL;				\
 }
 
+OSNOISE_OPTION(irq_disable, "OSNOISE_IRQ_DISABLE");
+
 /*
  * enable_osnoise - enable osnoise tracer in the trace_instance
  */
@@ -906,6 +908,9 @@  struct osnoise_context *osnoise_context_alloc(void)
 	context->orig_tracing_thresh	= OSNOISE_OPTION_INIT_VAL;
 	context->tracing_thresh		= OSNOISE_OPTION_INIT_VAL;
 
+	context->orig_opt_irq_disable	= OSNOISE_OPTION_INIT_VAL;
+	context->opt_irq_disable	= OSNOISE_OPTION_INIT_VAL;
+
 	osnoise_get_context(context);
 
 	return context;
@@ -932,6 +937,7 @@  void osnoise_put_context(struct osnoise_context *context)
 	osnoise_put_timerlat_period_us(context);
 	osnoise_put_print_stack(context);
 	osnoise_put_tracing_thresh(context);
+	osnoise_put_irq_disable(context);
 
 	free(context);
 }
diff --git a/tools/tracing/rtla/src/osnoise.h b/tools/tracing/rtla/src/osnoise.h
index 04a4384cc544..5bb0dc998f58 100644
--- a/tools/tracing/rtla/src/osnoise.h
+++ b/tools/tracing/rtla/src/osnoise.h
@@ -38,6 +38,10 @@  struct osnoise_context {
 	/* -1 as init value because 0 is disabled */
 	long long		orig_print_stack;
 	long long		print_stack;
+
+	/* -1 as init value because 0 is off */
+	int			orig_opt_irq_disable;
+	int			opt_irq_disable;
 };
 
 /*
@@ -79,6 +83,8 @@  void osnoise_restore_print_stack(struct osnoise_context *context);
 int osnoise_set_print_stack(struct osnoise_context *context,
 			    long long print_stack);
 
+int osnoise_set_irq_disable(struct osnoise_context *context, bool onoff);
+
 /*
  * osnoise_tool -  osnoise based tool definition.
  */