Реализация linux kernel spin_lock отключает предварительное использование путем вызова preempt_disable(). В моей конфигурации ядра CONFIG_PREEMPT не установлен. Так как прерывания не отключены во время обработки прерывания, вызывающий прерывание может вызвать расписание(). Может ли кто-нибудь указать код, в котором планировщик не планирует другой процесс, так как он приобрел spin_lock.Предотвращение во время spin_lock
2
A
ответ
3
Обработчики прерываний: не разрешено звонить по телефону schedule()
.
Смежные вопросы
- 1. Предотвращение пробелов во время вставки
- 2. Предотвращение рекурсии во время DataContext.SubmitChanges()
- 3. Предотвращение обновления во время paintComponent (Java)
- 4. Предотвращение выполнения метода во время тестов Codeception
- 5. CSS - предотвращение: наведите курсор во время анимации?
- 6. Предотвращение компоновки UITableViewCell во время анимации
- 7. Предотвращение выполнения события во время выполнения другого
- 8. Предотвращение изменения пользовательского контроля во время выполнения
- 9. Предотвращение состояния гонки во время многопоточности
- 10. Предотвращение запуска сценария дважды во время выполнения
- 11. Предотвращение остановки службы Windows во время отладки
- 12. JQuery переключения, предотвращение нажатия во время переключения
- 13. Предотвращение IndexOutOfBoundsException во время цикла [Java]
- 14. Предотвращение ловушки Android во время перезапуска приложения
- 15. Предотвращение SQL-инъекции во время регистрации
- 16. Предотвращение javascript gc во время анимации
- 17. Предотвращение мерцания экрана во время события
- 18. Предотвращение запросов страниц во время запуска WebSphere
- 19. Предотвращение снятия игнорируемых файлов во время выталкивания
- 20. Предотвращение повторных записей во время регистрации
- 21. Предотвращение ошибки UNC-кода во время сборки
- 22. Предотвращение меркуриального толчка во время сборки jenkins
- 23. Предотвращение событий мыши во время wpf Window.OnActivate
- 24. Предотвращение процесса отображения окна во время запуска
- 25. Предотвращение перекрывающихся элементов во время анимации
- 26. Предотвращение выполнения приложения во время установки ClickOnce
- 27. Предотвращение прерывания работы лазури во время обработки
- 28. Предотвращение изменения интерфейса во время вращения
- 29. Предотвращение использования JsonTextReader во время десериализации
- 30. Django Предотвращение автоматического сохранения во время Object.Create
Поскольку в обработчике прерываний не разрешено (() не разрешено использование циклического типа планирования в ядре linux. то есть кто часто вызывает планировщик. В entry_32.S он вызывает планировщик, только если определен CONFIG_PREEMPT. – Yogi
@ user1428099: планировщик может быть вызван при возврате в пользовательское пространство, в том числе, если ядро было введено из пользовательского пространства для обслуживания прерывания. – caf