GCC interpretation of C11 atomics (DR 459)
Simon Wright
simon@pushface.org
Tue Feb 27 17:59:00 GMT 2018
On 27 Feb 2018, at 17:07, Torvald Riegel <triegel@redhat.com> wrote:
>
> On Tue, 2018-02-27 at 16:40 +0000, Simon Wright wrote:
>> On 27 Feb 2018, at 12:56, Ruslan Nikolaev via gcc <gcc@gcc.gnu.org> wrote:
>>>
>>> And all this mess to accommodate almost non-existent case when someone wants to use atomic_load on read-only memory for wide types, in which no good solution exists anyway
>>
>> Sorry to butt in, but - if it's ROM why would you need atomic load anyway? (of course, if it's just a constant view of the object, reason is obvious)
>
> Consider a producer-consumer relationship between two processes where
> the producer doesn't want to wait for the consumer. For example, the
> producer could be an application that's being traced, and the consumer
> is a trace aggregation tool. The producer can provide a read-only
> mapping to the consumer, and put a nonblocking ring buffer or something
> similar in there. That allows the consumer to read, but it still needs
> atomic access because the consumer is modifying the ring buffer
> concurrently.
OK, got that, thanks (this is what I meant by "just a constant view of the object", btw).
Misled by "read-only memory" since in the embedded world ROM (usually actually in Flash) is effectively read-only to all.
More information about the Gcc
mailing list