All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
To: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: linux-kernel@vger.kernel.org, rostedt@goodmis.org,
	rcu@vger.kernel.org, kernel-dev@igalia.com, kernel@gpiccoli.net,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH] ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels
Date: Wed, 16 Nov 2022 15:36:20 +0900	[thread overview]
Message-ID: <20221116153620.353819e9c6acb1bf39adeca2@kernel.org> (raw)
In-Reply-To: <20221115204847.593616-1-gpiccoli@igalia.com>

On Tue, 15 Nov 2022 17:48:47 -0300
"Guilherme G. Piccoli" <gpiccoli@igalia.com> wrote:

> The function match_records() may take a while due to a large
> number of string comparisons, so when in PREEMPT_VOLUNTARY
> kernels we could face RCU stalls due to that.
> 
> Add a cond_resched() to prevent that.
> 
> Suggested-by: Steven Rostedt <rostedt@goodmis.org>
> Acked-by: Paul E. McKenney <paulmck@kernel.org> # from RCU CPU stall warning perspective
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>

This looks good to me.

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

Thanks!

> ---
> 
> Hi Steve / Paul, thanks for the discussions on the first thread [0],
> much appreciated! Here is the "official" version.
> 
> Steve: lemme know if it's good for you, and in case you prefer to
> send it yourself (since you proposed it on IRC), fine by me!
> 
> Paul: kept your ACK (thanks for that BTW) even though I changed the
> place of cond_resched() to align with Steve's preference. Lemme know
> in case you want to drop this ACK.
> 
> Cheers,
> 
> Guilherme
> 
> 
> [0] https://lore.kernel.org/lkml/1ef5fe19-a82f-835e-fda5-455e9c2b94b4@igalia.com/
> 
> 
>  kernel/trace/ftrace.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 7dc023641bf1..80639bdb85f6 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -4192,6 +4192,7 @@ match_records(struct ftrace_hash *hash, char *func, int len, char *mod)
>  			}
>  			found = 1;
>  		}
> +		cond_resched();
>  	} while_for_each_ftrace_rec();
>   out_unlock:
>  	mutex_unlock(&ftrace_lock);
> -- 
> 2.38.0
> 


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

  reply	other threads:[~2022-11-16  6:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-15 20:48 [PATCH] ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels Guilherme G. Piccoli
2022-11-16  6:36 ` Masami Hiramatsu [this message]
2022-11-16 12:45   ` Guilherme G. Piccoli
2022-11-22 13:16   ` Guilherme G. Piccoli
2022-11-22 15:49     ` Steven Rostedt
2022-11-22 17:21       ` Guilherme G. Piccoli
2022-12-13 22:04   ` Guilherme G. Piccoli
2022-12-13 22:34     ` Steven Rostedt
2022-12-13 23:41       ` Guilherme G. Piccoli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221116153620.353819e9c6acb1bf39adeca2@kernel.org \
    --to=mhiramat@kernel.org \
    --cc=gpiccoli@igalia.com \
    --cc=kernel-dev@igalia.com \
    --cc=kernel@gpiccoli.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.