[PATCH 01/11] smp: Disable preemption explicitly in __csd_lock_wait

Chuyi Zhou posted 11 patches 6 days, 20 hours ago
[PATCH 01/11] smp: Disable preemption explicitly in __csd_lock_wait
Posted by Chuyi Zhou 6 days, 20 hours ago
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@bytedance.com>
---
 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))
-- 
2.20.1
Re: [PATCH 01/11] smp: Disable preemption explicitly in __csd_lock_wait
Posted by Muchun Song 5 days, 1 hour ago

> On Feb 3, 2026, at 19:23, Chuyi Zhou <zhouchuyi@bytedance.com> 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@bytedance.com>

Acked-by: Muchun Song <muchun.song@linux.dev>

Thanks.