From: kajoljain <kjain@linux.ibm.com> To: Andi Kleen <ak@linux.intel.com> Cc: acme@kernel.org, mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, anju@linux.vnet.ibm.com, maddy@linux.vnet.ibm.com, ravi.bangoria@linux.ibm.com, peterz@infradead.org, yao.jin@linux.intel.com, jolsa@kernel.org, kan.liang@linux.intel.com, jmario@redhat.com, alexander.shishkin@linux.intel.com, mingo@kernel.org, paulus@ozlabs.org, namhyung@kernel.org, mpetlan@redhat.com, gregkh@linuxfoundation.org, benh@kernel.crashing.org Subject: Re: [RFC 5/6] perf/tools: Enhance JSON/metric infrastructure to handle "?" Date: Tue, 21 Jan 2020 15:47:53 +0530 [thread overview] Message-ID: <b6e3ae17-ce41-2709-1a87-dcd9bd1f365a@linux.ibm.com> (raw) In-Reply-To: <20200117162807.GL302770@tassilo.jf.intel.com> On 1/17/20 9:58 PM, Andi Kleen wrote: > On Fri, Jan 17, 2020 at 06:16:19PM +0530, Kajol Jain wrote: >> Patch enhances current metric infrastructure to handle "?" in the metric >> expression. The "?" can be use for parameters whose value not known while >> creating metric events and which can be replace later at runtime to >> the proper value. It also add flexibility to create multiple events out >> of single metric event added in json file. > Please add a proper specification how this ? thing is supposed to work, > what the exact semantics are, how it is different from the existing > # mechanism etc. > > The standard way to do similar things before was to define an explicit > # name and let the expr code take care of it. Hi Andi, Thanks for reviewing my patchset. I did review the existing '#' mechanism. It is quiet useful for runtime dependency (like ex. event selection based on a return value). But I want to handle couple of more things. Meaning, filling in parameter of event code based on runtime value and replicating events at runtime. So the '?' can handle, 1) replacement of a value in the event code based on runtime and 2) replicate the event (metric expr) at runtime (handled in new metricgroup__add_metric()). This patchset add an arch specific function called 'arch_get_runtimeparam'. Ideally, arch_get_runtimeparm() returns the number of metric exps one want to create (it defaults to 1). The loop added in 'metricgroup__add_metric' will handle the event addition. Example ppc64 hv_24x7 pmu metric event using '?': (hv_24x7@PM_MCS01_128B_RD_DISP_PORT01\\,chip\\=?@ + hv_24x7@PM_MCS01_128B_RD_DISP_PORT23\\,chip\\=?@) Here, '?' will be replaced with a runtime value and metric expression will be replicated. Thanks, Kajol > -Andi
WARNING: multiple messages have this Message-ID (diff)
From: kajoljain <kjain@linux.ibm.com> To: Andi Kleen <ak@linux.intel.com> Cc: ravi.bangoria@linux.ibm.com, maddy@linux.vnet.ibm.com, jmario@redhat.com, mpetlan@redhat.com, peterz@infradead.org, linux-kernel@vger.kernel.org, acme@kernel.org, linux-perf-users@vger.kernel.org, alexander.shishkin@linux.intel.com, yao.jin@linux.intel.com, anju@linux.vnet.ibm.com, jolsa@kernel.org, gregkh@linuxfoundation.org, namhyung@kernel.org, linuxppc-dev@lists.ozlabs.org, mingo@kernel.org, kan.liang@linux.intel.com Subject: Re: [RFC 5/6] perf/tools: Enhance JSON/metric infrastructure to handle "?" Date: Tue, 21 Jan 2020 15:47:53 +0530 [thread overview] Message-ID: <b6e3ae17-ce41-2709-1a87-dcd9bd1f365a@linux.ibm.com> (raw) In-Reply-To: <20200117162807.GL302770@tassilo.jf.intel.com> On 1/17/20 9:58 PM, Andi Kleen wrote: > On Fri, Jan 17, 2020 at 06:16:19PM +0530, Kajol Jain wrote: >> Patch enhances current metric infrastructure to handle "?" in the metric >> expression. The "?" can be use for parameters whose value not known while >> creating metric events and which can be replace later at runtime to >> the proper value. It also add flexibility to create multiple events out >> of single metric event added in json file. > Please add a proper specification how this ? thing is supposed to work, > what the exact semantics are, how it is different from the existing > # mechanism etc. > > The standard way to do similar things before was to define an explicit > # name and let the expr code take care of it. Hi Andi, Thanks for reviewing my patchset. I did review the existing '#' mechanism. It is quiet useful for runtime dependency (like ex. event selection based on a return value). But I want to handle couple of more things. Meaning, filling in parameter of event code based on runtime value and replicating events at runtime. So the '?' can handle, 1) replacement of a value in the event code based on runtime and 2) replicate the event (metric expr) at runtime (handled in new metricgroup__add_metric()). This patchset add an arch specific function called 'arch_get_runtimeparam'. Ideally, arch_get_runtimeparm() returns the number of metric exps one want to create (it defaults to 1). The loop added in 'metricgroup__add_metric' will handle the event addition. Example ppc64 hv_24x7 pmu metric event using '?': (hv_24x7@PM_MCS01_128B_RD_DISP_PORT01\\,chip\\=?@ + hv_24x7@PM_MCS01_128B_RD_DISP_PORT23\\,chip\\=?@) Here, '?' will be replaced with a runtime value and metric expression will be replicated. Thanks, Kajol > -Andi
next prev parent reply other threads:[~2020-01-21 10:18 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-17 12:46 [RFC 0/6] powerpc/perf: Add json file metric support for the hv_24x7 socket/chip level events Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 12:46 ` [RFC 1/6] powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor details Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 12:46 ` [RFC 2/6] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show " Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 12:46 ` [RFC 3/6] Documentation/ABI: Add ABI documentation for chips and sockets Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 12:46 ` [RFC 4/6] powerpc/hv-24x7: Handle migration case of lpar for proper system information in sysfs Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 12:46 ` [RFC 5/6] perf/tools: Enhance JSON/metric infrastructure to handle "?" Kajol Jain 2020-01-17 12:46 ` Kajol Jain 2020-01-17 16:28 ` Andi Kleen 2020-01-17 16:28 ` Andi Kleen 2020-01-21 10:17 ` kajoljain [this message] 2020-01-21 10:17 ` kajoljain 2020-01-21 19:42 ` Andi Kleen 2020-01-21 19:42 ` Andi Kleen 2020-01-17 12:46 ` [RFC 6/6] perf/tools/pmu-events/powerpc: Add hv_24x7 socket/chip level metric events Kajol Jain 2020-01-17 12:46 ` Kajol Jain
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=b6e3ae17-ce41-2709-1a87-dcd9bd1f365a@linux.ibm.com \ --to=kjain@linux.ibm.com \ --cc=acme@kernel.org \ --cc=ak@linux.intel.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=anju@linux.vnet.ibm.com \ --cc=benh@kernel.crashing.org \ --cc=gregkh@linuxfoundation.org \ --cc=jmario@redhat.com \ --cc=jolsa@kernel.org \ --cc=kan.liang@linux.intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=maddy@linux.vnet.ibm.com \ --cc=mingo@kernel.org \ --cc=mpe@ellerman.id.au \ --cc=mpetlan@redhat.com \ --cc=namhyung@kernel.org \ --cc=paulus@ozlabs.org \ --cc=peterz@infradead.org \ --cc=ravi.bangoria@linux.ibm.com \ --cc=yao.jin@linux.intel.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: linkBe 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.