- 論壇徽章:
- 0
|
不對(duì),還是我錯(cuò)了,向大家解釋一下:
if (kern_load > (100 - user_frac)) {
這句的原本意思是:
求軟件中斷在整個(gè)1秒時(shí)間所占百分比是否大于減去其他所占用時(shí)間.
大于就說(shuō)明時(shí)間夠了.poll_burst--;
小于則poll_burst++只要加后不大于最大值.
poll_burst的值很重要,要不然就不能體現(xiàn)出整個(gè)算法的合理性.
我們?cè)趤?lái)看看kern_load = (kern_load * hz) / 10000;這句
是為了求得網(wǎng)絡(luò)軟中斷所占1秒中的比率.10000這個(gè)常量有點(diǎn)
很難懂.kern_load之前得到的是軟件中斷所使用的毫秒.
那么kern_load*hz代表每秒鐘軟中斷大概是占了多少毫秒,
這樣推算的話,10000應(yīng)該是1000000/100,即先除以1百萬(wàn)毫秒(1秒)
得到百分比,再乘以100取出百分?jǐn)?shù).
哎這個(gè)10000也不寫(xiě)個(gè)說(shuō)明.
[ 本帖最后由 xie_minix 于 2006-5-26 13:48 編輯 ] |
|