From: Ingo Molnar <mingo@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Adrian Hunter <adrian.hunter@intel.com>,
Alexey Budankov <alexey.budankov@linux.intel.com>,
Colin King <colin.king@canonical.com>,
Hewenliang <hewenliang4@huawei.com>,
Ian Rogers <irogers@google.com>,
Jin Yao <yao.jin@linux.intel.com>,
Steven Rostedt <rostedt@goodmis.org>,
Sudipm Mukherjee <sudipm.mukherjee@gmail.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: [GIT PULL] perf/core improvements and fixes
Date: Sat, 23 Nov 2019 09:07:44 +0100 [thread overview]
Message-ID: <20191123080744.GB110331@gmail.com> (raw)
In-Reply-To: <20191122145711.3171-1-acme@kernel.org>
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo/Thomas,
>
> Please consider pulling,
>
> Best regards,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit 8f6ee51d772d0dab407d868449d2c5d9c8d2b6fc:
>
> Merge tag 'perf-core-for-mingo-5.5-20191119' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2019-11-19 12:59:03 +0100)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-5.5-20191122
>
> for you to fetch changes up to 4584f084aa9d8033d5911935837dbee7b082d0e9:
>
> perf parse: Fix potential memory leak when handling tracepoint errors (2019-11-22 10:48:14 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> perf report:
>
> Jin Yao:
>
> - Allow entering the annotation view (symbol source/assembly +
> overhead/cycles/etc column) from the 'perf report --total-cycles'
> interface.
>
> E.g.:
>
> # perf record --all-cpus --branch-any --all-kernel
> ^C[ perf record: Woken up 5 times to write data ]
> #
> # perf evlist -v
> cycles: size: 120, { sample_period, sample_freq }: 4000,
> sample_type: IP|TID|TIME|CPU|PERIOD|BRANCH_STACK,
> read_format: ID, disabled: 1, inherit: 1, exclude_user: 1, mmap: 1, comm: 1, freq: 1, task: 1,
> precise_ip: 3, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1,
> bpf_event: 1, branch_sample_type: ANY
> #
> # perf report --total-cycles
> #
> # Samples: 78762 of event 'cycles'
> Sampled Sampled Avg Avg
> Cycles% Cycles Cycles% Cycles [Program Block Range] Shared Object
> 1.72% 95.8K 0.00% 254 [msr.h:105 -> msr.h:166] [kernel.vmlinux]
> 1.56% 107.6K 0.00% 618 [compiler.h:199 -> common.c:301] [kernel.vmlinux]
> 0.83% 46.3K 0.00% 409 [entry_64.S:153 -> entry_64.S:175] [kernel.vmlinux]
> 0.83% 46.1K 0.00% 83 [jump_label.h:41 -> tsc.c:230] [kernel.vmlinux]
> 0.64% 36.9K 0.01% 1.4K [hda_intel.c:904 -> hda_intel.c:916] [snd_hda_intel]
> 0.57% 30.2K 0.00% 282 [file.c:710 -> file.c:730] [kernel.vmlinux]
> 0.48% 25.8K 0.00% 82 [spinlock.c:158 -> spinlock.c:160] [kernel.vmlinux]
> 0.45% 23.7K 0.00% 369 [tick-broadcast.c:585 -> tick-broadcast.c:586] [kernel.vmlinux]
> 0.44% 24.4K 0.00% 73 [msr.h:236 -> tsc.c:1088] [kernel.vmlinux]
> 0.43% 22.7K 0.00% 144 [cpuidle.c:229 -> cpuidle.c:232] [kernel.vmlinux]
>
> Then press 'A' or Enter on one of those lines, just like with 'perf top', say
> the top one: [msr.h:105 -> msr.h:166], then this shows up:
>
> Samples: 78K of event 'cycles', 4000 Hz, Event count (approx.): 78762
> native_write_msr /lib/modules/5.4.0-rc8/build/vmlinux [Percent: local period]
> Percent│ IPC Cycle (Average IPC: 0.02, IPC Coverage: 50.0%)
> │
> │ Disassembly of section .text:
> │
> │ ffffffff8106c480 <native_write_msr>:
> │ __wrmsr():
> │ return EAX_EDX_VAL(val, low, high);
> │ }
> │
> │ static inline void notrace __wrmsr(unsigned int msr, u32 low, u32 high)
> │ {
> │ asm volatile("1: wrmsr\n"
> 49.16 │0.02 mov %edi,%ecx
> │0.02 mov %esi,%eax
> │0.02 wrmsr
> │ arch_static_branch():
> │ #include <linux/stringify.h>
> │ #include <linux/types.h>
> │
> │ static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
> │ {
> │ asm_volatile_goto("1:"
> 0.79 │0.02 nop
> │ native_write_msr():
> │ {
> │ __wrmsr(msr, low, high);
> │
> │ if (msr_tracepoint_active(__tracepoint_write_msr))
> │ do_trace_write_msr(msr, ((u64)high << 32 | low), 0);
> │ }
> 50.05 │0.02 254 ← retq
> │ do_trace_write_msr(msr, ((u64)high << 32 | low), 0);
> │ shl $0x20,%rdx
> │ mov %esi,%esi
> │ or %rdx,%rsi
> │ xor %edx,%edx
> │ → jmpq do_trace_write_msr
>
> We need to improve this to show the source code line numbers in the
> annotation view, so one can go from that program block to the annotation view
> and see those source code line numbers straight away.
>
> auxtrace/Intel PT:
>
> Adrian Hunter:
>
> - Add support for AUX area sampling, requires new functionality that
> will land in 5.5, its already in tip.
>
> This includes kernel capability querying so that it fails gracefully
> with older kernels, duimping aux area samples in 'perf report -D' and
> 'perf script'.
>
> perf.data:
>
> Alexey Budankov:
>
> - Fix decompression of PERF_RECORD_COMPRESSED records.
>
> core:
>
> Arnaldo Carvalho de Melo:
>
> - Use the 'dcacheline' cmp routine to find the right DSOs taking into
> account the 'maj', 'min', 'ino' and 'ino_generation', that got moved
> from 'struct map' to 'struct dso', where it belongs.
>
> This further reduces the size of 'struct map', there is still more
> work to do to maybe get it to max one cacheline.
>
> libtraceevent:
>
> Hewenliang:
>
> - Fix memory leakage in copy_filter_type().
>
> Sudip Mukherjee:
>
> - Fix header installation.
>
> perf parse:
>
> Ian Rogers :
>
> - Fix potential memory leak when handling tracepoint errors, found using
> LLVM's libFuzzer.
>
> perf probe:
>
> Colin Ian King:
>
> - Fix spelling mistake "addrees" -> "address".
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> 46 files changed, 1190 insertions(+), 200 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
next prev parent reply other threads:[~2019-11-23 8:07 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-22 14:56 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 01/26] perf map: Move maj/min/ino/ino_generation to separate struct Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 02/26] perf map: Pass a dso_id to map__new() Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 03/26] perf map: Move comparision of map's dso_id to a separate function Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 04/26] perf dsos: Remove unused dsos__find() method Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 05/26] perf dso: Move dso_id from 'struct map' to 'struct dso' Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 06/26] perf session: Fix decompression of PERF_RECORD_COMPRESSED records Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 07/26] perf util: Move block TUI function to ui browsers Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 08/26] perf report: Jump to symbol source view from total cycles view Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 09/26] perf tools: Add kernel AUX area sampling definitions Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 10/26] perf record: Add a function to test for kernel support for AUX area sampling Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 11/26] perf auxtrace: Move perf_evsel__find_pmu() Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 12/26] perf auxtrace: Add support for AUX area sample recording Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 13/26] perf record: Add support for AUX area sampling Arnaldo Carvalho de Melo
2019-11-22 14:56 ` [PATCH 14/26] perf record: Add aux-sample-size config term Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 15/26] perf inject: Cut AUX area samples Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 16/26] perf auxtrace: Add support for dumping " Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 17/26] perf session: Add facility to peek at all events Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 18/26] perf auxtrace: Add support for queuing AUX area samples Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 19/26] perf pmu: When using default config, record which bits of config were changed by the user Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 20/26] perf intel-pt: Add support for recording AUX area samples Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 21/26] perf intel-pt: Add support for decoding " Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 22/26] perf intel-bts: Does not support AUX area sampling Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 23/26] libtraceevent: Fix header installation Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 24/26] libtraceevent: Fix memory leakage in copy_filter_type Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 25/26] perf probe: Fix spelling mistake "addrees" -> "address" Arnaldo Carvalho de Melo
2019-11-22 14:57 ` [PATCH 26/26] perf parse: Fix potential memory leak when handling tracepoint errors Arnaldo Carvalho de Melo
2019-11-23 8:07 ` Ingo Molnar [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-05-06 15:21 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2020-04-20 11:52 Arnaldo Carvalho de Melo
2020-04-22 12:09 ` Ingo Molnar
2020-04-23 21:28 ` Daniel Díaz
2020-04-24 13:07 ` Arnaldo Carvalho de Melo
2020-04-24 14:10 ` Andreas Gerstmayr
2020-05-04 19:07 ` Daniel Díaz
2020-05-05 16:37 ` Arnaldo Carvalho de Melo
2020-05-05 16:57 ` Daniel Díaz
2020-05-05 17:03 ` Arnaldo Carvalho de Melo
2020-03-25 12:41 Arnaldo Carvalho de Melo
2020-03-17 21:32 Arnaldo Carvalho de Melo
2020-03-19 14:03 ` Ingo Molnar
2020-03-19 14:07 ` Arnaldo Carvalho de Melo
2020-03-10 11:15 Arnaldo Carvalho de Melo
2020-01-16 13:48 Arnaldo Carvalho de Melo
2020-01-20 8:23 ` Ingo Molnar
2020-01-06 16:06 Arnaldo Carvalho de Melo
2020-01-10 17:50 ` Ingo Molnar
2020-01-28 19:10 ` pr-tracker-bot
2019-12-03 13:55 Arnaldo Carvalho de Melo
2019-12-04 7:51 ` Ingo Molnar
2019-11-28 13:40 Arnaldo Carvalho de Melo
2019-11-29 5:58 ` Ingo Molnar
2019-11-19 11:32 Arnaldo Carvalho de Melo
2019-11-19 12:00 ` Ingo Molnar
2019-11-12 18:37 Arnaldo Carvalho de Melo
2019-11-15 7:35 ` Ingo Molnar
2019-11-07 18:59 Arnaldo Carvalho de Melo
2019-11-12 11:08 ` Ingo Molnar
2019-10-21 13:37 Arnaldo Carvalho de Melo
2019-10-21 23:16 ` Ingo Molnar
2019-10-11 20:04 Arnaldo Carvalho de Melo
2019-10-15 5:25 ` Ingo Molnar
2019-09-26 0:31 Arnaldo Carvalho de Melo
2019-09-26 5:55 ` Ingo Molnar
2019-09-20 14:25 Arnaldo Carvalho de Melo
2019-09-20 16:15 ` Ingo Molnar
2019-09-01 12:22 Arnaldo Carvalho de Melo
2019-09-02 7:14 ` Ingo Molnar
2019-08-29 14:38 Arnaldo Carvalho de Melo
2019-08-29 18:58 ` Ingo Molnar
2019-08-27 1:36 Arnaldo Carvalho de Melo
2019-08-27 8:24 ` Ingo Molnar
2019-08-22 21:00 Arnaldo Carvalho de Melo
2019-08-23 10:30 ` Ingo Molnar
2019-08-20 19:27 Arnaldo Carvalho de Melo
2019-08-20 19:39 ` Ingo Molnar
2019-08-20 19:44 ` Arnaldo Carvalho de Melo
2019-08-16 20:16 Arnaldo Carvalho de Melo
2019-08-14 18:40 Arnaldo Carvalho de Melo
2019-07-22 17:38 Arnaldo Carvalho de Melo
2019-07-15 21:11 Arnaldo Carvalho de Melo
2019-07-09 18:31 Arnaldo Carvalho de Melo
2019-07-13 9:13 ` Ingo Molnar
2019-07-03 3:27 Arnaldo Carvalho de Melo
2019-07-03 13:56 ` Ingo Molnar
2019-07-02 2:25 Arnaldo Carvalho de Melo
2019-07-03 13:55 ` Ingo Molnar
2019-06-21 17:38 Arnaldo Carvalho de Melo
2019-06-22 6:28 ` Ingo Molnar
2019-06-11 18:57 Arnaldo Carvalho de Melo
2019-06-17 18:48 ` Ingo Molnar
2019-05-17 19:34 Arnaldo Carvalho de Melo
2019-05-18 8:27 ` Ingo Molnar
2019-02-25 21:19 Arnaldo Carvalho de Melo
2019-02-28 7:31 ` Ingo Molnar
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=20191123080744.GB110331@gmail.com \
--to=mingo@kernel.org \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=alexey.budankov@linux.intel.com \
--cc=colin.king@canonical.com \
--cc=hewenliang4@huawei.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=namhyung@kernel.org \
--cc=rostedt@goodmis.org \
--cc=sudipm.mukherjee@gmail.com \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
--cc=yao.jin@linux.intel.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).