[PATCH sched_ext/for-7.1-fixes] selftests/sched_ext: Fix build error in dequeue selftest

Andrea Righi posted 1 patch 1 month ago
tools/testing/selftests/sched_ext/dequeue.c | 1 +
1 file changed, 1 insertion(+)
[PATCH sched_ext/for-7.1-fixes] selftests/sched_ext: Fix build error in dequeue selftest
Posted by Andrea Righi 1 month ago
Building the dequeue selftest with newer compilers (e.g., gcc 16)
triggers the following error:

 dequeue.c:28:22: error: variable 'sum' set but not used

The 'volatile' qualifier prevents the writes from being optimized away,
but does not silence the unused variable 'sum' is indeed only written
and never read.

Consume 'sum' via an empty asm() with a register input constraint. This
forces the compiler to keep the accumulated value (preserving the CPU
stress loop) and avoiding the build error.

Fixes: 658ad2259b3e ("selftests/sched_ext: Add test to validate ops.dequeue() semantics")
Signed-off-by: Andrea Righi <arighi@nvidia.com>
---
 tools/testing/selftests/sched_ext/dequeue.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/sched_ext/dequeue.c b/tools/testing/selftests/sched_ext/dequeue.c
index 4e93262703ca8..383d06e972a46 100644
--- a/tools/testing/selftests/sched_ext/dequeue.c
+++ b/tools/testing/selftests/sched_ext/dequeue.c
@@ -33,6 +33,7 @@ static void worker_fn(int id)
 		/* Do some work to trigger scheduling events */
 		for (j = 0; j < 10000; j++)
 			sum += j;
+		asm volatile("" : : "r"(sum));
 
 		/* Sleep to trigger dequeue */
 		usleep(1000 + (id * 100));
-- 
2.54.0
Re: [PATCH sched_ext/for-7.1-fixes] selftests/sched_ext: Fix build error in dequeue selftest
Posted by Tejun Heo 1 month ago
Hello,

Applied to sched_ext/for-7.1-fixes.

Thanks.

--
tejun