lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2ff74780-4649-4522-bc5b-e57f83f0ff96@linux.ibm.com>
Date: Thu, 15 Aug 2024 00:08:09 +0530
From: Madadi Vineeth Reddy <vineethr@...ux.ibm.com>
To: Yang Jihong <yangjihong@...edance.com>
Cc: namhyung@...nel.org, acme@...nel.org, kan.liang@...ux.intel.com,
        peterz@...radead.org, mingo@...hat.com, mark.rutland@....com,
        alexander.shishkin@...ux.intel.com, jolsa@...nel.org,
        irogers@...gle.com, adrian.hunter@...el.com, james.clark@....com,
        linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
        Madadi Vineeth Reddy <vineethr@...ux.ibm.com>
Subject: Re: [PATCH v2 1/2] perf sched timehist: Skip print non-idle task
 samples when only show idle events

Hi Yang Jihong,

On 12/08/24 18:56, Yang Jihong wrote:
> when only show idle events, runtime stats of non-idle tasks is not updated,
> and the value is 0, there is no need to print non-idle samples.
> 
> Before:
> 
>   # perf sched timehist -I
>   Samples of sched_switch event do not have callchains.
>              time    cpu  task name                       wait time  sch delay   run time
>                           [tid/pid]                          (msec)     (msec)     (msec)
>   --------------- ------  ------------------------------  ---------  ---------  ---------
>    2090450.763235 [0000]  migration/0[15]                     0.000      0.000      0.000
>    2090450.763268 [0001]  migration/1[21]                     0.000      0.000      0.000
>    2090450.763309 [0002]  migration/2[27]                     0.000      0.000      0.000
>    2090450.763343 [0003]  migration/3[33]                     0.000      0.000      0.000
>    2090450.763469 [0004]  migration/4[39]                     0.000      0.000      0.000
>    2090450.763501 [0005]  migration/5[45]                     0.000      0.000      0.000
>    2090450.763622 [0006]  migration/6[51]                     0.000      0.000      0.000
>    2090450.763660 [0007]  migration/7[57]                     0.000      0.000      0.000
>    2090450.763741 [0009]  migration/9[69]                     0.000      0.000      0.000
>    2090450.763862 [0010]  migration/10[75]                    0.000      0.000      0.000
>    2090450.763894 [0011]  migration/11[81]                    0.000      0.000      0.000
>    2090450.764021 [0012]  migration/12[87]                    0.000      0.000      0.000
>    2090450.764056 [0013]  migration/13[93]                    0.000      0.000      0.000
>    2090450.764135 [0014]  migration/14[99]                    0.000      0.000      0.000
>    2090450.764163 [0015]  migration/15[105]                   0.000      0.000      0.000
>    2090450.764292 [0016]  migration/16[111]                   0.000      0.000      0.000
>    2090450.764371 [0017]  migration/17[117]                   0.000      0.000      0.000
>    2090450.764422 [0018]  migration/18[123]                   0.000      0.000      0.000
>    2090450.764490 [0000]  <idle>                              0.000      0.000      1.255
>    2090450.764505 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
>    2090450.764571 [0016]  <idle>                              0.000      0.000      0.278
>    2090450.764588 [0010]  <idle>                              0.000      0.000      0.725
>    2090450.764590 [0016]  s1-agent[7179/7162]                 0.000      0.000      0.000
>    2090450.764635 [0000]  <idle>                              0.015      0.015      0.129
>    2090450.764637 [0017]  <idle>                              0.000      0.000      0.266
>    2090450.764639 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
>    2090450.764668 [0017]  s1-agent[7180/7162]                 0.000      0.000      0.000
>    2090450.764669 [0000]  <idle>                              0.003      0.003      0.029
>    2090450.764672 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
>    2090450.764683 [0000]  <idle>                              0.003      0.003      0.010
> 
> After:
> 
>   # perf sched timehist -I
>   Samples of sched_switch event do not have callchains.
>              time    cpu  task name                       wait time  sch delay   run time
>                           [tid/pid]                          (msec)     (msec)     (msec)
>   --------------- ------  ------------------------------  ---------  ---------  ---------
>    2090450.764490 [0000]  <idle>                              0.000      0.000      1.255
>    2090450.764571 [0016]  <idle>                              0.000      0.000      0.278
>    2090450.764588 [0010]  <idle>                              0.000      0.000      0.725
>    2090450.764635 [0000]  <idle>                              0.015      0.015      0.129
>    2090450.764637 [0017]  <idle>                              0.000      0.000      0.266
>    2090450.764669 [0000]  <idle>                              0.003      0.003      0.029
>    2090450.764683 [0000]  <idle>                              0.003      0.003      0.010
>    2090450.764688 [0016]  <idle>                              0.019      0.019      0.097
>    2090450.764694 [0000]  <idle>                              0.001      0.001      0.009
>    2090450.764706 [0000]  <idle>                              0.001      0.001      0.010
>    2090450.764725 [0002]  <idle>                              0.000      0.000      1.415
>    2090450.764728 [0000]  <idle>                              0.002      0.002      0.019
>    2090450.764823 [0000]  <idle>                              0.003      0.003      0.091
>    2090450.764838 [0019]  <idle>                              0.000      0.000      0.154
>    2090450.764865 [0002]  <idle>                              0.109      0.109      0.029
>    2090450.764866 [0000]  <idle>                              0.012      0.012      0.030
>    2090450.764880 [0002]  <idle>                              0.013      0.013      0.001
>    2090450.764880 [0000]  <idle>                              0.002      0.002      0.011
>    2090450.764896 [0000]  <idle>                              0.001      0.001      0.013
>    2090450.764903 [0019]  <idle>                              0.063      0.063      0.002
>    2090450.764908 [0019]  <idle>                              0.003      0.003      0.001
> 

LGTM and also tested the changes.

Reviewed-and-tested-by: Madadi Vineeth Reddy <vineethr@...ux.ibm.com>

> Fixes: 07235f84ece6 ("perf sched timehist: Add -I/--idle-hist option")
> Signed-off-by: Yang Jihong <yangjihong@...edance.com>
> ---
>  tools/perf/builtin-sched.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
> index 8750b5f2d49b..177634df1ba5 100644
> --- a/tools/perf/builtin-sched.c
> +++ b/tools/perf/builtin-sched.c
> @@ -2727,10 +2727,10 @@ static int timehist_sched_change_event(struct perf_tool *tool,
>  
>  			itr->last_thread = NULL;
>  		}
> -	}
>  
> -	if (!sched->summary_only)
> -		timehist_print_sample(sched, evsel, sample, &al, thread, t, state);
> +		if (!sched->summary_only)
> +			timehist_print_sample(sched, evsel, sample, &al, thread, t, state);
> +	}
>  
>  out:
>  	if (sched->hist_time.start == 0 && t >= ptime->start)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