Re: [PATCH] tracing: use assign_bit() where applicable
From: Peng Fan
Date: Mon Sep 21 2026 - 02:27:10 EST
On Sun, Sep 20, 2026 at 07:21:51AM -0400, Steven Rostedt wrote:
>On Sun, 20 Sep 2026 10:28:10 +0800
>"Peng Fan (OSS)" <peng.fan@xxxxxxxxxxx> wrote:
>
>> From: Peng Fan <peng.fan@xxxxxxx>
>>
>> Convert open-coded if/else with set_bit/clear_bit the assign_bit API.
>>
>> Done with Coccinelle semantic patch:
>> /**
>> @@ -1673,10 +1670,8 @@ event_enable_trigger(struct event_trigger_data *data,
>> {
>> struct enable_trigger_data *enable_data = data->private_data;
>>
>> - if (enable_data->enable)
>> - clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags);
>> - else
>> - set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags);
>> + assign_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags,
>> + !enable_data->enable);
>
>Ditto.
This will exceeds 100 columns. Should I keep as it is using two lines?
WARNING: line length of 101 exceeds 100 columns
#116: FILE: kernel/trace/trace_events_trigger.c:1673:
+ assign_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags, !enable_data->enable);
Thanks,
Peng
>
>Thanks,
>
>-- Steve
>
>> }
>>
>> static bool
>> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
>> index f658c3a77aa7..055894cb999c 100644
>> --- a/kernel/trace/trace_events_user.c
>> +++ b/kernel/trace/trace_events_user.c
>> @@ -590,10 +590,7 @@ static int user_event_enabler_write(struct user_event_mm *mm,
>> ptr = kaddr + (uaddr & ~PAGE_MASK);
>>
>> /* Update bit atomically, user tracers must be atomic as well */
>> - if (enabler->event && enabler->event->status)
>> - set_bit(bit, ptr);
>> - else
>> - clear_bit(bit, ptr);
>> + assign_bit(bit, ptr, enabler->event && enabler->event->status);
>>
>> kunmap_local(kaddr);
>> unpin_user_pages_dirty_lock(&page, 1, true);
>
>
>