The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v2 0/1] ftrace: add unit test for removing trace function
@ 2021-09-18 15:30 Carles Pey
  2021-09-18 15:30 ` [PATCH v2 1/1] " Carles Pey
  2021-09-19 16:11 ` [PATCH v2 0/1] " Steven Rostedt
  0 siblings, 2 replies; 4+ messages in thread
From: Carles Pey @ 2021-09-18 15:30 UTC (permalink / raw)
  To: Steven Rostedt, Ingo Molnar, linux-kernel; +Cc: Carles Pey

Hi,

This patch adds a basic startup self-test for removing a traced
function.

Being kallsyms_lookup_name made unexported there is no easy use of
ftrace_set_filter_ip from kernel modules, leaving with ftrace_set_filter
as the way to set trace functions. The ftrace_set_filter API is not
explicit on how to remove trace functions, and there is no such use case
either in the kernel source-tree for which I decided to add an example
of it use as a self-test.

Changes since v1:
 - Added changelog and sign-off line.

Carles Pey (1):
  ftrace: add unit test for removing trace function

 kernel/trace/trace_selftest.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

-- 
2.26.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/1] ftrace: add unit test for removing trace function
  2021-09-18 15:30 [PATCH v2 0/1] ftrace: add unit test for removing trace function Carles Pey
@ 2021-09-18 15:30 ` Carles Pey
  2021-10-11  2:21   ` Steven Rostedt
  2021-09-19 16:11 ` [PATCH v2 0/1] " Steven Rostedt
  1 sibling, 1 reply; 4+ messages in thread
From: Carles Pey @ 2021-09-18 15:30 UTC (permalink / raw)
  To: Steven Rostedt, Ingo Molnar, linux-kernel; +Cc: Carles Pey

A self test is provided for the trace function removal functionality.

Signed-off-by: Carles Pey <carles.pey@gmail.com>
---
 kernel/trace/trace_selftest.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
index adf7ef194005..875b4f1a0476 100644
--- a/kernel/trace/trace_selftest.c
+++ b/kernel/trace/trace_selftest.c
@@ -287,6 +287,40 @@ static int trace_selftest_ops(struct trace_array *tr, int cnt)
 	if (trace_selftest_test_probe3_cnt != 4)
 		goto out_free;
 
+	/* Remove trace function from probe 3 */
+	func1_name = "!" __stringify(DYN_FTRACE_TEST_NAME);
+	len1 = strlen(func1_name);
+
+	ftrace_set_filter(&test_probe3, func1_name, len1, 0);
+
+	DYN_FTRACE_TEST_NAME();
+
+	print_counts();
+
+	if (trace_selftest_test_probe1_cnt != 3)
+		goto out_free;
+	if (trace_selftest_test_probe2_cnt != 2)
+		goto out_free;
+	if (trace_selftest_test_probe3_cnt != 4)
+		goto out_free;
+	if (cnt > 1) {
+		if (trace_selftest_test_global_cnt == 0)
+			goto out_free;
+	}
+	if (trace_selftest_test_dyn_cnt == 0)
+		goto out_free;
+
+	DYN_FTRACE_TEST_NAME2();
+
+	print_counts();
+
+	if (trace_selftest_test_probe1_cnt != 3)
+		goto out_free;
+	if (trace_selftest_test_probe2_cnt != 3)
+		goto out_free;
+	if (trace_selftest_test_probe3_cnt != 5)
+		goto out_free;
+
 	ret = 0;
  out_free:
 	unregister_ftrace_function(dyn_ops);
-- 
2.26.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/1] ftrace: add unit test for removing trace function
  2021-09-18 15:30 [PATCH v2 0/1] ftrace: add unit test for removing trace function Carles Pey
  2021-09-18 15:30 ` [PATCH v2 1/1] " Carles Pey
@ 2021-09-19 16:11 ` Steven Rostedt
  1 sibling, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2021-09-19 16:11 UTC (permalink / raw)
  To: Carles Pey; +Cc: Ingo Molnar, linux-kernel

On Sat, 18 Sep 2021 19:30:42 +0400
Carles Pey <carles.pey@gmail.com> wrote:

> Hi,
> 
> This patch adds a basic startup self-test for removing a traced
> function.

Thanks for the patch, but note, because I'm highly involved in the
organization of Linux Plumbers that is taking place next week, I may
not have time to look at it for a couple of weeks.

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/1] ftrace: add unit test for removing trace function
  2021-09-18 15:30 ` [PATCH v2 1/1] " Carles Pey
@ 2021-10-11  2:21   ` Steven Rostedt
  0 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2021-10-11  2:21 UTC (permalink / raw)
  To: Carles Pey; +Cc: Ingo Molnar, linux-kernel

On Sat, 18 Sep 2021 19:30:43 +0400
Carles Pey <carles.pey@gmail.com> wrote:

> A self test is provided for the trace function removal functionality.

Thanks, I added it to my queue to be tested.

-- Steve

> 
> Signed-off-by: Carles Pey <carles.pey@gmail.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-10-11  2:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-18 15:30 [PATCH v2 0/1] ftrace: add unit test for removing trace function Carles Pey
2021-09-18 15:30 ` [PATCH v2 1/1] " Carles Pey
2021-10-11  2:21   ` Steven Rostedt
2021-09-19 16:11 ` [PATCH v2 0/1] " Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox