From 39f710136ef78e6b9e7e95e4e2f93045929f12e5 Mon Sep 17 00:00:00 2001 From: TaiJu Wu Date: Sat, 17 Feb 2024 01:06:16 +0800 Subject: [PATCH] sched: finalize_cancel_locked can early return The code `SYS_SLIST_FOR_EACH_CONTAINER_SAFE` just for remove work from `pending_cancels`. After removing work successfully, the function can return early. It is unnecessary to iterate continuously. Signed-off-by: TaiJu Wu --- kernel/work.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/work.c b/kernel/work.c index 11498c186d2..269e73465cb 100644 --- a/kernel/work.c +++ b/kernel/work.c @@ -141,9 +141,9 @@ static void finalize_cancel_locked(struct k_work *work) if (wc->work == work) { sys_slist_remove(&pending_cancels, prev, &wc->node); k_sem_give(&wc->sem); - } else { - prev = &wc->node; + break; } + prev = &wc->node; } }