Question

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.

Was it helpful?

Solution 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".

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top