Messages in this thread | | | Subject | Re: [PATCH 1/1] Fix: trace sched switch start/stop racy updates | From | Valentin Schneider <> | Date | Fri, 16 Aug 2019 17:48:59 +0100 |
| |
On 16/08/2019 17:25, Steven Rostedt wrote: >> Also, write and read to/from those variables should be done with >> WRITE_ONCE() and READ_ONCE(), given that those are read within tracing >> probes without holding the sched_register_mutex. >> > > I understand the READ_ONCE() but is the WRITE_ONCE() truly necessary? > It's done while holding the mutex. It's not that critical of a path, > and makes the code look ugly. >
I seem to recall something like locking primitives don't protect you from store tearing / invented stores, so if you can have concurrent readers using READ_ONCE(), there should be a WRITE_ONCE() on the writer side, even if it's done in a critical section.
| |