2014-07-22 33 views
1

我想知道是否有內核模塊線程切換其當前毫米的方法。內核線程通常使用在調度之前處於活動狀態的最後一個毫米。是否可以在內核線程中切換到特定的mm? 我正在尋找一個相當於windows的KeStackAttachProcess的linux。 Context_switch()switch_mm()不導出,所以我想知道我可以用什麼來切換我的內核模塊線程上下文。如何在內核模塊線程中切換上下文?

+0

到目前爲止,我發現基於所有googling的最佳方式是在內核中的進程上下文(wait_ *系列函數)中休眠,並在您想要在該上下文中執行任何操作時喚醒線程! – Raghu

回答

0

當前沒有可用的切換上下文的功能。然而,同樣的事情可以用不同的方式實現。我發現在內核中的某個特定進程的上下文中發現任何事情的最好方法是在進程上下文(wait_ *系列函數)中休眠,並喚醒該線程,並在該上下文中執行任何需要完成的任務。這當然意味着你必須通過IOCTL或其他東西將應用程序調用到內核中,並在該線程上休眠,並在需要做某事時將其喚醒。這似乎是一個非常廣泛使用和流行的機制。