我需要在給定系統的所有內核上啓用cr4位8(PCE)。我目前有一個工作模塊,它在模塊加載時在運行的內核上設置此位。我被困在這裏,並沒有找到很多關於如何並行運行在所有內核上的文檔:在所有內核上設置控制寄存器
1)看來卸載並不總是發生在負載發生的核心上,所以我可以' t清理正確
2)我想不出任何方式來強制模塊初始化在特定的核心執行 - 如果我可以,我可以簡單地有一個模塊可以分別調用每個核心到設置所有內核。似乎沒有可用於模塊的sched_seffffinity等效項。
有沒有辦法強制這個模塊在所有內核上運行,無論是通過並行還是遍歷所有內核?我不能修改內核本身,也不能在啓動時加載模塊,所以我不能只改變寄存器最初設置的內容。
感謝任何提示,我在這裏試圖找出這個瘋狂!
還有一些版本的smp_call_function可以讓你傳遞一個內核掩碼來運行,或者一個核心ID在一個特定的核心上運行。 – ChrisAshton84 2012-03-22 17:45:45