From: Alexey Budankov <alexey.budankov@linux.intel.com>
To: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Andi Kleen <ak@linux.intel.com>
Subject: [PATCH v2 0/3] perf/core: expose thread context switch out event type to user space
Date: Thu, 22 Mar 2018 19:08:25 +0300 [thread overview]
Message-ID: <713750a0-7cc1-0a27-7253-12ff4f3c9a8d@linux.intel.com> (raw)
Implementation of exposing context-switch-out type event as a part
of PERF_RECORD_SWITCH[_CPU_WIDE] record.
Introduced types of events assumed to be:
a) preempt: when task->state == TASK_RUNNING
b) yield: !preempt, encoding is done using new bit
PERF_RECORD_MISC_SWITCH_OUT_YIELD like this:
event_header->misc &=
PERF_RECORD_MISC_SWITCH_OUT|PERF_RECORD_MISC_SWITCH_OUT_YIELD
Perf tool report and script commands output has been extended to decode
new yield bit and the updated output looks like in the examples below.
The documentation has been updated to mention yield switch out events
and its decoding symbols in perf script output.
The changes have been manually tested on Fedora 27 with the patched kernel:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
perf report -D -i system-wide.perf | grep _SWITCH:
1 113807080924003 0x26db26 [0x28]: PERF_RECORD_SWITCH_CPU_WIDE OUT next pid/tid: 20495/20495
1 113807080925644 0x26db4e [0x28]: PERF_RECORD_SWITCH_CPU_WIDE IN prev pid/tid: 31479/31479
1 113807080937266 0x26db76 [0x28]: PERF_RECORD_SWITCH_CPU_WIDE OUT yield next pid/tid: 16/16
1 113807080938445 0x26db9e [0x28]: PERF_RECORD_SWITCH_CPU_WIDE IN prev pid/tid: 20495/20495
1 113807080945455 0x26dbc6 [0x28]: PERF_RECORD_SWITCH_CPU_WIDE OUT yield next pid/tid: 20495/20495
perf script --show-switch-events -F +misc -I -i system-wide.perf:
rcu_sched 8 [003] 113800.748548: PERF_RECORD_SWITCH_CPU_WIDE IN prev pid/tid: 0/0
perf 31479 [000] S 113800.748548: PERF_RECORD_SWITCH_CPU_WIDE OUT next pid/tid: 59/59
kworker/0:1 59 [000] 113800.748549: PERF_RECORD_SWITCH_CPU_WIDE IN prev pid/tid: 31479/31479
rcu_sched 8 [003] Sy 113800.748551: PERF_RECORD_SWITCH_CPU_WIDE OUT yield next pid/tid: 0/0
swapper 0 [003] 113800.748551: PERF_RECORD_SWITCH_CPU_WIDE IN prev pid/tid: 8/8
---
Alexey Budankov (3):
perf/core: store context switch out type into Perf trace
perf report: extend raw dump (-D) out with switch out event type
perf script: extend misc field decoding with switch out event type
include/uapi/linux/perf_event.h | 5 +++++
kernel/events/core.c | 4 +++-
tools/include/uapi/linux/perf_event.h | 5 +++++
tools/perf/Documentation/perf-script.txt | 17 +++++++++--------
tools/perf/builtin-script.c | 5 ++++-
tools/perf/util/event.c | 4 +++-
6 files changed, 29 insertions(+), 11 deletions(-)
next reply other threads:[~2018-03-22 16:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-22 16:08 Alexey Budankov [this message]
2018-03-22 16:11 ` [PATCH v2 1/3] perf/core: store context switch out type into Perf trace Alexey Budankov
2018-03-22 16:13 ` [PATCH v1 2/3] perf report: extend raw dump (-D) out with switch out event type Alexey Budankov
2018-03-22 16:16 ` [PATCH v2 3/3] perf script: extend misc field decoding " Alexey Budankov
2018-03-23 9:24 ` [PATCH v2 0/3] perf/core: expose thread context switch out event type to user space Jiri Olsa
2018-03-23 18:05 ` Peter Zijlstra
2018-03-23 20:38 ` Alexey Budankov
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=713750a0-7cc1-0a27-7253-12ff4f3c9a8d@linux.intel.com \
--to=alexey.budankov@linux.intel.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/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
Powered by JetHome