我需要從內核線程調用get_user_pages_fast()
。但get_user_pages_fast()
內部使用current->mm
,對於內核線程,其設置爲NULL
。有什麼辦法可以解決這個問題嗎?正在討論的內核線程正在代表另一個進程工作,如x
,將x->mm
設置爲current->mm
並調用get_user_pages_fast()
可以嗎?get_user_pages_fast()來自內核線程
[編輯1]:我驗證了這一點,它似乎工作。我仍然擔心它是否會在某些情況下破裂。任何見解都值得歡迎。謝謝。
你將需要說你正在嘗試使用什麼語言 – thecoshman 2013-04-23 07:41:11
這是linux內核,我使用C.爲防萬一我沒有正確的框架,它不是一個編程問題(如分配工作),但在Linux內核和內核線程的環境中是否合適。 – spa 2013-04-23 08:15:07
將'x-> mm'指定爲'current-> mm'告訴內核您的線程具有與進程'x'相同的虛擬內存空間。這真的是你想要的嗎? (它會打擾我有一個內核線程,應該留在一個純粹的內核上下文有一個虛擬內存空間?!) – Rerito 2013-04-23 12:03:33