日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

local_irq_save和 local_irq_disable

發布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 local_irq_save和 local_irq_disable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1. 關中斷 可以通過下面兩個函數中的其中任何一個關閉當前處理器上的所有中斷處理,這兩個函數定義在 <asm/system.h>中: void local_irq_save(unsigned long flags); void local_irq_disable(void); local_irq_save的調用把當前的中斷狀態(開或關)保存到flags中,然后禁用當前處理器上的中斷。注意, flags 被直接傳遞, 而不是通過指針來傳遞,這是由于local_irq_save被實現為宏 local_irq_disable不保存狀態而關閉本地處理器上的中斷發送; 只有我們知道中斷并未在其他地方被禁用的情況下,才能使用這個版本。 2. 開中斷 可通過如下函數打開中斷: void local_irq_restore(unsigned long flags); void local_irq_enable(void); local_irq_restore將保存的flags狀態值恢復(即local_irq_save的入參flag), 恢復之前的狀態(開或關)。 local_irq_enable則無條件打開中斷。 在一個關閉中斷的環境中調用local_irq_disable和local_irq_enable后會破壞之前的中斷響應狀態。盡管調用local_irq_disable前是關中斷的環境,但是在調用local_irq_enable后卻變成開中斷,這顯然不是我們希望的 調用local_irq_restore后不一定會開啟中斷,只會恢復調用local_irq_save之前的中斷狀態,如果調用local_irq_save之前是開中斷,那么就打開中斷;如果調用local_irq_save之前是關中斷,那么就關閉中斷。 所以local_irq_save和local_irq_restore會更安全。 沒有方法全局禁用整個系統的所有中斷。 內核開發者認為關閉所有中斷的代價太高,因此沒有必要提供這個能力。 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的local_irq_save和 local_irq_disable的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。