• Fernand Sieber's avatar
    perf: Timehist account sch delay for scheduled out running · d363c2a8
    Fernand Sieber authored
    When using perf timehist, sch delay is only computed for a waking task,
    not for a pre empted task. This patches changes sch delay to account for
    both. This makes sense as testing scheduling policy need to consider the
    effect of scheduling delay globally, not only for waking tasks.
    
    Example of `perf timehist` report before the patch for `stress` task
    competing with each other.
    
    First column is wait time, second column sch delay, third column
    runtime.
    
    1.492060 [0000]  s    stress[81]                          1.999      0.000      2.000      R  next: stress[83]
    1.494060 [0000]  s    stress[83]                          2.000      0.000      2.000      R  next: stress[81]
    1.496060 [0000]  s    stress[81]                          2.000      0.000      2.000      R  next: stress[83]
    1.498060 [0000]  s    stress[83]                          2.000      0.000      1.999      R  next: stress[81]
    
    After the patch, it looks like this (note that all wait time is not zero
    anymore):
    
    1.492060 [0000]  s    stress[81]                          1.999      1.999      2.000      R  next: stress[83]
    1.494060 [0000]  s    stress[83]                          2.000      2.000      2.000      R  next: stress[81]
    1.496060 [0000]  s    stress[81]                          2.000      2.000      2.000      R  next: stress[83]
    1.498060 [0000]  s    stress[83]                          2.000      2.000      1.999      R  next: stress[81]
    Signed-off-by: default avatarFernand Sieber <sieberf@amazon.com>
    Reviewed-by: default avatarMadadi Vineeth Reddy <vineethr@linux.ibm.com>
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20240618090339.87482-1-sieberf@amazon.com
    d363c2a8
builtin-sched.c 92.4 KB