2014-02-16 22 views
0

我是Linux內核的新手。我是從這裏在Linux內核中究竟rq-> cfs.load值代表什麼?

https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt

閱讀關於Linux的CFS調度我碰到幾行

運行任務的運行隊列總數通過 rq-> cfs.load值佔進來,這是排隊在 runqueue上的任務的權重的總和。現在

,如果rq-> cfs.load講述運行進程的總數,那麼它應該是一個數字,如:
3 - > 3個工藝是可運行的
5 - > 5個過程是可運行

但rq-> cfs.load的實際值是進程權重的總和。

我的問題是:

  1. 加權和如何可以告訴運行進程的多少?
  2. 我們在這裏的流程重量是什麼意思?

回答

0

我仍然是Linux的初學者。但是從我個人理解,這意味着

1.I覺得你有一點困惑:每當進程增加(其變化)的數量,一些調度參數必須 改變。調度類的作用不是計算進程數,而是使用它的負載值來計算它的參數 。因此,通過cfs_rq->加載變量考慮(即考慮到)變化(即,進程數量的增加)以計算加載值 。我們通過對過程的權重求和來完成cfs_rq-> load 的更新。


2.重量過程:過程的重量通過其動態優先級計算。 Dynamic Prority是如何計算的?動態優先級計算: 靜態優先級+「進程調度類別爲 調度」(即實時vs正常)用於計算動態優先級。這個計算不是簡單的加法。閱讀這個Link from UTLK。閱讀一些靜態優先級的鏈接。

+0

thanx!幫助:) – sdream