https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102714

--- Comment #1 from Jeffle Xu <jefflexu at linux dot alibaba.com> ---
Some more detailed information about the effect to the application:

Linux kernel relies 'volatile' to do synchronization. Let's say, there are two
processes accessing one memory, one of them will write the memory, while the
other will read the memory (through 'volatile') in a loop. That is, these two
processes will synchronize with each other with this shared memory.

With this bug, the process reading the memory may always read the old value
(cached in the register) rather than get the new value (from memory), and thus
will get stuck in the infinite loop and finally causes soft lockup.

Reply via email to