• Madadi Vineeth Reddy's avatar
    perf sched map: Add task-name option to filter the output map · 3116d609
    Madadi Vineeth Reddy authored
    By default, perf sched map prints sched-in events for all the tasks
    which may not be required all the time as it prints lot of symbols
    and rows to the terminal.
    
    With --task-name option, one could specify the specific task name
    for which the map has to be shown. This would help in analyzing the
    CPU usage patterns easier for that specific task. Since multiple
    PID's might have the same task name, using task-name filter
    would be more useful for debugging.
    
    For other tasks, instead of printing the symbol, '-' is printed and
    the same '.' is used to represent idle. '-' is used instead of symbol
    for other tasks because it helps in clear visualization of task
    of interest and secondly the symbol itself doesn't mean anything
    because the sched-in of that symbol will not be printed(first sched-in
    contains pid and the corresponding symbol).
    
    When using the --task-name option, the sched-out time is represented
    by a '*-'. Since not all task sched-in events are printed, the sched-out
    time of the relevant task might be lost. This representation ensures
    that the sched-out time of the interested task is not overlooked.
    
    6.10.0-rc1
    ==========
    *A0                              131040.639793 secs A0 => migration/0:19
    *.                               131040.639801 secs .  => swapper:0
     .  *B0                          131040.639830 secs B0 => migration/1:24
     .  *.                           131040.639836 secs
     .   .  *C0                      131040.640108 secs C0 => migration/2:30
     .   .  *.                       131040.640163 secs
     .   .   .  *D0                  131040.640386 secs D0 => migration/3:36
     .   .   .  *.                   131040.640395 secs
    
    6.10.0-rc1 + patch (--task-name wdavdaemon)
    =============
     .  *A0  .   .   .   .   -   .   131040.641346 secs A0 => wdavdaemon:62509
     .   A0 *B0  .   .   .   -   .   131040.641378 secs B0 => wdavdaemon:62274
     -  *-   B0  .   .   .   -   .   131040.641379 secs
    *C0  .   B0  .   .   .   .   .   131040.641572 secs C0 => wdavdaemon:62283
     C0  .   B0  .  *D0  .   .   .   131040.641572 secs D0 => wdavdaemon:62277
     C0  .   B0  .   D0  .  *E0  .   131040.641578 secs E0 => wdavdaemon:62270
    *-   .   B0  .   D0  .   E0  .   131040.641581 secs
     .   .   B0  .   D0  .  *-   .   131040.641583 secs
    Reviewed-and-tested-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
    Signed-off-by: default avatarMadadi Vineeth Reddy <vineethr@linux.ibm.com>
    Cc: Chen Yu <yu.c.chen@intel.com>
    Link: https://lore.kernel.org/r/20240707182716.22054-2-vineethr@linux.ibm.comSigned-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    3116d609
builtin-sched.c 94.8 KB