[PATCH] ring-buffer: Removed unnecessary if() goto out where out is the next line

Steven Rostedt posted 1 patch 6 months, 3 weeks ago
kernel/trace/ring_buffer.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
[PATCH] ring-buffer: Removed unnecessary if() goto out where out is the next line
Posted by Steven Rostedt 6 months, 3 weeks ago
From: Steven Rostedt <rostedt@goodmis.org>

In the function ring_buffer_discard_commit() there's an if statement that
jumps to the next line:

	if (rb_try_to_discard(cpu_buffer, event))
		goto out;
 out:

This was caused by the change that modified the way timestamps were taken
in interrupt context, and removed the code between the if statement and
the goto, but failed to update the conditional logic.

Fixes: a389d86f7fd0 ("ring-buffer: Have nested events still record running time stamp")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 kernel/trace/ring_buffer.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index e2aa90dc8d9e..0a3be3a01d14 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -4681,10 +4681,7 @@ void ring_buffer_discard_commit(struct trace_buffer *buffer,
 	RB_WARN_ON(buffer, !local_read(&cpu_buffer->committing));
 
 	rb_decrement_entry(cpu_buffer, event);
-	if (rb_try_to_discard(cpu_buffer, event))
-		goto out;
-
- out:
+	rb_try_to_discard(cpu_buffer, event);
 	rb_end_commit(cpu_buffer);
 
 	trace_recursive_unlock(cpu_buffer);
-- 
2.47.2
Re: [PATCH] ring-buffer: Removed unnecessary if() goto out where out is the next line
Posted by Masami Hiramatsu (Google) 6 months, 3 weeks ago
On Tue, 27 May 2025 15:51:16 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: Steven Rostedt <rostedt@goodmis.org>
> 
> In the function ring_buffer_discard_commit() there's an if statement that
> jumps to the next line:
> 
> 	if (rb_try_to_discard(cpu_buffer, event))
> 		goto out;
>  out:
> 
> This was caused by the change that modified the way timestamps were taken
> in interrupt context, and removed the code between the if statement and
> the goto, but failed to update the conditional logic.
> 

OK, so this is a kind of cleanup.

Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks,

> Fixes: a389d86f7fd0 ("ring-buffer: Have nested events still record running time stamp")
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  kernel/trace/ring_buffer.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index e2aa90dc8d9e..0a3be3a01d14 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -4681,10 +4681,7 @@ void ring_buffer_discard_commit(struct trace_buffer *buffer,
>  	RB_WARN_ON(buffer, !local_read(&cpu_buffer->committing));
>  
>  	rb_decrement_entry(cpu_buffer, event);
> -	if (rb_try_to_discard(cpu_buffer, event))
> -		goto out;
> -
> - out:
> +	rb_try_to_discard(cpu_buffer, event);
>  	rb_end_commit(cpu_buffer);
>  
>  	trace_recursive_unlock(cpu_buffer);
> -- 
> 2.47.2
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH] ring-buffer: Removed unnecessary if() goto out where out is the next line
Posted by Steven Rostedt 6 months, 3 weeks ago
On Wed, 28 May 2025 09:34:55 +0900
Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:

> OK, so this is a kind of cleanup.

Correct, which is why I only added a "Fixes" tag but not a "stable" tag.

If someone wants to backport this, let them ;-)

> 
> Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks,

-- Steve

> 
> Thanks,
> 
> > Fixes: a389d86f7fd0 ("ring-buffer: Have nested events still record running time stamp")
> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>