このページを編集する際は、編集に関する方針に従ってください。

概要

  • kernel/sched.cにて定義
  • どれくらい実行されたか計算する。プロセスが自発的に、もしくは不本意に実行を取りやめる時に呼ばれる

引数

  • t--実行時間を計算するタスク

実装

/*

* Called when a process ceases being the active-running process, either
* voluntarily or involuntarily.  Now we can calculate how long we ran.
*/

static inline void sched_info_depart(task_t *t) {

	struct runqueue *rq = task_rq(t);
  • タスクtがマッピングされている、CPUのランキューを返す
	unsigned long diff = jiffies - t->sched_info.last_arrival;
  • 最後に実行されてから経過した時間をdiffに格納する
	t->sched_info.cpu_time += diff;
  • 累積的なCPU使用時間(cpu_time)にdiffを加算する
	if (rq)
		rq->rq_sched_info.cpu_time += diff;
  • ランキューの累積的なCPU使用時間にもdiffを加算する

}

呼出元


履歴

  • 作者:ひら
  • 日付:2005/3/7
  • 対象:2.6.10
    更新日更新者更新内容

コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-24 (火) 07:18:01 (3129d)