[$] Concurrency bugs should fear the big bad data-race detector (part 2) In
part 1 of this article, we gave an overview of the
Kernel Concurrency
Sanitizer (KCSAN) and looked how it can detect data races in the
kernel. KCSAN uses the
definitionof "data race" that is part of the
Linux-Kernel
Memory Consistency Model (LKMM), but there is more that KCSAN can do.
This concluding part of the article describes other ways that the tool can
be used to find data races and other kinds of problems in concurrent code.
It provides some ideas on strategies and best practices, briefly considers
some alternative approaches, and concludes with some known limitations.