Re: [PATCH 04/13] tracing: Rename kvfree_rcu() to kvfree_rcu_mightsleep()

From: Joel Fernandes
Date: Thu Mar 16 2023 - 14:01:49 EST




> On Mar 16, 2023, at 1:58 PM, Uladzislau Rezki <urezki@xxxxxxxxx> wrote:
>
> On Wed, Mar 15, 2023 at 06:36:48PM -0400, Steven Rostedt wrote:
>> On Thu, 9 Mar 2023 14:45:21 +0100
>> Uladzislau Rezki <urezki@xxxxxxxxx> wrote:
>>
>>>> The kvfree_rcu()'s single argument name is deprecated therefore
>>>> rename it to kvfree_rcu_mightsleep() variant. The goal is explicitly
>>>> underline that it is for sleepable contexts.
>>>>
>>>> Cc: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
>>>> Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
>>>>
>>> Could you please add you reviwed-by or Acked-by tags so we can bring
>>> our series with renaming for the next merge window?
>>
>> I don't know. Perhaps we should just apply this patch and not worry about
>> sleeping and whatnot.
>>
>> -- Steve
>>
>> diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
>> index 04f0fdae19a1..5de945a8f61d 100644
>> --- a/kernel/trace/trace_osnoise.c
>> +++ b/kernel/trace/trace_osnoise.c
>> @@ -76,6 +76,7 @@ static unsigned long osnoise_options = OSN_DEFAULT_OPTIONS;
>> struct osnoise_instance {
>> struct list_head list;
>> struct trace_array *tr;
>> + struct rcu_head rcu;
>> };
>>
>> static struct list_head osnoise_instances;
>> @@ -159,7 +160,7 @@ static void osnoise_unregister_instance(struct trace_array *tr)
>> if (!found)
>> return;
>>
>> - kvfree_rcu(inst);
>> + kvfree_rcu(inst, rcu);
>> }
>>
>> /*
>> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
>> index 20d0c4a97633..ef5fafb40c76 100644
>> --- a/kernel/trace/trace_probe.c
>> +++ b/kernel/trace/trace_probe.c
>> @@ -1172,7 +1172,7 @@ int trace_probe_remove_file(struct trace_probe *tp,
>> return -ENOENT;
>>
>> list_del_rcu(&link->list);
>> - kvfree_rcu(link);
>> + kvfree_rcu(link, rcu);
>>
>> if (list_empty(&tp->event->files))
>> trace_probe_clear_flag(tp, TP_FLAG_TRACE);
>> diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h
>> index ef8ed3b65d05..e6037752dcf0 100644
>> --- a/kernel/trace/trace_probe.h
>> +++ b/kernel/trace/trace_probe.h
>> @@ -256,6 +256,7 @@ struct trace_probe {
>> struct event_file_link {
>> struct trace_event_file *file;
>> struct list_head list;
>> + struct rcu_head rcu;
>> };
>>
>> static inline bool trace_probe_test_flag(struct trace_probe *tp,
>>
> Anyway i do not see any problems with it
>
> Acked-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>

Just to clarify, we are dropping the original patch and instead taking Steves version?

If so, Steve please send a patch when you are able to and with Vlads Ack,
we can take it via the RCU tree if that is Ok with you.

Thanks,

- Joel


>
> --
> Uladzislau Rezki