Как оптимизация компилятора и процессора работает для ускорения выполнения кода? - PullRequest
0 голосов
/ 12 апреля 2019

In Разработка ядра Linux (3-е издание) , Методы синхронизации ядра, порядок и барьеры. Вот пример:

enter image description here

И я озадачен утверждением в этой книге:

Опять же, без барьеров памяти, можно было бы установить b до pp прежде, чем pp был установлен в p.

Значит, автор имеет в виду, что если нет read_barrier_depends(), b = *pp будет выполнено до pp = p? Как это могло быть возможно?

1 Ответ

1 голос
/ 15 апреля 2019

Меня заинтересовала ваша проблема, поэтому я искал немного дольше. Я нашел сообщение о функциональности read_barrier_depends в списке ядра с некоторыми пояснениями:

https://lwn.net/Articles/5159/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...