我在看一些使用add_timer和del_timer啓動和停止計時器的Linux內核模塊代碼。del_timer可以在處理程序運行時返回嗎?
有時,實施繼續調用del_timer後立即刪除計時器「對象」(簡稱struct timer_list)。
我想知道如果這是安全的。請注意,這是一個單處理器實現,禁用了SMP(它將強制使用del_timer_sync代替)。
del_timer_sync實現會檢查定時器是否正在被處理,但del_timer不會。在UP系統中,是否有可能在沒有del_timer知道的情況下處理定時器,即定時器是否已從掛起的定時器列表中刪除並正在處理?
只要使用'del_timer_sync()',這樣,當您或旁邊的人決定他們真正想SMP系統也不會斷裂:) – mpe