Domanda

As question says it all I was looking for in depth explanation of data-dependency barrier in SMP especially with respect to Linux Kernel. I have the definition and brief description handy in this link here.

Linux Kernel Memory Barriers Documentation

However I was attempting to get a profound understanding of this concept. Your thoughts and inputs are highly appreciated.

È stato utile?

Soluzione 3

Old answer: I believe "acquire semantics" is the more commonly used term for what the document is calling a "data-dependency barrier". See for example this presentation or the C++11 memory_order_acquire.

Update: per comments, the Linux description for Data Dependency Barriers sounds more like C++ "consume semantics".

Altri suggerimenti

Actually, at least in terms of C++11, this is more closely related to consume semantics. You can read more about it e.g. here. In short, they provide weaker guarantees than acquire semantics, which makes them more efficient on certain platforms that support data dependency ordering.

In C++ terms, it is called memory_order_consume. See this presentation from Paul Mckenney.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top