Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1210344 > unrolled thread

Re: [PATCH v2] perf script/python: add new compaction-times script

Started byVlastimil Babka <vbabka@suse.cz>
First post2015-08-20 11:40 +0200
Last post2015-08-21 20:10 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2] perf script/python: add new compaction-times script Vlastimil Babka <vbabka@suse.cz> - 2015-08-20 11:40 +0200
    Re: [PATCH v2] perf script/python: add new compaction-times script Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-20 21:50 +0200
      Re: [PATCH v2] perf script/python: add new compaction-times script Tony Jones <tonyj@suse.com> - 2015-08-21 18:10 +0200
      Re: [PATCH v2] perf script/python: add new compaction-times script Vlastimil Babka <vbabka@suse.cz> - 2015-08-21 20:10 +0200

#1210344 — Re: [PATCH v2] perf script/python: add new compaction-times script

FromVlastimil Babka <vbabka@suse.cz>
Date2015-08-20 11:40 +0200
SubjectRe: [PATCH v2] perf script/python: add new compaction-times script
Message-ID<pZuue-TI-21@gated-at.bofh.it>
On 08/17/2015 09:48 PM, Tony Jones wrote:
> This patch creates a new script (compaction-times) to report time
> spent in mm compaction. It is possible to report times in nanoseconds
> (default) or microseconds (-u). The option -p will break down results
> by process id, -pv will further decompose by each compaction entry/exit.
> For each compaction entry/exit what is reported is controlled by the
> options -t (report only timing), -m (report migration stats), -ms
> (report migration scanner stats) and -fs (report free scanner stats).
> The default is to report all.  Entries may be further filtered by pid,
> pid-range or comm (regex).
>
> The script is useful when analysing workloads that compact memory. The
> most common example will be THP allocations on systems with a lot of
> uptime that has fragmented memory. This is an example of using the script
> to analyse a thpscale from mmtests which deliberately fragments memory
> and allocates THP in 4 separate threads
>
>      # Recording step, one of the following;
>      $ perf record -e 'compaction:mm_compaction_*' ./workload
>      $ perf script record compaction-times
>
>      # Reporting: basic
>      total: 2444505743ns migration: moved=357738 failed=39275
>      free_scanner: scanned=2705578 isolated=387875
>      migration_scanner: scanned=414426 isolated=397013
>
>      # Reporting: Per task stall times
>      $ perf script report compaction-times -- -t -p
>      total: 2444505743ns
>      6384[thpscale]: 740800017ns
>      6385[thpscale]: 274119512ns
>      6386[thpscale]: 832961337ns
>      6383[thpscale]: 596624877ns
>
>      # Reporting: Per-compaction attempts for task 6385
>      $ perf script report compaction-times -- -m -pv 6385
>      total: 274119512ns migration: moved=14893 failed=24285
>      6385[thpscale]: 274119512ns migration: moved=14893 failed=24285
>      6385[thpscale].1: 3033277ns migration: moved=511 failed=1
>      6385[thpscale].2: 9592094ns migration: moved=1524 failed=12
>      6385[thpscale].3: 2495587ns migration: moved=512 failed=0
>      6385[thpscale].4: 2561766ns migration: moved=512 failed=0
>      6385[thpscale].5: 2523521ns migration: moved=512 failed=0
>      ..... output continues ...
>
> Changes since v1:
> - report stats for isolate_migratepages and isolate_freepages
>    (Vlastimil Babka)
> - refactor code to achieve above
> - add help text
> - output to stdout/stderr explicitly
>
> Signed-off-by: Tony Jones <tonyj@suse.com>
> Cc: Mel Gorman <mgorman@suse.com>
> Cc: Vlastimil Babka <vbabka@suse.cz>

Acked-by: Vlastimil Babka <vbabka@suse.cz>

