Книга: Разработка ядра Linux

Сравнение спин-блокировок и семафоров

Сравнение спин-блокировок и семафоров

Понимание того, когда использовать спин-блокировки, а когда семафоры является важным для написания оптимального кода. Однако во многих случаях выбирать очень просто. В контексте прерывания могут использоваться только спин-блокировки, и только семафор может удерживаться процессом, который находится в состоянии ожидания. В табл. 9.6 показан обзор требований того, какой тип блокировок использовать.

Таблица 9.6. Что следует использовать: семафоры или спин-блокировки

Требование Рекомендуемый тип блокировки
Блокировка с малыми накладными затратами (low overhead) Спин-блокировки более предпочтительны
Малое время удержания блокировки Спин-блокировки более предпочтительны
Длительное время удержания блокировки Семафоры более предпочтительны
Необходимо использовать блокировку в контексте прерывания Необходима спин-блокировка
Необходимо переходить в состояние ожидания (steep) при захваченной блокировке Необходимо использовать семафоры

Оглавление книги


Генерация: 1.174. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз