Мы знаем, что блокировка спин-блокировки отключает превенцию на соответствующем процессоре. Итак, предположим, что выполняемый код ядра вызывает функцию, которая спит в процессе. Несмотря на деактивацию preemption, ядро Linux даст процессору другой поток?Предотвращение и спящий режим во время атомного контекста спин-спина
1
A
ответ
2
зависит от цели. Есть ряд из cond_resched()
функций, проверка, если выгрузить биты установлены и, таким образом, выводя из строя перепланировать:
/*
* Returns true when we need to resched and can (barring IRQ state).
*/
static __always_inline bool should_resched(void)
{
return unlikely(!preempt_count() && tif_need_resched());
}
int __sched _cond_resched(void)
{
if (should_resched()) {
__cond_resched();
return 1;
}
return 0;
}
Но не все процедуры ядра сделать это. То есть мьютексы напрямую вызывают schedule_preempt_disabled()
, который игнорирует проверки целостности. В этом случае schedule()
попытается дать процессору другую задачу, но будет жаловаться на «планирование в режиме атома».
Смежные вопросы
- 1. спящий режим - фильтр отношение во время выполнения
- 2. спящий режим ConstraintValidation во время работы Junit
- 3. Время и спящий режим Joda 4
- 4. Спящий режим и параллелизм
- 5. Почему ниже добавляется запрос на спящий режим во время поиска
- 6. Весенняя партия + спящий режим записи во время выбора
- 7. Как спящий режим сменяет классы или объект во время выполнения
- 8. Спящий режим: генерировать классы на основе сопоставлений во время выполнения
- 9. спящий режим и сроки
- 10. Спящий режим и кириллица
- 11. Синхронизация и спящий режим
- 12. Устранение и спящий режим
- 13. Предотвращение выключения и замена его на спящий режим
- 14. Предотвращение спящего режима во время выполнения программ C#
- 15. автоподдержка спящий режим с пружиной 3 и спящий режим 4
- 16. Спящий режим
- 17. Класс даты и спящий режим
- 18. спящий режим. не связывается во многих ассоциациях.
- 19. Спящий режим и использование ресурсов
- 20. Предотвращение во время spin_lock
- 21. Как отменить режим ожидания и спящий режим?
- 22. Обычная смена + спящий режим?
- 23. Спящий режим Pythons() Использование процессора
- 24. Спящий режим Android и LocationManager
- 25. спящий режим и EHCache репликации
- 26. Спящий режим и база данных
- 27. Спящий режим и сравнение дат
- 28. Спящий режим и вес мультяшный
- 29. Спящий режим и суммарные значения
- 30. Весна и спящий режим проверки