On Mon, Nov 11, 2019 at 12:43 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > Yeah, maybe we could have some model for marking "this is statistics, > doesn't need to be exact". Side note: that marking MUST NOT be "READ_ONCE + WRITE_ONCE", because that makes gcc create horrible code, and only makes the race worse. At least with a regular add, it might stay as a single r-m-w instruction on architectures that have that, and makes the quality of the statistics slightly better (no preemption etc). So that's an excellent example of where changing code to use WRITE_ONCE actually makes the code objectively worse in practice - even if it might be the same in theory. Linus