All of lore.kernel.org
 help / color / mirror / Atom feed
From: Changbin Du <changbin.du@huawei.com>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: Changbin Du <changbin.du@huawei.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>, <linux-kernel@vger.kernel.org>,
	<linux-perf-users@vger.kernel.org>,
	Andi Kleen <ak@linux.intel.com>,
	Thomas Richter <tmricht@linux.ibm.com>, <changbin.du@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH v4 3/5] perf: script: add field 'disasm' to display mnemonic instructions
Date: Mon, 22 Jan 2024 18:46:46 +0800	[thread overview]
Message-ID: <20240122104646.oqa7jnmd6ed2dzdw@M910t> (raw)
In-Reply-To: <e8e5ea25-326b-4565-b0e8-1583b09dba65@intel.com>

On Mon, Jan 22, 2024 at 11:59:13AM +0200, Adrian Hunter wrote:
> On 20/01/24 09:40, Changbin Du wrote:
> > On Fri, Jan 19, 2024 at 08:39:36PM +0200, Adrian Hunter wrote:
> >> On 19/01/24 12:48, Changbin Du wrote:
> >>> In addition to the 'insn' field, this adds a new field 'disasm' to
> >>> display mnemonic instructions instead of the raw code.
> >>>
> >>> $ sudo perf script -F +disasm
> >>>        perf-exec 1443864 [006] 2275506.209848:          psb:  psb offs: 0                                      0 [unknown] ([unknown])
> >>>        perf-exec 1443864 [006] 2275506.209848:          cbr:  cbr: 41 freq: 4100 MHz (114%)                    0 [unknown] ([unknown])
> >>>               ls 1443864 [006] 2275506.209905:          1  branches:uH:      7f216b426100 _start+0x0 (/usr/lib/x86_64-linux-gnu/ld-2.31.so) insn: movq %rsp, %rdi
> >>>               ls 1443864 [006] 2275506.209908:          1  branches:uH:      7f216b426103 _start+0x3 (/usr/lib/x86_64-linux-gnu/ld-2.31.so) insn: callq _dl_start+0x0
> >>>
> >>> Signed-off-by: Changbin Du <changbin.du@huawei.com>
> >>> ---
> >>>  tools/perf/Documentation/perf-script.txt | 7 ++++---
> >>>  tools/perf/builtin-script.c              | 8 +++++++-
> >>>  2 files changed, 11 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
> >>> index ff9a52e44688..fc79167c6bf8 100644
> >>> --- a/tools/perf/Documentation/perf-script.txt
> >>> +++ b/tools/perf/Documentation/perf-script.txt
> >>> @@ -132,9 +132,10 @@ OPTIONS
> >>>          Comma separated list of fields to print. Options are:
> >>>          comm, tid, pid, time, cpu, event, trace, ip, sym, dso, dsoff, addr, symoff,
> >>>          srcline, period, iregs, uregs, brstack, brstacksym, flags, bpf-output,
> >>> -        brstackinsn, brstackinsnlen, brstackoff, callindent, insn, insnlen, synth,
> >>> -        phys_addr, metric, misc, srccode, ipc, data_page_size, code_page_size, ins_lat,
> >>> -        machine_pid, vcpu, cgroup, retire_lat.
> >>> +        brstackinsn, brstackinsnlen, brstackoff, callindent, insn, disasm,
> >>> +        insnlen, synth, phys_addr, metric, misc, srccode, ipc, data_page_size,
> >>> +        code_page_size, ins_lat, machine_pid, vcpu, cgroup, retire_lat.
> >>> +
> >>
> >> Further down, there are explanations for insn and insnlen.  disasm
> >> could be added there.
> >>
> > Updated as:
> > 
> > 	When doing instruction trace decoding, insn, disasm and insnlen give the
> > 	instruction bytes, disassembled instructions and the instruction length
> > 	of the current instruction respectively.
> 
> I wondered about mentioning that disasm needs perf to be compiled with
> disassembler support, but with a permissive license it seems likely
> that libcapstone support would generally be built into perf, so that
> should be fine.
> 
Yes, libcapstone has a permissive license. It's available on most Linux distros.

So, I updated as below:

	When doing instruction trace decoding, insn, disasm and insnlen give the
	instruction bytes, disassembled instructions (requires libcapstone support)
	and the instruction length of the current instruction respectively.

-- 
Cheers,
Changbin Du

  reply	other threads:[~2024-01-22 10:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-19 10:48 [PATCH v4 0/5] perf: script: Intro capstone disasm engine to show instruction trace Changbin Du
2024-01-19 10:48 ` [PATCH v4 1/5] perf: build: introduce the libcapstone Changbin Du
2024-01-19 18:38   ` Adrian Hunter
2024-01-20  7:23     ` Changbin Du
2024-01-19 10:48 ` [PATCH v4 2/5] perf: util: use capstone disasm engine to show assembly instructions Changbin Du
2024-01-19 18:39   ` Adrian Hunter
2024-01-20  9:13     ` Changbin Du
2024-01-22  8:24       ` Adrian Hunter
2024-01-22  8:42         ` Changbin Du
2024-01-19 10:48 ` [PATCH v4 3/5] perf: script: add field 'disasm' to display mnemonic instructions Changbin Du
2024-01-19 18:39   ` Adrian Hunter
2024-01-20  7:40     ` Changbin Du
2024-01-22  9:59       ` Adrian Hunter
2024-01-22 10:46         ` Changbin Du [this message]
2024-01-22 13:41           ` Andi Kleen
2024-01-22 14:05             ` Changbin Du
2024-01-19 10:48 ` [PATCH v4 4/5] perf: script: add raw|disasm arguments to --insn-trace option Changbin Du
2024-01-19 18:39   ` Adrian Hunter
2024-01-20  7:30     ` Changbin Du
2024-01-19 10:48 ` [PATCH v4 5/5] perf: script: prefer capstone to XED Changbin Du
2024-01-19 18:40   ` Adrian Hunter
2024-01-20  7:26     ` Changbin Du

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=20240122104646.oqa7jnmd6ed2dzdw@M910t \
    --to=changbin.du@huawei.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=changbin.du@gmail.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.