latencytop: use the last element of latency_record of system

In account_global_scheduler_latency(), when we don't find the matching
latency_record we try to select one which is unused in
latency_record[MAXLR], but the condition will skip the last one.

if (i >= MAXLR-1)

Fix that.

Link: https://lkml.kernel.org/r/20220903135233.5225-1-wuchi.zero@gmail.com
Signed-off-by: wuchi <wuchi.zero@gmail.com>
Reviewed-by: Andrew Morton <akpm@linux-foudation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
wuchi 2022-09-03 21:52:33 +08:00 committed by Andrew Morton
parent bfca3dd3d0
commit b814751175

View File

@ -112,7 +112,7 @@ static void __sched
account_global_scheduler_latency(struct task_struct *tsk, account_global_scheduler_latency(struct task_struct *tsk,
struct latency_record *lat) struct latency_record *lat)
{ {
int firstnonnull = MAXLR + 1; int firstnonnull = MAXLR;
int i; int i;
/* skip kernel threads for now */ /* skip kernel threads for now */
@ -150,7 +150,7 @@ account_global_scheduler_latency(struct task_struct *tsk,
} }
i = firstnonnull; i = firstnonnull;
if (i >= MAXLR - 1) if (i >= MAXLR)
return; return;
/* Allocted a new one: */ /* Allocted a new one: */