From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnaldo Carvalho de Melo Subject: Re: [PATCH 42/46] perf script powerpc: Python script for hypervisor call statistics Date: Thu, 7 Jun 2018 10:45:54 -0300 Message-ID: <20180607134554.GD30317@kernel.org> References: <20180605175030.32549-1-acme@kernel.org> <20180605175030.32549-43-acme@kernel.org> <5856a13c-7a34-f4f4-d5f2-100f626a213f@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Paul Clarke Cc: Ravi Bangoria , Ingo Molnar , Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Alexander Shishkin , Jiri Olsa , Michael Ellerman , Namhyung Kim , "Naveen N . Rao" , Arnaldo Carvalho de Melo List-Id: linux-perf-users.vger.kernel.org Em Thu, Jun 07, 2018 at 08:41:46AM -0500, Paul Clarke escreveu: > On 06/07/2018 12:34 AM, Ravi Bangoria wrote: > > On 06/06/2018 08:23 PM, Paul Clarke wrote: > >> On 06/05/2018 12:50 PM, Arnaldo Carvalho de Melo wrote: > >>> From: Ravi Bangoria > >>> > >>> Add python script to show hypervisor call statistics. Ex, > >>> > >>> # perf record -a -e "{powerpc:hcall_entry,powerpc:hcall_exit}" > >>> # perf script -s scripts/python/powerpc-hcalls.py > >>> hcall count min(ns) max(ns) avg(ns) > >>> -------------------------------------------------------------------- > >>> H_RANDOM 82 838 1164 904 > >>> H_PUT_TCE 47 1078 5928 2003 > >>> H_EOI 266 1336 3546 1654 > >>> H_ENTER 28 1646 4038 1952 > >>> H_PUT_TCE_INDIRECT 230 2166 18168 6109 > >>> H_IPI 238 1072 3232 1688 > >>> H_SEND_LOGICAL_LAN 42 5488 21366 7694 > >>> H_STUFF_TCE 294 986 6210 3591 > >>> H_XIRR 266 2286 6990 3783 > >>> H_PROTECT 10 2196 3556 2555 > >>> H_VIO_SIGNAL 294 1028 2784 1311 > >>> H_ADD_LOGICAL_LAN_BUFFER 53 1978 3450 2600 > >>> H_SEND_CRQ 77 1762 7240 2447 > >> > >> This translation from HCALL code to mnemonic is more generally useful. Is there a good way to make the "hcall_table_lookup" function more generally available, like "syscall_name" in scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py ? It's even simpler than the syscall ID-to-name mapping, because the HCALL codes are constant, unlike syscall IDs which vary between arches. > >> > > > > Right, but I don't see any other python script for hcalls. So, I thought > > to add it in the script itself. Let me know if you are planning to add > > any :) We will move it in a generic module. > We're already doing the same thing in an external script. > (https://github.com/open-power-sdk/curt/blob/master/curt.py#L264 > revision 107c97c3aadba3177bc8cf35b06ba165e6ac557f.) > ...which reminds me that I should consider sending that script to > linux-perf-users to see if it's interesting enough to be included > upstream. If you don't have any restriction, then its interesting to have it included, I think, this way we can find these kinds of needed common infrastructure more easily, and also when doing changes take into account existing scripts. - Arnaldo