From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755198AbcBIKrr (ORCPT ); Tue, 9 Feb 2016 05:47:47 -0500 Received: from e35.co.us.ibm.com ([32.97.110.153]:46215 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754417AbcBIKrp (ORCPT ); Tue, 9 Feb 2016 05:47:45 -0500 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: ravi.bangoria@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/3] perf kvm: enable record|report feature on powerpc To: Arnaldo Carvalho de Melo References: <1453442292-7790-1-git-send-email-ravi.bangoria@linux.vnet.ibm.com> <1453442292-7790-3-git-send-email-ravi.bangoria@linux.vnet.ibm.com> <20160201210605.GE20817@kernel.org> <56B071A8.4060402@linux.vnet.ibm.com> Cc: mingo@kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org, hemant@linux.vnet.ibm.com, "Naveen N. Rao" , mpe@ellerman.id.au, paulus@ozlabs.org From: Ravi Bangoria Message-ID: <56B9C3C8.2010707@linux.vnet.ibm.com> Date: Tue, 9 Feb 2016 16:17:36 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56B071A8.4060402@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16020910-0013-0000-0000-00001CAABFDB Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi acme, On Tuesday 02 February 2016 02:36 PM, Ravi Bangoria wrote: > HI acme, > > On Tuesday 02 February 2016 02:36 AM, Arnaldo Carvalho de Melo wrote: >> Em Fri, Jan 22, 2016 at 11:28:11AM +0530, Ravi Bangoria escreveu: >>> + return event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; >>> +} >> This hunk and the next should be on the previous patch, that is not even >> compiling... >> >> You have to compile patch by patch, we can't just test at the end of a >> patchkit like this, this destroys bisection ;-\ > > Didn't aware about that. Will take care of compiling each patch > separately next time onwards. > >> Also you first need to put in place a way to override how to obtain the >> cpumode, then you should use it. >> >> Also this mode doesn't look feasible at all, think about processing >> perf.data files generated in !powerpc systems being analysed in a >> powerpc system. This has to be dependend on the architecture of the >> machine where the perf.data file was recorded, not on the archictecture >> of the machine the binary was built for. > > Valid point. > > I'll re-think about approach in this case. > I've analyzed the approach. Here is my observations: 1. With the current approach, record on !powerpc and report on powerpc will work as we are solely dependent on tracepoint; so we don't change ip and cpumode of sample if it's not of kvm_hv:kvm_guest_exit. 2. However, record on powerpc and report on !powerpc won't work with the current approach. To enable that, we have two options: Option A. Change ip and cpumode of sample at a time of record. This will add overhead at a time of recording data and it may have bad effect like data lost. Option B. Extension to current approach (change ip and cpumode at report time only). I'll need to move 'most of' the code from arch/powerpc/util/kvm.c into some common code which is included on all architectures. And use this code to make decision about changing ip and cpumode of sample at run time. So these functions needs to be present in a binary, no matter which platform it's compiled on. I want your suggestions here, how best we can achieve that? Regards, Ravi