From: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: mpe@ellerman.id.au, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org,
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Wang Nan <wangnan0@huawei.com>,
Alexei Starovoitov <ast@kernel.org>,
Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of perf_mem_data_src
Date: Tue, 7 Mar 2017 15:28:17 +0530 [thread overview]
Message-ID: <2fc7e466-1675-ef27-b820-ef33ed0be7da@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170306112228.GZ6515@twins.programming.kicks-ass.net>
On Monday 06 March 2017 04:52 PM, Peter Zijlstra wrote:
> On Mon, Mar 06, 2017 at 04:13:08PM +0530, Madhavan Srinivasan wrote:
>> From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
>>
>> perf_mem_data_src is an union that is initialized via the ->val field
>> and accessed via the bitmap fields. For this to work on big endian
>> platforms, we also need a big-endian represenation of perf_mem_data_src.
> Doesn't this break interpreting the data on a different endian machine?
IIUC, we will need this patch to not to break the interpreting data
on a different endian machine. Data collected from power8 LE/BE
guests with this patchset applied. Kindly correct me if I missed
your question here.
With this patchset applied, perf.data from a power8 BigEndian guest:
==============================================================
$ sudo ./perf record -d -e mem_access ls
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.007 MB perf.data (8 samples) ]
$ sudo ./perf report --mem-mode --stdio
# To display the perf.data header info, please use
--header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 8 of event 'mem_access'
# Total weight : 8
# Sort order :
local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked
#
# Overhead Local Weight Memory access Symbol
Shared Object Data Symbol Data
Object Snoop TLB access Locked
# ........ ............ ........................
........................... ................
......................................
.................................. ............ ......................
......
#
25.00% 0 L2 hit [H]
0xc00000000000c910 [unknown] [H] 0xc000000f170e5310
[unknown] N/A N/A No
12.50% 0 L2 hit [k]
.idle_cpu [kernel.vmlinux] [k] __per_cpu_offset+0x68
[kernel.vmlinux].data..read_mostly N/A N/A No
12.50% 0 L2 hit [H]
0xc00000000000ca58 [unknown] [H] 0xc000000f170e5200
[unknown] N/A N/A No
12.50% 0 L3 hit [k]
.copypage_power7 [kernel.vmlinux] [k] 0xc00000002f6fc600
[kernel.vmlinux].bss N/A N/A No
12.50% 0 L3 hit [k]
.copypage_power7 [kernel.vmlinux] [k] 0xc00000003f8b1980
[kernel.vmlinux].bss N/A N/A No
12.50% 0 Local RAM hit [k]
._raw_spin_lock_irqsave [kernel.vmlinux] [k] 0xc000000033b5bdf4
[kernel.vmlinux].bss Miss N/A No
12.50% 0 Remote Cache (1 hop) hit [k]
.perf_iterate_ctx [kernel.vmlinux] [k] 0xc000000000e88648
[kernel.vmlinux] HitM N/A No
perf report from power8 LittleEndian guest (with this patch applied to
perf tool):
==================================================================================
$ ./perf report --mem-mode --stdio -i perf.data.p8be.withpatch
No kallsyms or vmlinux with build-id
ca8a1a9d4b62b2a67ee01050afb1dfa03565a655 was found
/boot/vmlinux with build id ca8a1a9d4b62b2a67ee01050afb1dfa03565a655
not found, continuing without symbols
No kallsyms or vmlinux with build-id
ca8a1a9d4b62b2a67ee01050afb1dfa03565a655 was found
/boot/vmlinux with build id ca8a1a9d4b62b2a67ee01050afb1dfa03565a655
not found, continuing without symbols
# To display the perf.data header info, please use
--header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 8 of event 'mem_access'
# Total weight : 8
# Sort order :
local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked
#
# Overhead Local Weight Memory access Symbol
Shared Object Data Symbol Data Object Snoop TLB
access Locked
# ........ ............ ........................
...................... ................ ......................
................ ............ ...................... ......
#
25.00% 0 L2 hit [H]
0xc00000000000c910 [unknown] [H] 0xc000000f170e5310
[unknown] N/A N/A No
12.50% 0 L2 hit [k]
0xc0000000000f4d0c [kernel.vmlinux] [k] 0xc000000000f2dac8
[kernel.vmlinux] N/A N/A No
12.50% 0 L2 hit [H]
0xc00000000000ca58 [unknown] [H] 0xc000000f170e5200
[unknown] N/A N/A No
12.50% 0 L3 hit [k]
0xc00000000006b560 [kernel.vmlinux] [k] 0xc00000002f6fc600
[kernel.vmlinux] N/A N/A No
12.50% 0 L3 hit [k]
0xc00000000006b560 [kernel.vmlinux] [k] 0xc00000003f8b1980
[kernel.vmlinux] N/A N/A No
12.50% 0 Local RAM hit [k]
0xc00000000094ad14 [kernel.vmlinux] [k] 0xc000000033b5bdf4
[kernel.vmlinux] Miss N/A No
12.50% 0 Remote Cache (1 hop) hit [k]
0xc0000000001ce31c [kernel.vmlinux] [k] 0xc000000000e88648
[kernel.vmlinux] HitM N/A No
With this patch, perf.data from a power8 LE guest:
===================================================
$ sudo ./perf record -d -e mem_access ls
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.010 MB perf.data (6 samples) ]
$ sudo ./perf report --mem-mode --stdio
# To display the perf.data header info, please use
--header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 6 of event 'mem_access'
# Total weight : 6
# Sort order :
local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked
#
# Overhead Local Weight Memory access Symbol
Shared Object Data Symbol Data Object Snoop TLB
access Locked
# ........ ............ ........................
...................... ................ ......................
................ ............ ...................... ......
#
16.67% 0 L2 hit [.]
_init ls [.] 0x000001002ef4dd71
[heap] N/A N/A No
16.67% 0 L2 hit [k]
irq_exit [kernel.vmlinux] [k] 0xc0000000ff6e2080
[kernel.vmlinux] N/A N/A No
16.67% 0 L2 hit [H]
0xc0000000000ba210 [unknown] [H] 0xc00000075ce2fe38
[unknown] N/A N/A No
16.67% 0 L2 hit [H]
0xc00000000000bdb0 [unknown] [H] 0xc00000075ce2fee0
[unknown] N/A N/A No
16.67% 0 L2 hit [H]
0xc0000000000bb444 [unknown] [H] 0xc00000075ce30490
[unknown] N/A N/A No
16.67% 0 L3 hit [H]
0x0000000000066524 [unknown] [H] 0xc0000000014e0000
[unknown] N/A N/A No
perf report from power7 BE guest(with this patch applied to perf tool):
=========================================================================
$ ./perf report --mem-mode --stdio
No kallsyms or vmlinux with build-id
06240a7589956e7d388bdffdab9f7f138834fa81 was found
/lib/modules/4.10.0-rc5+/build/vmlinux with build id
06240a7589956e7d388bdffdab9f7f138834fa81 not found, continuing without
symbols
No kallsyms or vmlinux with build-id
06240a7589956e7d388bdffdab9f7f138834fa81 was found
/lib/modules/4.10.0-rc5+/build/vmlinux with build id
06240a7589956e7d388bdffdab9f7f138834fa81 not found, continuing without
symbols
/usr/bin/ls with build id cf69c39cf0d28e5be86c03de5c556e3ce8d6ce27
not found, continuing without symbols
# To display the perf.data header info, please use
--header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 6 of event 'mem_access'
# Total weight : 6
# Sort order :
local_weight,mem,sym,dso,symbol_daddr,dso_daddr,snoop,tlb,locked
#
# Overhead Local Weight Memory access Symbol
Shared Object Data Symbol Data Object Snoop TLB
access Locked
# ........ ............ ........................
...................... ................ ......................
................ ............ ...................... ......
#
16.67% 0 L2 hit [k]
0xc0000000000d3cc8 [kernel.vmlinux] [k] 0xc0000000ff6e2080
[kernel.vmlinux] N/A N/A No
16.67% 0 L2 hit [.]
0x0000000000012ba8 ls [.] 0x000001002ef4dd71
[heap] N/A N/A No
16.67% 0 L2 hit [H]
0xc0000000000ba210 [unknown] [H] 0xc00000075ce2fe38
[unknown] N/A N/A No
16.67% 0 L2 hit [H]
0xc00000000000bdb0 [unknown] [H] 0xc00000075ce2fee0
[unknown] N/A N/A No
16.67% 0 L2 hit [H]
0xc0000000000bb444 [unknown] [H] 0xc00000075ce30490
[unknown] N/A N/A No
16.67% 0 L3 hit [H]
0x0000000000066524 [unknown] [H] 0xc0000000014e0000
[unknown] N/A N/A No
Maddy
>
next prev parent reply other threads:[~2017-03-07 12:45 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-06 10:43 [PATCH v2 0/6] powerpc/perf: Export memory hierarchy level Madhavan Srinivasan
2017-03-06 10:43 ` [PATCH v2 1/6] powerpc/perf: Define big-endian version of perf_mem_data_src Madhavan Srinivasan
2017-03-06 11:22 ` Peter Zijlstra
2017-03-06 14:59 ` David Laight
2017-03-06 15:28 ` Peter Zijlstra
2017-03-07 9:58 ` Madhavan Srinivasan [this message]
2017-03-07 10:23 ` Peter Zijlstra
2017-03-13 11:15 ` Madhavan Srinivasan
2017-03-13 12:50 ` Peter Zijlstra
2017-03-14 9:01 ` Madhavan Srinivasan
2017-03-14 12:56 ` Peter Zijlstra
2017-03-15 6:20 ` Michael Ellerman
2017-03-15 12:23 ` Peter Zijlstra
2017-03-16 5:53 ` Madhavan Srinivasan
2017-03-16 5:47 ` Madhavan Srinivasan
2017-03-06 10:43 ` [PATCH v2 2/6] powerpc/perf: Export memory hierarchy info to user space Madhavan Srinivasan
2017-03-13 19:21 ` Sukadev Bhattiprolu
2017-03-06 10:43 ` [PATCH v2 3/6] powerpc/perf: Support to export MMCRA[TEC*] field to userspace Madhavan Srinivasan
2017-03-06 10:43 ` [PATCH v2 4/6] powerpc/perf: Support to export SIERs bit in Power8 Madhavan Srinivasan
2017-03-06 10:43 ` [PATCH v2 5/6] powerpc/perf: Support to export SIERs bit in Power9 Madhavan Srinivasan
2017-03-06 10:43 ` [PATCH v2 6/6] powerpc/perf: Add Power8 mem_access event to sysfs Madhavan Srinivasan
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=2fc7e466-1675-ef27-b820-ef33ed0be7da@linux.vnet.ibm.com \
--to=maddy@linux.vnet.ibm.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=ast@kernel.org \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=peterz@infradead.org \
--cc=sukadev@linux.vnet.ibm.com \
--cc=wangnan0@huawei.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