From 9f850015c2402cd807370d40b9bddf3412baf4de Mon Sep 17 00:00:00 2001 From: gatieme Date: Wed, 29 Jun 2016 14:39:26 +0800 Subject: [PATCH] =?UTF-8?q?CFS=E8=B0=83=E5=BA=A6=E5=99=A8=E4=B9=8B?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=97=B6=E9=92=9F...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01-process/05-schedule/04-cfs/02-vruntime/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/study/kernel/01-process/05-schedule/04-cfs/02-vruntime/README.md b/study/kernel/01-process/05-schedule/04-cfs/02-vruntime/README.md index fa512ce..4ca5dfd 100644 --- a/study/kernel/01-process/05-schedule/04-cfs/02-vruntime/README.md +++ b/study/kernel/01-process/05-schedule/04-cfs/02-vruntime/README.md @@ -121,7 +121,7 @@ static inline u64 calc_delta_fair(u64 delta, struct sched_entity *se) 忽略舍入和溢出检查, calc_delta_fair函数所做的就是根据下列公式计算: -$$ delta =delta \times \dfrac{NICE_0_LOAD}{curr->se->load.weight} ;(if curr.nice!=NICE_0_LOAD)$$ +$$ delta =delta \times \dfrac{NICE\_0\_LOAD}{curr->se->load.weight}$$ @@ -134,10 +134,9 @@ $$ delta =delta \times \dfrac{NICE_0_LOAD}{curr->se->load.weight} ;(if curr.ni | 条件 | 公式 | |:-------:|:-------:| -| curr.nice != NICE_0_LOAD | $curr->vruntime += delta\\_exec \times \dfrac{NICE\\_0\\_LOAD}{curr->se->load.weight}$| +| curr.nice != NICE_0_LOAD | $curr->vruntime += delta\\_exec \times \dfrac{NICE\\_0\\_LOAD}{curr->se->load.weight}$ | | curr.nice == NICE_0_LOAD | $ curr->vruntime += delta $ | - 在该计算中可以派上用场了, 回想一下子, 可知越重要的进程会有越高的优先级(即, 越低的nice值), 会得到更大的权重, 因此累加的虚拟运行时间会小一点, 根据公式可知, nice = 0的进程(优先级120), 则虚拟时间和物理时间是相等的, 即current->se->load.weight等于NICE_0_LAD的情况.