2012-11-02 50 views
1

我配置了內核linux slob allocator來實現最佳擬合算法。我構建並安裝了內核映像,以便下次啓動它。現在當我嘗試啓動這個內核時,它會無限期掛起,光標甚至不會閃爍。在光標掛起之前打印以下消息:內核無限期掛起

[0.000325] pid_max: default: 32768 minimum: 301 
[0.001461] Security Framework initialized 
[0.002108] AppArmor: AppArmor initialized 

在此消息之後,光標將無限期地掛起。我想知道一些內核調試技巧,這些技巧可以幫助我瀏覽問題或進行一些良好的閱讀。 我也配置kdb,但不知道如何在這種情況下使用它。任何幫助appriciated!

其他細節:

我已經修改了slob_page_alloc函數來實現best-fit算法又被slob_alloc函數調用。我正在使用v3.6.2

+0

您是否已驗證最適合算法作爲獨立代碼正常工作? (自動測試可能是你的朋友在這種情況下。) –

+0

@MarkLeightonFisher號我沒有,但我很確定它應該工作。你還可以請你詳細說明這個想法,因爲我不知道該怎麼做。 –

回答

1

基本上,您需要對由最佳擬合算法代碼調用的外部例程進行剔除(或模擬),以便將最適合的代碼放入測試程序中。然後使用某種C單元測試套件和C覆蓋工具來幫助確保您已仔細測試了所有分支和代碼的所有狀態。 (不幸的是,我目前沒有關於此類工具的建議。)