Since perf is now able to deal with !rcu_is_watching() contexts,
remove the restraint.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
---
kernel/trace/trace_event_perf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/trace/trace_event_perf.c
+++ b/kernel/trace/trace_event_perf.c
@@ -477,7 +477,7 @@ static int perf_ftrace_function_register
{
struct ftrace_ops *ops = &event->ftrace_ops;
- ops->flags = FTRACE_OPS_FL_RCU;
+ ops->flags = 0;
ops->func = perf_ftrace_function_call;
ops->private = (void *)(unsigned long)nr_cpu_ids;
On (20/02/12 22:01), Peter Zijlstra wrote:
> Since perf is now able to deal with !rcu_is_watching() contexts,
> remove the restraint.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> ---
> kernel/trace/trace_event_perf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/kernel/trace/trace_event_perf.c
> +++ b/kernel/trace/trace_event_perf.c
> @@ -477,7 +477,7 @@ static int perf_ftrace_function_register
> {
> struct ftrace_ops *ops = &event->ftrace_ops;
>
> - ops->flags = FTRACE_OPS_FL_RCU;
> + ops->flags = 0;
FTRACE_OPS_FL_ENABLED?
-ss
On (20/02/14 11:28), Sergey Senozhatsky wrote:
> On (20/02/12 22:01), Peter Zijlstra wrote:
> > Since perf is now able to deal with !rcu_is_watching() contexts,
> > remove the restraint.
> >
> > Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> > ---
> > kernel/trace/trace_event_perf.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- a/kernel/trace/trace_event_perf.c
> > +++ b/kernel/trace/trace_event_perf.c
> > @@ -477,7 +477,7 @@ static int perf_ftrace_function_register
> > {
> > struct ftrace_ops *ops = &event->ftrace_ops;
> >
> > - ops->flags = FTRACE_OPS_FL_RCU;
> > + ops->flags = 0;
>
> FTRACE_OPS_FL_ENABLED?
No, never mind.
-ss
On Fri, 14 Feb 2020 11:42:45 +0900
Sergey Senozhatsky <[email protected]> wrote:
> > > +++ b/kernel/trace/trace_event_perf.c
> > > @@ -477,7 +477,7 @@ static int perf_ftrace_function_register
> > > {
> > > struct ftrace_ops *ops = &event->ftrace_ops;
> > >
> > > - ops->flags = FTRACE_OPS_FL_RCU;
> > > + ops->flags = 0;
> >
> > FTRACE_OPS_FL_ENABLED?
>
> No, never mind.
:-)
-- Steve
On 2/12/20 3:01 PM, Peter Zijlstra wrote:
> Since perf is now able to deal with !rcu_is_watching() contexts,
> remove the restraint.
>
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> ---
> kernel/trace/trace_event_perf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/kernel/trace/trace_event_perf.c
> +++ b/kernel/trace/trace_event_perf.c
> @@ -477,7 +477,7 @@ static int perf_ftrace_function_register
> {
> struct ftrace_ops *ops = &event->ftrace_ops;
>
> - ops->flags = FTRACE_OPS_FL_RCU;
> + ops->flags = 0;
> ops->func = perf_ftrace_function_call;
> ops->private = (void *)(unsigned long)nr_cpu_ids;
If this is the last user of the flag, should all remaining
FTRACE_OPS_FL_RCU references be removed, too?
Thanks,
Kim
On Fri, 14 Feb 2020 14:38:14 -0600
Kim Phillips <[email protected]> wrote:
> On 2/12/20 3:01 PM, Peter Zijlstra wrote:
> > Since perf is now able to deal with !rcu_is_watching() contexts,
> > remove the restraint.
> >
> > Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> > ---
> > kernel/trace/trace_event_perf.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- a/kernel/trace/trace_event_perf.c
> > +++ b/kernel/trace/trace_event_perf.c
> > @@ -477,7 +477,7 @@ static int perf_ftrace_function_register
> > {
> > struct ftrace_ops *ops = &event->ftrace_ops;
> >
> > - ops->flags = FTRACE_OPS_FL_RCU;
> > + ops->flags = 0;
> > ops->func = perf_ftrace_function_call;
> > ops->private = (void *)(unsigned long)nr_cpu_ids;
>
> If this is the last user of the flag, should all remaining
> FTRACE_OPS_FL_RCU references be removed, too?
Let's wait till Peter's patches goes through a merge cycle or two. I
want to make sure there's no other RCU issues that pop up before we
remove this infrastructure.
-- Steve