[PATCH] tracing: use assign_bit() where applicable
From: Peng Fan (OSS) <hidden>
Date: 2026-09-20 02:31:33
Also in:
lkml
Subsystem:
the rest, tracing · Maintainers:
Linus Torvalds, Steven Rostedt, Masami Hiramatsu
From: Peng Fan <peng.fan@nxp.com>
Convert open-coded if/else with set_bit/clear_bit the assign_bit API.
Done with Coccinelle semantic patch:
// set_bit -> clear_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- set_bit(bit, addr);
-else
- clear_bit(bit, addr);
+assign_bit(bit, addr, cond);
// clear_bit -> set_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- clear_bit(bit, addr);
-else
- set_bit(bit, addr);
+assign_bit(bit, addr, !cond);
// __set_bit -> __clear_bit => __assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- __set_bit(bit, addr);
-else
- __clear_bit(bit, addr);
+__assign_bit(bit, addr, cond);
// __clear_bit -> __set_bit => __assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- __clear_bit(bit, addr);
-else
- __set_bit(bit, addr);
+__assign_bit(bit, addr, !cond);
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
kernel/trace/trace_events.c | 12 ++++--------
kernel/trace/trace_events_trigger.c | 11 +++--------
kernel/trace/trace_events_user.c | 5 +----
3 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 30c0ddf90887..72a210da67d6 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c@@ -859,10 +859,8 @@ static int __ftrace_event_enable_disable(struct trace_event_file *file, WARN_ON_ONCE(ret); } /* If in soft mode, just set the SOFT_DISABLE_BIT, else clear it */ - if (soft_mode) - set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); - else - clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); + assign_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags, + soft_mode); break; case 1: /*
@@ -4273,10 +4271,8 @@ struct event_probe_data { static void update_event_probe(struct event_probe_data *data) { - if (data->enable) - clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); - else - set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); + assign_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags, + !data->enable); } static void
diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
index 4d2fde996c0f..3b5e14fd0dd9 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c@@ -674,10 +674,7 @@ void update_cond_flag(struct trace_event_file *file) } } - if (set_cond) - set_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); - else - clear_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); + assign_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags, set_cond); } /**
@@ -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); } 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);
--
2.51.0