Что такое барьер зависимости от данных: ядро ​​Linux

Как говорится в вопросе, я искал подробное объяснение барьера зависимости от данных в SMP, особенно в отношении ядра Linux. У меня есть определение и краткое описание по этой ссылке здесь.

Документация по барьерам памяти ядра Linux< /а>

Однако я пытался получить глубокое понимание этой концепции. Ваши мысли и вклад высоко ценятся.


person Ace    schedule 01.02.2014    source источник


Ответы (2)


Я считаю, что «приобрести семантику» - это более часто используемый термин для того, что документ называет «барьером зависимости от данных». См., например, эту презентацию или C++11 memory_order_acquire.

person Arch D. Robison    schedule 03.02.2014
comment
@ Arch D. Robinson Спасибо за ссылку, очень информативно! - person Ace; 03.02.2014
comment
Linux использует операции сбора, но также много потребляет редко изменяемых данных. - person curiousguy; 27.11.2019

На самом деле, по крайней мере, с точки зрения C++11, это более тесно связано с семантикой потребления. Вы можете прочитать больше об этом, например. здесь. Короче говоря, они обеспечивают более слабые гарантии, чем приобретают семантику, что делает их более эффективными на определенных платформах, поддерживающих порядок зависимостей данных.

person Ivan Vergiliev    schedule 25.08.2014
comment
Потребление также очень естественно с точки зрения присущей зависимости f.ex. с помощью указателя: вам нужно сначала узнать его, чтобы разыменовать. - person curiousguy; 27.11.2019