※ 引述《musicguitar ()》之銘言:
: 想請問.
: 如果使用一個share的interrupt.也就是除了我自己的裝置會觸發這個中斷
: 其他裝置也會觸發.
: (實際上這個是X86裡的IRQ9.ACPI interrupt,我需要知道GPE0 觸發訊號)
: 我是否需要做spin lock或是semaphore去做lock的動作.
: 因為我在kernel 2.6.32使用這兩個lock都會出現kernel error(類似kernel bug)的訊息.
: 我的ISR所做的事是去動作I2C.讀取device的暫存器.
: 另外.我曾在kernel 2.6.29中.semaphore不會出現error.只有spin lock會!
semaphore跟spinlock是不一樣的,反應不一樣也不奇怪
: 所以我覺得奇怪.ISR中.到底需不需要再做lock的動作.
: 因為我一lock就當機了!!!所以我現在是把lock都拿掉了!!
: 不知道會不會出問題...
要看你LOCK在哪
而且..你用LOCK會被抓出BUG幾乎就代表你LOCK在不對的時機,
開發人員就是預想到有這種使用錯誤才會印出BUG訊息
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.212.220