linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Tony Jones <tonyj@suse.com>, acme@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Mel Gorman <mgorman@suse.com>
Subject: Re: [PATCH v2] perf script/python: add new compaction-times script
Date: Thu, 20 Aug 2015 11:33:24 +0200	[thread overview]
Message-ID: <55D59EE4.7040705@suse.cz> (raw)
In-Reply-To: <1439840932-8933-1-git-send-email-tonyj@suse.com>

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.

  reply	other threads:[~2015-08-20  9:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-06 23:01 [PATCH] perf script/python: add new compaction-times script Tony Jones
2015-08-11  9:13 ` Vlastimil Babka
2015-08-17 19:48   ` [PATCH v2] " Tony Jones
2015-08-20  9:33     ` Vlastimil Babka [this message]
2015-08-20 19:42       ` Arnaldo Carvalho de Melo
2015-08-21 15:56         ` Tony Jones
2015-08-21 18:05         ` Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D59EE4.7040705@suse.cz \
    --to=vbabka@suse.cz \
    --cc=acme@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mgorman@suse.com \
    --cc=tonyj@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).