On Fri, Nov 8, 2019 at 11:48 AM Marco Elver <elver@xxxxxxxxxx> wrote: > > It's not explicitly aware of initialization or release. We rely on > compiler instrumentation for all memory accesses; KCSAN then sets up > "watchpoints" for sampled memory accesses, delaying execution, and > checking if a concurrent access is observed. Ok. > This same approach could be used to ignore "idempotent writes" where > we would otherwise report a data race; i.e. if there was a concurrent > write, but the data value did not change, do not report the race. I'm > happy to add this feature if this should always be ignored. Hmm. I don't think it's valid in general, but it might be useful enough in practice, at least as an option to lower the false positives. Linus