Historically our periods (or p) argument in PELT denoted the number of
full periods (what is now d2). However recent patches have changed
this to the total decay (previously p+1), leading to a confusing
discrepancy between comments and code.

Try and clarify things by making periods (in code) and p (in comments)
be the same thing (again).

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Peter Zijlstra 2017-04-10 12:47:33 +02:00 коммит произвёл Ingo Molnar
Родитель 76d034edcf
Коммит 3841cdc310
1 изменённых файлов: 10 добавлений и 10 удалений

Просмотреть файл

@ -2777,18 +2777,18 @@ static u32 __accumulate_pelt_segments(u64 periods, u32 d1, u32 d3)
u32 c1, c2, c3 = d3; /* y^0 == 1 */
/*
* c1 = d1 y^(p+1)
* c1 = d1 y^p
*/
c1 = decay_load((u64)d1, periods);
/*
* p
* p-1
* c2 = 1024 \Sum y^n
* n=1
*
* inf inf
* = 1024 ( \Sum y^n - \Sum y^n - y^0 )
* n=0 n=p+1
* n=0 n=p
*/
c2 = LOAD_AVG_MAX - decay_load(LOAD_AVG_MAX, periods) - 1024;
@ -2808,14 +2808,14 @@ static u32 __accumulate_pelt_segments(u64 periods, u32 d1, u32 d3)
* |<->|<----------------->|<--->|
* ... |---x---|------| ... |------|-----x (now)
*
* p
* u' = (u + d1) y^(p+1) + 1024 \Sum y^n + d3 y^0
* p-1
* u' = (u + d1) y^p + 1024 \Sum y^n + d3 y^0
* n=1
*
* = u y^(p+1) + (Step 1)
* = u y^p + (Step 1)
*
* p
* d1 y^(p+1) + 1024 \Sum y^n + d3 y^0 (Step 2)
* p-1
* d1 y^p + 1024 \Sum y^n + d3 y^0 (Step 2)
* n=1
*/
static __always_inline u32