2012-07-03 129 views
0

我目前最新的VirtualBox使用CENTOS 6.1建設我的代碼庫是在C慢編譯與修改Linux內核

它需要15分鐘幾乎完成編譯。

我在內核網絡子系統中做了幾行更改,我將數據包發送到內核模塊而不是ip-stack。我已經重建了內核併成功啓動了它。

現在,如果我嘗試在修改的內核上構建相同的代碼庫,則需要超過1小時30分鐘才能完成它。內核版本是2.6.32.58

任何人都可以幫助我調試爲什麼需要很多時間在內核中進行單行修改嗎?我知道這可能是因爲我的修改,但想知道調試性能問題。

+0

你的意思是在一臺使用你的修改過的內核的機器上進行編譯很慢?如果是這樣,你的修改可能會減慢速度(網絡可能)。 – ugoren

+0

是的,但我所做的更改是將數據包發送到我的內核模塊而不是發送到IP堆棧中的一行。 – codingfreak

回答

1

你修改過的內核,內核可能會使用太多的CPU(例如,由於[近]無限循環),導致用戶級進程慢一點。您可以通過將printk消息放入修改後的內核中找到這一點。

0

編譯的時間依賴於您修改的文件和製作工具。

可以使模塊,你會單獨修改或作出-jN與多線程

+0

但我不是隻編譯內核模塊,而是在完成修改後的內核時編譯整個代碼庫使乾淨。 – codingfreak

+0

你可能會運行make -j4來使用4線程來創建你的代碼庫。 –