0
我正在爲我的應用程序編寫一個簡單的內存管理器,它將釋放我的模塊使用的任何多餘內存,以便它可以再次使用。我的模塊使用alloc_page & kmem_cache_alloc分配內存,因此內存管理器分別使用put_page & kmem_cache_free釋放未使用的內存。即使釋放內存,內存也不可用
我面對的問題是,即使我使用put_page & kmem_cache_free釋放內存後,我的模塊無法獲得可用內存。我寫了一個測試代碼,它在循環中分配了大量內存,當內存不足時在內存管理器上休眠以釋放內存。內存管理器成功執行空閒代碼並喚醒睡眠進程,因爲內存現在應該可用。有趣的是,alloc_page/kmem_cache_alloc調用仍然無法分配內存。現在,我無能爲力,爲什麼會這樣尋求幫助。
如果你已經回答了你自己的問題,你應該接受你的答案。其餘的可能會更好地開始另一個問題。 – 2010-04-15 10:16:59