June 16, 2022 11:48 AM, "David Laight" David.Laight@aculab.com wrote:
No wonder I was confused. It's not surprising the compiler optimises it all away.
It doesn't seem right to be 'abusing' WRITE_ONCE() here. Just adding barrier() should be enough and much more descriptive.
I had the same thought, although I do not believe barrier() is sufficient on its own. barrier_data() with a pointer to uc passed through is required to keep clang from eliminating the dead store.
-- Thanks, Oliver