Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1365440
| From | Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc |
| Date | 2016-03-28 13:00 +0200 |
| Message-ID | <rhD3P-5Sr-5@gated-at.bofh.it> (permalink) |
| References | <r5DCi-2ih-19@gated-at.bofh.it> <r5DCi-2ih-25@gated-at.bofh.it> <rfA0q-DC-13@gated-at.bofh.it> <rfGyR-50i-3@gated-at.bofh.it> <rgkPD-8vD-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Thanks Arnaldo for putting the effort. I've tested this patch on powerpc and it looks fine to me. Please find my below comments. On Friday 25 March 2016 02:45 AM, Arnaldo Carvalho de Melo wrote: > Em Tue, Mar 22, 2016 at 11:19:21PM -0300, Arnaldo Carvalho de Melo escreveu: >> Em Tue, Mar 22, 2016 at 04:12:11PM -0300, Arnaldo Carvalho de Melo escreveu: >>> Em Wed, Feb 24, 2016 at 02:37:42PM +0530, Ravi Bangoria escreveu: >>>> 'perf kvm record' is not available on powerpc because 'perf' relies on >>>> the 'cycles' event (a PMU event) to profile the guest. However, for >>>> powerpc, this can't be used from the host because the PMUs are controlled >>>> by the guest rather than the host. >>>> >>>> There exists a tracepoint 'kvm_hv:kvm_guest_exit' in powerpc which is >>>> hit whenever any of the threads exit the guest context. The guest >>>> instruction pointer dumped along with this tracepoint data in the field >>>> 'pc', can be used as guest instruction pointer. >>>> >>>> This patch changes default event as kvm_hv:kvm_guest_exit for recording >>>> guest data in host on powerpc. As we are using host event to record guest >>>> data, this approach will enable only --guest option of 'perf kvm'. Still >>>> --host --guest together won't work. >>> It should, i.e. --host --guest should translate to: >>> >>> -e cycles:H,kvm_hv:kvm_guest_exit >>> >>> I.e. both collect cycles only in the host, and also the tracepoint that >>> will allow us to get the guest approximation for the unavailable cycles >>> event, no? >>> >>> I'm putting the infrastructure work needed for this the perf/cpumode >>> branch. More work will be put there soon. >> So I took a different path and made perf_evsel__parse_sample set a new >> perf_sample.cpumode field, this way we'll end up having just to set a >> per-evsel ->post_parse_sample() callback for the event that replaces >> "cycles" for PPC guests where we'll just set data->ip and data->cpumode, >> the rest of the code remains unchanged. >> >> The changes I made looks useful in itself, as, IIRC more code was >> removed than added. >> >> I'll continue tomorrow and will test with the kvm:kvm_exit on x86_64 for >> testing, that has: > Ok, so the infrastructure got merged already and from there the next > steps are in running with: > > perf kvm --guest record -a -e cycles:H,kvm:kvm_exit > > And then, with the patch below applied, try: > > perf kvm --guestkallsyms kallsyms.guest --guestmodules modules.guest report -i perf.data.guest --munge-ppc-guest-sample kvm:kvm_exit The initial proposal was to change the default event as "kvm_guest_exit" for kvm recording/reporting on ppc. If I understand it correctly, your patch creates a handler for reporting kvm events based on "munge_ppc_guest_event" and the required tracepoint i.e., we need to mention the required tracepoint event name for recording and reporting. There might be a little bit of an issue here. For scripts which depend on generic perf kvm record/report, we need to change those appropriately to prevent those from failing on powerpc. Otherwise, (just a thought) can we create some kind of an alias to map the ppc specific perf kvm commands with the generic perf kvm. For e.g : perf kvm record -e "kvm_hv:kvm_guest_exit" mapped to perf kvm record & perf kvm report --munge-ppc-guest-sample kvm_hv:kvm_guest_exit mapped to perf kvm report. Regards, Ravi
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-22 20:20 +0100
Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-23 03:20 +0100
Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-24 22:20 +0100
Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2016-03-28 13:00 +0200
Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-28 14:30 +0200
csiph-web