Works for me, thanks. I'll leave it to perf experts to judge if the 
options and output formatting matches what's common for perf scripts.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1210706

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-20 21:50 +0200
Message-ID<pZE0y-6as-13@gated-at.bofh.it>
In reply to#1210344
Em Thu, Aug 20, 2015 at 11:33:24AM +0200, Vlastimil Babka escreveu:
> On 08/17/2015 09:48 PM, Tony Jones wrote:
> >This patch creates a new script (compaction-times) to report time
> >spent in mm compaction. It is possible to report times in nanoseconds
> >(default) or microseconds (-u). The option -p will break down results
> >by process id, -pv will further decompose by each compaction entry/exit.
> >For each compaction entry/exit what is reported is controlled by the
> >options -t (report only timing), -m (report migration stats), -ms
> >(report migration scanner stats) and -fs (report free scanner stats).
> >The default is to report all.  Entries may be further filtered by pid,
> >pid-range or comm (regex).
> >
> >The script is useful when analysing workloads that compact memory. The
> >most common example will be THP allocations on systems with a lot of
> >uptime that has fragmented memory. This is an example of using the script
> >to analyse a thpscale from mmtests which deliberately fragments memory
> >and allocates THP in 4 separate threads
> >
> >     # Recording step, one of the following;
> >     $ perf record -e 'compaction:mm_compaction_*' ./workload
> >     $ perf script record compaction-times
> >
> >     # Reporting: basic
> >     total: 2444505743ns migration: moved=357738 failed=39275
> >     free_scanner: scanned=2705578 isolated=387875
> >     migration_scanner: scanned=414426 isolated=397013
> >
> >     # Reporting: Per task stall times
> >     $ perf script report compaction-times -- -t -p
> >     total: 2444505743ns
> >     6384[thpscale]: 740800017ns
> >     6385[thpscale]: 274119512ns
> >     6386[thpscale]: 832961337ns
> >     6383[thpscale]: 596624877ns
> >
> >     # Reporting: Per-compaction attempts for task 6385
> >     $ perf script report compaction-times -- -m -pv 6385
> >     total: 274119512ns migration: moved=14893 failed=24285
> >     6385[thpscale]: 274119512ns migration: moved=14893 failed=24285
> >     6385[thpscale].1: 3033277ns migration: moved=511 failed=1
> >     6385[thpscale].2: 9592094ns migration: moved=1524 failed=12
> >     6385[thpscale].3: 2495587ns migration: moved=512 failed=0
> >     6385[thpscale].4: 2561766ns migration: moved=512 failed=0
> >     6385[thpscale].5: 2523521ns migration: moved=512 failed=0
> >     ..... output continues ...
> >
> >Changes since v1:
> >- report stats for isolate_migratepages and isolate_freepages
> >   (Vlastimil Babka)
> >- refactor code to achieve above
> >- add help text
> >- output to stdout/stderr explicitly
> >
> >Signed-off-by: Tony Jones <tonyj@suse.com>
> >Cc: Mel Gorman <mgorman@suse.com>
> >Cc: Vlastimil Babka <vbabka@suse.cz>
> 
> Acked-by: Vlastimil Babka <vbabka@suse.cz>
> 
> Works for me, thanks. I'll leave it to perf experts to judge if the options
> and output formatting matches what's common for perf scripts.

Well, we don't have any firm set standard for outputting from scripts,
so if you did it inspired by existing scripts outputs, probably that is
good enough, having someone testing it is a plus, and in these cases, if
the "works for me" means you actually tested it, can we replace the
"Acked-by" with a "Tested-by"?

Ingo, others, comments on formatting?

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1211228

FromTony Jones <tonyj@suse.com>
Date2015-08-21 18:10 +0200
Message-ID<pZX3b-8W-7@gated-at.bofh.it>
In reply to#1210706
On 08/20/2015 12:42 PM, Arnaldo Carvalho de Melo wrote:
 
> Well, we don't have any firm set standard for outputting from scripts,
> so if you did it inspired by existing scripts outputs, probably that is
> good enough, having someone testing it is a plus, and in these cases, if
> the "works for me" means you actually tested it, can we replace the
> "Acked-by" with a "Tested-by"?

The output seemed consistent with the existing scripts in that, as you point out, there really isn't much consistency. Taking a second look, the only thing I can see is that scripts such as futex-contention and failed-syscalls-by-pid output "comm *[pid]" whereas I'm outputting "pid[comm]".   That's certainly easy to change.

Yes, I believe Vlastimil tested v1 and v2 but I'll let him speak to this and to whether his approval goes beyond testing (re: acked-by).  

thanks

tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1211285

FromVlastimil Babka <vbabka@suse.cz>
Date2015-08-21 20:10 +0200
Message-ID<pZYVk-2PK-37@gated-at.bofh.it>
In reply to#1210706
On 20.8.2015 21:42, Arnaldo Carvalho de Melo wrote:
> Em Thu, Aug 20, 2015 at 11:33:24AM +0200, Vlastimil Babka escreveu:
>> On 08/17/2015 09:48 PM, Tony Jones wrote:
>>
>> Works for me, thanks. I'll leave it to perf experts to judge if the options
>> and output formatting matches what's common for perf scripts.
> 
> Well, we don't have any firm set standard for outputting from scripts,
> so if you did it inspired by existing scripts outputs, probably that is
> good enough, having someone testing it is a plus, and in these cases, if
> the "works for me" means you actually tested it, can we replace the
> "Acked-by" with a "Tested-by"?

Yeah you can change to Tested-by. Thanks.

> Ingo, others, comments on formatting?
> 
> - Arnaldo
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web