3
A
回答
2
簡單的回答:一箇中斷只能被更高優先級的中斷中斷。
因此,一箇中斷可以被內核或用戶任務中斷如果中斷的優先級低於內核調度程序中斷優先級或用戶任務中斷優先級。
請注意,「用戶任務」的意思是用戶定義的中斷。
7
閱讀Why kernel code/thread executing in interrupt context cannot sleep?可鏈接到羅伯特·愛article,我這樣說的:
一些中斷處理程序(在 Linux作爲快速中斷處理程序已知的)運行 與上禁用本地 處理器的所有中斷。這樣做到 確保中斷處理程序運行 不中斷,儘可能快地 。更甚的是,所有中斷 處理程序在其所有 處理器上都禁用其當前 中斷行的情況下運行。這確保了同一個 中斷線的兩個 中斷處理程序不會同時運行 。它還會阻止驅動程序編寫者的設備 必須處理遞歸中斷,這會使編程複雜化。
因此,AFIK中的所有IRQ在中斷處理程序中被禁用,因此它不能被中斷!?
+0
默認情況下,所有irq都未禁用,只有在所有處理器上禁用相同的irq。但在request_irq中有標記,可以在服務中斷時禁用本地處理器上的所有其他中斷。 – JagsVG 2016-01-06 07:15:13
相關問題
- 1. 中斷處理程序是否可以被相同的中斷處理程序搶佔?
- 2. 主線程:可以運行的程序可以被搶佔嗎?
- 3. 多個調度程序之間可以Kubenetes pod搶佔嗎?
- 4. 什麼使GPU程序不可搶佔?
- 5. 是在linux中執行不可搶佔的信號處理程序?
- 6. 線程可以在系統調用內核的時候被搶佔嗎?
- 7. 可以通過BackgroundWorker.RunWorkerCompleted事件處理程序中斷Button.Click事件處理程序嗎?
- 8. 使用信號處理程序和setjmp/longjmp實現搶佔式微線程
- 9. 在中斷處理程序
- 10. 內核:執行do_fork()時可以搶佔嗎?
- 11. 我可以使用C#處理程序處理HTML5事件嗎?
- 12. contiki調度程序是否搶佔?
- 13. std :: lock_guard可以被中斷嗎?
- 14. 通過定時器中斷搶佔進程
- 15. 處理中斷的程序,即中斷處理程序存儲在哪裏?
- 16. linux - 內核線程搶佔
- 17. 在IPython中,擴展可以處理內核中斷嗎?
- 18. 可以在標準C中處理中斷嗎?
- 19. 在AUTOSAR或OSEK執行過程中,可運行的程序可以被搶先嗎?
- 20. GKE搶佔池
- 21. 記錄搶佔
- 22. 程序集編程和中斷處理
- 23. 你可以從信號處理程序中調用signal()嗎?
- 24. 你可以在.NET應用程序中處理T4模板嗎?
- 25. 你可以在事件處理程序中使用wxMutex嗎?
- 26. Jquery Mobile:我可以在pagebeforehide處理程序中使用stopPropagation嗎?
- 27. 在ASP.NET中,HTTPHandler可以跳過Global.asax.cs Application_BeginRequest處理程序嗎?
- 28. 我可以禁用進程的未處理異常處理程序嗎?
- 29. 預處理程序可以判斷SystemVerilog是否已啓用?
- 30. AIR應用程序可以編程來處理URL協議嗎?
很晚,但在vanila linux內核中沒有中斷優先級的概念。 – Saurabh 2012-06-03 18:57:00