WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Oprofile patch for 2.6.27 tree. Fix collisionbet

To: <ian.campbell@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Oprofile patch for 2.6.27 tree. Fix collisionbetween Xen and Cell processor escape codes
From: Steven Smith <steven.smith@xxxxxxxxxx>
Date: Thu, 25 Jun 2009 10:50:55 +0100
Cc: Steven Smith <Steven.Smith@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Santos, Jose Renato G" <joserenato.santos@xxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx>
Delivery-date: Thu, 25 Jun 2009 02:41:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <EF547E542C520A4D858CFEF5B404D0534AFD739129@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090609084651.GA14593@xxxxxxxxxxxxxxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D053477EB1ACDB@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20090616103822.GA32136@xxxxxxxxxxxxxxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D053477FA5EE8B@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20090619173009.GA13896@xxxxxxxxxxxxxxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D0534AFCC752B2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20090619215857.GA14674@xxxxxxxxxxxxxxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D0534AFCEC3AA2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4A41FCB10200007800007522@xxxxxxxxxxxxxxxxxx> <EF547E542C520A4D858CFEF5B404D0534AFD739129@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> > I'm a little confused by this: Upstream oprofile 0.9.4 has 
> > the same workaround implemented on the user mode side of 
> > things, so adjusting this in the kernel now would make the 
> > kernel incompatible with that and future versions. Jan
>   The fact that oprofile user level code has the same workaround
>   is exactly the reason for this patch.
>   We need the same code values in the kernel and in the user level tools.
>   Right now the kernel generates code 13 for DOMAIN_SWITCH_CODE
>   in x86 and Oprofile daemon complains that there is no such code.
>   (it expects code 11 for that).
>   
>   However, your question made me look at Oprofile 0.9.4 and I noticed
>   this workaround changed slightly from 0.9.3 to 0.9.4.
>   The new code checks for powerpc while 0.9.3 checked for
>   x96 and ia64. So we need a slightly different patch.
> 
>   Please use the new attached patch instead of the original one. 
Ian: Can you apply this to the 2.6.27 tree, please?  I'll pull it
through to NC2 from there.

Steven.

>     Fix OProfile escape code collision between Xenoprof's
>     DOMAIN_SWITCH_CODE (in use on x86 and ia64) and Cell's
>     SPU_PROFILING_CODE(in use with Power).
>     
>     Signed-off-by: Jose Renato Santos <jsantos@xxxxxxxxxx>
> 
> diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h
> index bb8a349..8863734 100644
> --- a/include/linux/oprofile.h
> +++ b/include/linux/oprofile.h
> @@ -37,9 +37,18 @@
>  #define TRACE_BEGIN_CODE             8
>  #define TRACE_END_CODE                       9
>  #define XEN_ENTER_SWITCH_CODE                10
> +/*
> + * Ugly work-around for the unfortunate collision between Xenoprof's
> + * DOMAIN_SWITCH_CODE (in use on x86 and ia64) and Cell's SPU_PROFILING_CODE
> + * (in use with Power):
> + */
> +#ifdef CONFIG_PPC
>  #define SPU_PROFILING_CODE           11
>  #define SPU_CTX_SWITCH_CODE          12
>  #define DOMAIN_SWITCH_CODE           13
> +#else
> +#define DOMAIN_SWITCH_CODE           11
> +#endif
>  
>  struct super_block;
>  struct dentry;
> 
> 




> > >>> "Santos, Jose Renato G" <joserenato.santos@xxxxxx> 23.06.09 20:13 
> > >>> >>>
> > 
> > Steven
> > 
> > This is a fix to enable Oprofile to work on the netchannel2 
> > 2.6.27 tree.
> > 
> > This is to address a collision for escape codes used to 
> > represent domain switches in Xen and CPU switches in cell 
> > processors which were developed in parallel and used the same code.
> > 
> > There was a discussion on the Oprofile mailing list a while 
> > ago and it was decided that we would use different Oprofile 
> > codes for x86 and ia64 archs (which are the only ones that 
> > support Oprofile in Xen) in order to preserve backward 
> > compatibility for users.
> > 
> > The Oprofile user level tools expect different escape codes 
> > depending on the architecture. We need to make sure the 
> > kernel generates compatible escape codes.
> > 
> > I think this should be also pushed to the 2.6.27 XenClient tree.
> > 
> > Thanks
> > 
> > Renato
> > 
> > 

Attachment: fix_domain_switch_code.diff
Description: Text Data

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel