Известные схемы взаимного исключения в драйверах Linux
В настоящее время я читаю Драйверы устройств Linux, третье издание, глава 5: Условия параллелизма и гонки. Автор утверждает, что сценарии Read-Copy-Update иногда используются при написании драйверов для Linux. Затем он углубляется в то, почему они используются, но он дает очень ограниченную информацию о "диком" коде, чтобы на него посмотреть. Его двумя примерами являются таблицы маршрутизации сети и драйвер IP-радио Starmode. Есть ли другое место, где они появляются? (Книга была опубликована в 2009 году, поэтому эта схема, возможно, стала более распространенной или уже заменена) (Возможно, лучше спросить об этом на форуме обмена стеками linux?)
1 ответ
Почти все файловые системы используют блокировки rcu, поскольку файлы должны обновляться во время чтения.
Обратитесь к разделу "3. КАКОВЫ НЕКОТОРЫЕ ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ API-интерфейса CORE RCU?" с https://www.kernel.org/doc/Documentation/RCU/whatisRCU.txt