Re: [PATCH v3 01/12] smp: Disable preemption explicitly in __csd_lock_wait

From: Steven Rostedt

Date: Wed Mar 18 2026 - 10:18:16 EST


On Wed, 18 Mar 2026 12:56:27 +0800
"Chuyi Zhou" <zhouchuyi@xxxxxxxxxxxxx> wrote:

> The latter patches will enable preemption before csd_lock_wait(), which
> could break csdlock_debug. Because the slice of other tasks on the CPU may
> be accounted between ktime_get_mono_fast_ns() calls. Disable preemption
> explicitly in __csd_lock_wait(). This is a preparation for the next
> patches.
>
> Signed-off-by: Chuyi Zhou <zhouchuyi@xxxxxxxxxxxxx>
> Acked-by: Muchun Song <muchun.song@xxxxxxxxx>

Reviewed-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

-- Steve

> ---
> kernel/smp.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/smp.c b/kernel/smp.c
> index f349960f79ca..fc1f7a964616 100644
> --- a/kernel/smp.c
> +++ b/kernel/smp.c
> @@ -323,6 +323,8 @@ static void __csd_lock_wait(call_single_data_t *csd)
> int bug_id = 0;
> u64 ts0, ts1;
>
> + guard(preempt)();
> +
> ts1 = ts0 = ktime_get_mono_fast_ns();
> for (;;) {
> if (csd_lock_wait_toolong(csd, ts0, &ts1, &bug_id, &nmessages))