From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Questions about OProfile Date: Mon, 18 Apr 2011 16:10:58 -0400 Message-ID: <20110418201058.GA12562@dumpdata.com> References: <20110405170310.GA2801@imp.local> <20110405214539.GA1970@imp.local> <9D285665-6460-4403-8873-88593CFA5A2D@recoil.org> <20110418183359.GA2124@imp.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20110418183359.GA2124@imp.local> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "W. Michael Petullo" Cc: xen-devel@lists.xensource.com, Anil Madhavapeddy List-Id: xen-devel@lists.xenproject.org On Mon, Apr 18, 2011 at 01:33:59PM -0500, W. Michael Petullo wrote: > >>>> First, what is the status of Xenoprof? The latest patch is against 0.9.5, > >>>> but OProfile 0.9.6 is about 16 months old. Is Xenoprof actively > >>>> maintained? > > >>> There is a crufty pv_ops patch that I forward ported to 2.6.32 in this tree: > >>> > >>> https://github.com/avsm/linux-2.6.32-xen-oprofile > > >> So, is it true that I need to 1) use this patch or 2) use a non-PV > >> Ops Dom0? I thought 2.6.32 was already non-PV Ops. > > > I don't understand the question. The above tree is a pv_ops kernel, > > with additional patches applied so it can be a full Xen dom0 (including > > netback, etc). I'm only sporadically updating it as I need to, so you > > probably just want the oprofile patch [1] if you want to apply it to > > some other kernel. > > > > https://github.com/avsm/linux-2.6.32-xen-oprofile/commit/4df4780e638d14249b7aa4005511218a9183c324 > > I ported Anil's patch to Linux 2.6.38. The result is available at: > > http://www.flyn.org/patches/linux-2.6.38-xen-passive-oprofile/linux-2.6.38-xen-passive-oprofile.patch.gz > > With this patch applied to Linux 2.6.38 (along with various orthagonal Xen > patches), I can perform passive profiling on an unprivileged Xen domain. Woot! Awesome. For fun I tried to stick on 2.6.39, but got this: patch -p1 --dry-run < ~/linux-2.6.38-xen-passive-oprofile.patch patching file arch/x86/include/asm/xen/hypercall.h Hunk #1 succeeded at 447 (offset 7 lines). patching file arch/x86/oprofile/Makefile patching file arch/x86/oprofile/xenoprof.c patching file arch/x86/xen/mmu.c Hunk #1 succeeded at 2349 (offset 55 lines). Hunk #2 succeeded at 2381 (offset 55 lines). Hunk #3 succeeded at 2403 with fuzz 1 (offset 55 lines). patching file drivers/oprofile/buffer_sync.c patching file drivers/oprofile/cpu_buffer.c Hunk #5 FAILED at 259. Hunk #6 FAILED at 275. Hunk #7 FAILED at 408. Hunk #8 succeeded at 448 (offset 10 lines). 3 out of 8 hunks FAILED -- saving rejects to file drivers/oprofile/cpu_buffer.c.rej patching file drivers/oprofile/cpu_buffer.h patching file drivers/oprofile/event_buffer.h patching file drivers/oprofile/oprof.c patching file drivers/oprofile/oprof.h patching file drivers/oprofile/oprofile_files.c patching file drivers/xen/xenoprof/xenoprofile.c patching file include/linux/oprofile.h Hunk #4 succeeded at 130 (offset 7 lines). patching file include/xen/interface/xen.h patching file include/xen/interface/xenoprof.h patching file include/xen/xenoprof.h patching file include/xen/xen-ops.h And looking at the code it would require some little help in cpu_buffer depatment. It definitly has a lot of #ifdef CONFIG_XEN in it.. you wouldn't be by any chance signing up for also trying to upstream it?