summaryrefslogtreecommitdiff
path: root/drivers/clk/sunxi-ng/ccu_common.c
diff options
context:
space:
mode:
authorMarco Elver <elver@google.com>2024-05-02 17:12:17 +0300
committerPaul E. McKenney <paulmck@kernel.org>2024-05-07 21:39:50 +0300
commit31f605a308e627f06e4e6ab77254473f1c90f0bf (patch)
tree40f60c986dd9199d0c12cc967206130237cca3aa /drivers/clk/sunxi-ng/ccu_common.c
parent39cd87c4eb2b893354f3b850f916353f2658ae6f (diff)
downloadlinux-31f605a308e627f06e4e6ab77254473f1c90f0bf.tar.xz
kcsan, compiler_types: Introduce __data_racy type qualifier
Based on the discussion at [1], it would be helpful to mark certain variables as explicitly "data racy", which would result in KCSAN not reporting data races involving any accesses on such variables. To do that, introduce the __data_racy type qualifier: struct foo { ... int __data_racy bar; ... }; In KCSAN-kernels, __data_racy turns into volatile, which KCSAN already treats specially by considering them "marked". In non-KCSAN kernels the type qualifier turns into no-op. The generated code between KCSAN-instrumented kernels and non-KCSAN kernels is already huge (inserted calls into runtime for every memory access), so the extra generated code (if any) due to volatile for few such __data_racy variables are unlikely to have measurable impact on performance. Link: https://lore.kernel.org/all/CAHk-=wi3iondeh_9V2g3Qz5oHTRjLsOpoy83hb58MVh=nRZe0A@mail.gmail.com/ [1] Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Marco Elver <elver@google.com> Cc: Paul E. McKenney <paulmck@kernel.org> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'drivers/clk/sunxi-ng/ccu_common.c')
0 files changed, 0 insertions, 0 deletions