All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Borislav Petkov <bp@alien8.de>, "H . Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Leo Yan <leo.yan@linaro.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH V6 13/15] perf intel-pt: Add support for text poke events
Date: Tue, 21 Apr 2020 15:06:13 +0200	[thread overview]
Message-ID: <20200421130613.GH809467@krava> (raw)
In-Reply-To: <4308a61d-cbed-e0ed-d8a9-c7306a933e7b@intel.com>

On Tue, Apr 21, 2020 at 04:02:32PM +0300, Adrian Hunter wrote:
> On 21/04/20 3:50 pm, Jiri Olsa wrote:
> > On Sun, Apr 05, 2020 at 11:13:25PM +0300, Adrian Hunter wrote:
> >> Select text poke events when available and the kernel is being traced.
> >> Process text poke events to invalidate entries in Intel PT's instruction
> >> cache.
> >>
> >> Example:
> >>
> >>   The example requires kernel config:
> >>     CONFIG_PROC_SYSCTL=y
> >>     CONFIG_SCHED_DEBUG=y
> >>     CONFIG_SCHEDSTATS=y
> >>
> >>   Before:
> >>
> >>     # perf record -o perf.data.before --kcore -a -e intel_pt//k -m,64M &
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     0
> >>     # echo 1 > /proc/sys/kernel/sched_schedstats
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     1
> >>     # echo 0 > /proc/sys/kernel/sched_schedstats
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     0
> >>     # kill %1
> >>     [ perf record: Woken up 1 times to write data ]
> >>     [ perf record: Captured and wrote 3.341 MB perf.data.before ]
> >>     [1]+  Terminated                 perf record -o perf.data.before --kcore -a -e intel_pt//k -m,64M
> >>     # perf script -i perf.data.before --itrace=e >/dev/null
> >>     Warning:
> >>     474 instruction trace errors
> >>
> >>   After:
> >>
> >>     # perf record -o perf.data.after --kcore -a -e intel_pt//k -m,64M &
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     0
> >>     # echo 1 > /proc/sys/kernel/sched_schedstats
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     1
> >>     # echo 0 > /proc/sys/kernel/sched_schedstats
> >>     # cat /proc/sys/kernel/sched_schedstats
> >>     0
> >>     # kill %1
> >>     [ perf record: Woken up 1 times to write data ]
> >>     [ perf record: Captured and wrote 2.646 MB perf.data.after ]
> >>     [1]+  Terminated                 perf record -o perf.data.after --kcore -a -e intel_pt//k -m,64M
> >>     # perf script -i perf.data.after --itrace=e >/dev/null
> > 
> > 
> > I'm still seeing some, probably I'm missing some CONFIG, will check
> > 
> > 	# ./perf record -o perf.data.after --kcore -a -e intel_pt//k -m,64M &
> > 	[1] 5880
> > 	# cat /proc/sys/kernel/sched_schedstats
> > 	0
> > 	# echo 1 > /proc/sys/kernel/sched_schedstats
> > 	# cat /proc/sys/kernel/sched_schedstats
> > 	1
> > 	# echo 0 > /proc/sys/kernel/sched_schedstats
> > 	# kill %1
> > 	# [ perf record: Woken up 1 times to write data ]
> > 	[ perf record: Captured and wrote 6.181 MB perf.data.after ]
> > 	[1]+  Terminated              ./perf record -o perf.data.after --kcore -a -e intel_pt//k -m,64M
> > 	# ./perf script --itrace=e -i perf.data.after > /dev/null
> > 	Warning:
> > 	18837 instruction trace errors
> > 
> > 	# ./perf script --itrace=e -i perf.data.after | head
> > 	instruction trace error type 1 time 9274.420582345 cpu 9 pid 845 tid 845 ip 0xffffffff814e6cf2 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422229726 cpu 39 pid 5880 tid 5880 ip 0xffffffffa030a320 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422231972 cpu 39 pid 5880 tid 5880 ip 0xffffffffa0315c1c code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422236141 cpu 39 pid 5880 tid 5880 ip 0xffffffff81143263 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422237424 cpu 39 pid 5880 tid 5880 ip 0xffffffff8115c388 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422239028 cpu 39 pid 5880 tid 5880 ip 0xffffffff811428c9 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422239028 cpu 39 pid 5880 tid 5880 ip 0xffffffffa13279fb code 5: Failed to get instruction
> > 	instruction trace error type 1 time 9274.422242556 cpu 39 pid 5880 tid 5880 ip 0xffffffff814e9c73 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422258915 cpu 39 pid 5880 tid 5880 ip 0xffffffff810d7da2 code 6: Trace doesn't match instruction
> > 	instruction trace error type 1 time 9274.422258915 cpu 39 pid 5880 tid 5880 ip 0xffffffffa030a0b2 code 6: Trace doesn't match instruction
> 
> I don't think it can be CONFIG.  Can you share the branch you are using?
> Then I can test it.
> 

I built the one you mentioned in cover email:
  git://git.infradead.org/users/ahunter/linux-perf.git text_poke

jirka


  reply	other threads:[~2020-04-21 13:06 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-05 20:13 [PATCH V6 00/15] perf/x86: Add perf text poke events Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 01/15] perf: Add perf text poke event Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 02/15] perf/x86: Add support for perf text poke event for text_poke_bp_batch() callers Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 03/15] kprobes: Add symbols for kprobe insn pages Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 04/15] kprobes: Add perf ksymbol events " Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 05/15] perf/x86: Add perf text poke events for kprobes Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 06/15] ftrace: Add symbols for ftrace trampolines Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 07/15] ftrace: Add perf ksymbol events " Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 08/15] ftrace: Add perf text poke " Adrian Hunter
2020-04-21 13:45   ` Peter Zijlstra
2020-04-22  7:39     ` Adrian Hunter
2020-04-22 11:46       ` Peter Zijlstra
2020-04-27  7:23         ` Adrian Hunter
2020-04-27 18:34           ` Steven Rostedt
2020-04-28 16:47             ` Peter Zijlstra
2020-04-27 20:10           ` Arnaldo Carvalho de Melo
2020-04-05 20:13 ` [PATCH V6 09/15] perf kcore_copy: Fix module map when there are no modules loaded Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 10/15] perf evlist: Disable 'immediate' events last Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 11/15] perf tools: Add support for PERF_RECORD_TEXT_POKE Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 12/15] perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOL Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 13/15] perf intel-pt: Add support for text poke events Adrian Hunter
2020-04-21 12:50   ` Jiri Olsa
2020-04-21 13:02     ` Adrian Hunter
2020-04-21 13:06       ` Jiri Olsa [this message]
2020-04-21 13:10         ` Adrian Hunter
2020-04-21 13:35           ` Jiri Olsa
2020-04-21 13:45             ` Adrian Hunter
2020-04-21 15:38               ` Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 14/15] perf script: Add option --show-text-poke-events Adrian Hunter
2020-04-05 20:13 ` [PATCH V6 15/15] perf script: Show text poke address symbol Adrian Hunter
2020-04-20  6:21 ` [PATCH V6 00/15] perf/x86: Add perf text poke events Adrian Hunter
2020-04-21 13:46 ` Peter Zijlstra

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=20200421130613.GH809467@krava \
    --to=jolsa@redhat.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=x86@kernel.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 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.