Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1594196

Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of perf_mem_data_src

From Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of perf_mem_data_src
Date 2017-03-07 13:50 +0100
Message-ID <timIW-7Bl-23@gated-at.bofh.it> (permalink)
References <thYnf-6U9-1@gated-at.bofh.it> <thYnh-6U9-45@gated-at.bofh.it> <thYZY-7uY-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



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


>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/6] powerpc/perf: Export memory hierarchy level Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 11:50 +0100
  [PATCH v2 2/6] powerpc/perf: Export memory hierarchy info to user space Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 11:50 +0100
    Re: [PATCH v2 2/6] powerpc/perf: Export memory hierarchy info to  user space Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> - 2017-03-13 20:30 +0100
  [PATCH v2 3/6] powerpc/perf: Support to export MMCRA[TEC*] field to userspace Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 11:50 +0100
  [PATCH v2 5/6] powerpc/perf: Support to export SIERs bit in Power9 Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 11:50 +0100
  [PATCH v2 1/6] powerpc/perf: Define big-endian version of perf_mem_data_src Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 11:50 +0100
    Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Peter Zijlstra <peterz@infradead.org> - 2017-03-06 12:30 +0100
      RE: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src David Laight <David.Laight@ACULAB.COM> - 2017-03-06 16:10 +0100
        Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Peter Zijlstra <peterz@infradead.org> - 2017-03-06 16:30 +0100
      Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Peter Zijlstra <peterz@infradead.org> - 2017-03-07 13:50 +0100
        Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-13 12:20 +0100
          Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Peter Zijlstra <peterz@infradead.org> - 2017-03-13 14:00 +0100
      Re: [PATCH v2 1/6] powerpc/perf: Define big-endian version of  perf_mem_data_src Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-07 13:50 +0100
  [PATCH v2 6/6] powerpc/perf: Add Power8 mem_access event to sysfs Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 15:10 +0100
  [PATCH v2 4/6] powerpc/perf: Support to export SIERs bit in Power8 Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2017-03-06 16:00 +0100

csiph-web