Shan, Haitao
2008-Jan-30 09:44 UTC
RE: [Xen-devel] [PATCH] Enable Core 2 Duo PerformanceCountersinHVM guest
Hi, Keir, May I know what''s your opinions about the patch now? Best Regards Haitao Shan I will. This isn''t for 3.2.0 though, so I may not look until after the 3.2.0 branch. -- Keri On 17/12/07 07:22, "Shan, Haitao" <haitao.shan@intel.com> wrote: Hi, Keir, ? I have baked an updated patch. In this patch, I changed some logic?to shorten the lengthy part of core2_vpmu_do_wrmsr. And also, I did a rebase, since there?is?one?new changeset recently which made changes to xenoprofile. Can you have a look? <<pmu.patch>> Best Regards Haitao Shan Shan, Haitao wrote: > Hi, Salvador, > > Do you mean the strange indentation around CTRL_WRITE? That is > because there are three hard TABs before CTRL_WRITE. I am not sure > whether I should fix the original code, so I just leave them there > untouched. > > Haitao Shan > wrote:> > From: Otavio Salvador [mailto:otavio@ossystems.com.br > <mailto:otavio@ossystems.com.br> <mailto:otavio@ossystems.com.br> ] > > Sent: 2007年12月15日 3:05 > To: Shan, Haitao > > Cc: Keir Fraser; xen-devel@lists.xensource.com; Jiang, Yunhong > > Subject: Re: [Xen-devel] Re: [PATCH] Enable Core 2 Duo > > PerformanceCounters inHVM guest > > > > "Shan, Haitao" <haitao.shan@intel.com> writes: > > > > Hello Haitao, > > > > I''ve done a look on the patch and found two places with wrong > coding > style. Take a look bellow: > > > >> diff -r 8f0cbfc478d6 xen/arch/x86/oprofile/op_model_ppro.c > >> --- a/xen/arch/x86/oprofile/op_model_ppro.c Thu Dec 13 09:31:03 > 2007 >> +0000 +++ b/xen/arch/x86/oprofile/op_model_ppro.c Fri Dec > 14 >> 07:21:43 2007 +0800 @@ -126,6 +127,11 @@ static void > >> ppro_start(struct op_msrs co CTRL_READ(low, high, msrs, 0); > >> CTRL_SET_ACTIVE(low); > >> CTRL_WRITE(low, high, msrs, 0); > >> + /* Global Control MSR is enabled by default when system power > >> on. + * However, this may not hold true when xenoprof starts > to >> run. + */ + if ( ppro_has_global_ctrl ) > >> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 1); > >> } > >> > >> > >> @@ -135,6 +141,8 @@ static void ppro_stop(struct op_msrs con > >> CTRL_READ(low, high, msrs, 0); > >> CTRL_SET_INACTIVE(low); > >> CTRL_WRITE(low, high, msrs, 0); > >> + if ( ppro_has_global_ctrl ) > >> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0); > >> } > > > > Cheers, > > > ________________________________ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2008-Jan-30 09:58 UTC
Re: [Xen-devel] [PATCH] Enable Core 2 Duo PerformanceCountersinHVM guest
Good enough. I''ll check it in. K. On 30/1/08 09:44, "Shan, Haitao" <haitao.shan@intel.com> wrote:> Hi, Keir, > > May I know what''s your opinions about the patch now? > > Best Regards > Haitao Shan > > I will. This isn''t for 3.2.0 though, so I may not look until after the > 3.2.0 branch. > > -- Keri > > On 17/12/07 07:22, "Shan, Haitao" <haitao.shan@intel.com> wrote: > > > > Hi, Keir, > ? > I have baked an updated patch. In this patch, I changed some logic?to > shorten the lengthy part of core2_vpmu_do_wrmsr. And also, I did a > rebase, since there?is?one?new changeset recently which made changes to > xenoprofile. > > Can you have a look? > <<pmu.patch>> > Best Regards > Haitao Shan > > Shan, Haitao wrote: >> Hi, Salvador, >> >> Do you mean the strange indentation around CTRL_WRITE? That is >> because there are three hard TABs before CTRL_WRITE. I am not sure >> whether I should fix the original code, so I just leave them there >> untouched. >> >> Haitao Shan >> > wrote: >>> From: Otavio Salvador [mailto:otavio@ossystems.com.br >> <mailto:otavio@ossystems.com.br> <mailto:otavio@ossystems.com.br> ] >>> Sent: 2007年12月15日 3:05 > To: Shan, Haitao >>> Cc: Keir Fraser; xen-devel@lists.xensource.com; Jiang, Yunhong >>> Subject: Re: [Xen-devel] Re: [PATCH] Enable Core 2 Duo >>> PerformanceCounters inHVM guest >>> >>> "Shan, Haitao" <haitao.shan@intel.com> writes: >>> >>> Hello Haitao, >>> >>> I''ve done a look on the patch and found two places with wrong >> coding > style. Take a look bellow: >>> >>>> diff -r 8f0cbfc478d6 xen/arch/x86/oprofile/op_model_ppro.c >>>> --- a/xen/arch/x86/oprofile/op_model_ppro.c Thu Dec 13 09:31:03 >> 2007 >> +0000 +++ b/xen/arch/x86/oprofile/op_model_ppro.c Fri Dec >> 14 >> 07:21:43 2007 +0800 @@ -126,6 +127,11 @@ static void >>>> ppro_start(struct op_msrs co CTRL_READ(low, high, msrs, 0); >>>> CTRL_SET_ACTIVE(low); >>>> CTRL_WRITE(low, high, msrs, 0); >>>> + /* Global Control MSR is enabled by default when system power >>>> on. + * However, this may not hold true when xenoprof starts >> to >> run. + */ + if ( ppro_has_global_ctrl ) >>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 1); >>>> } >>>> >>>> >>>> @@ -135,6 +141,8 @@ static void ppro_stop(struct op_msrs con >>>> CTRL_READ(low, high, msrs, 0); >>>> CTRL_SET_INACTIVE(low); >>>> CTRL_WRITE(low, high, msrs, 0); >>>> + if ( ppro_has_global_ctrl ) >>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0); >>>> } >>> >>> Cheers, >> >> >> ________________________________ >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> >> >> >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Shan, Haitao
2008-Jan-30 10:02 UTC
RE: [Xen-devel] [PATCH] Enable Core 2 DuoPerformanceCountersinHVM guest
Thanks! Best Regards Haitao Shan Keir Fraser wrote:> Good enough. I''ll check it in. > > K. > > > On 30/1/08 09:44, "Shan, Haitao" <haitao.shan@intel.com> wrote: > >> Hi, Keir, >> >> May I know what''s your opinions about the patch now? >> >> Best Regards >> Haitao Shan >> >> I will. This isn''t for 3.2.0 though, so I may not look until after >> the >> 3.2.0 branch. >> >> -- Keri >> >> On 17/12/07 07:22, "Shan, Haitao" <haitao.shan@intel.com> wrote: >> >> >> >> Hi, Keir, >> ? >> I have baked an updated patch. In this patch, I changed some logic?to >> shorten the lengthy part of core2_vpmu_do_wrmsr. And also, I did a >> rebase, since there?is?one?new changeset recently which made changes >> to xenoprofile. >> >> Can you have a look? >> <<pmu.patch>> >> Best Regards >> Haitao Shan >> >> Shan, Haitao wrote: >>> Hi, Salvador, >>> >>> Do you mean the strange indentation around CTRL_WRITE? That is >>> because there are three hard TABs before CTRL_WRITE. I am not sure >>> whether I should fix the original code, so I just leave them there >>> untouched. >>> >>> Haitao Shan >>> >> wrote: >>>> From: Otavio Salvador [mailto:otavio@ossystems.com.br >>> <mailto:otavio@ossystems.com.br> <mailto:otavio@ossystems.com.br> ] >>>> Sent: 2007年12月15日 3:05 > To: Shan, Haitao >>>> Cc: Keir Fraser; xen-devel@lists.xensource.com; Jiang, Yunhong >>>> Subject: Re: [Xen-devel] Re: [PATCH] Enable Core 2 Duo >>>> PerformanceCounters inHVM guest >>>> >>>> "Shan, Haitao" <haitao.shan@intel.com> writes: >>>> >>>> Hello Haitao, >>>> >>>> I''ve done a look on the patch and found two places with wrong >>> coding > style. Take a look bellow: >>>> >>>>> diff -r 8f0cbfc478d6 xen/arch/x86/oprofile/op_model_ppro.c >>>>> --- a/xen/arch/x86/oprofile/op_model_ppro.c Thu Dec 13 09:31:03 >>> 2007 >> +0000 +++ b/xen/arch/x86/oprofile/op_model_ppro.c Fri Dec >>> 14 >> 07:21:43 2007 +0800 @@ -126,6 +127,11 @@ static void >>>>> ppro_start(struct op_msrs co CTRL_READ(low, high, msrs, 0); >>>>> CTRL_SET_ACTIVE(low); CTRL_WRITE(low, high, msrs, 0); >>>>> + /* Global Control MSR is enabled by default when system power >>>>> on. + * However, this may not hold true when xenoprof starts >>> to >> run. + */ + if ( ppro_has_global_ctrl ) >>>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 1); >>>>> } >>>>> >>>>> >>>>> @@ -135,6 +141,8 @@ static void ppro_stop(struct op_msrs con >>>>> CTRL_READ(low, high, msrs, 0); >>>>> CTRL_SET_INACTIVE(low); >>>>> CTRL_WRITE(low, high, msrs, 0); >>>>> + if ( ppro_has_global_ctrl ) >>>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0); >>>>> } >>>> >>>> Cheers, >>> >>> >>> ________________________________ >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Shan, Haitao
2008-Jan-31 05:45 UTC
RE: [Xen-devel] [PATCH] Enable Core 2 DuoPerformanceCountersinHVM guest
Hi, Keir,
Thanks for your checking in the patch. I think a little part of the original
patch may be dropped by accident. I attach it here.
diff -r 5c30a9dec02d xen/arch/x86/oprofile/nmi_int.c
--- a/xen/arch/x86/oprofile/nmi_int.c Wed Jan 30 18:39:04 2008 +0000
+++ b/xen/arch/x86/oprofile/nmi_int.c Wed Jan 30 22:42:22 2008 +0800
@@ -291,12 +291,16 @@ static int __init p4_init(char ** cpu_ty
}
+extern int ppro_has_global_ctrl;
static int __init ppro_init(char ** cpu_type)
{
__u8 cpu_model = current_cpu_data.x86_model;
if (cpu_model == 15 || cpu_model == 23)
+ {
*cpu_type = "i386/core_2";
+ ppro_has_global_ctrl = 1;
+ }
else if (cpu_model == 14)
*cpu_type = "i386/core";
else if (cpu_model > 13) {
Best Regards
Haitao Shan
Shan, Haitao wrote:> Thanks!
>
> Best Regards
> Haitao Shan
>
> Keir Fraser wrote:
>> Good enough. I''ll check it in.
>>
>> K.
>>
>>
>> On 30/1/08 09:44, "Shan, Haitao"
<haitao.shan@intel.com> wrote:
>>
>>> Hi, Keir,
>>>
>>> May I know what''s your opinions about the patch now?
>>>
>>> Best Regards
>>> Haitao Shan
>>>
>>> I will. This isn''t for 3.2.0 though, so I may not look
until after
>>> the
>>> 3.2.0 branch.
>>>
>>> -- Keri
>>>
>>> On 17/12/07 07:22, "Shan, Haitao"
<haitao.shan@intel.com> wrote:
>>>
>>>
>>>
>>> Hi, Keir,
>>> ?
>>> I have baked an updated patch. In this patch, I changed some
>>> logic?to shorten the lengthy part of core2_vpmu_do_wrmsr. And also,
>>> I did a rebase, since there?is?one?new changeset recently which
>>> made changes to xenoprofile.
>>>
>>> Can you have a look?
>>> <<pmu.patch>>
>>> Best Regards
>>> Haitao Shan
>>>
>>> Shan, Haitao wrote:
>>>> Hi, Salvador,
>>>>
>>>> Do you mean the strange indentation around CTRL_WRITE? That is
>>>> because there are three hard TABs before CTRL_WRITE. I am not
sure
>>>> whether I should fix the original code, so I just leave them
there
>>>> untouched.
>>>>
>>>> Haitao Shan
>>>>
>>> wrote:
>>>>> From: Otavio Salvador [mailto:otavio@ossystems.com.br
>>>> <mailto:otavio@ossystems.com.br>
<mailto:otavio@ossystems.com.br>
>>>> ]
>>>>> Sent: 2007年12月15日 3:05 > To: Shan, Haitao
>>>>> Cc: Keir Fraser; xen-devel@lists.xensource.com; Jiang,
Yunhong
>>>>> Subject: Re: [Xen-devel] Re: [PATCH] Enable Core 2 Duo
>>>>> PerformanceCounters inHVM guest
>>>>>
>>>>> "Shan, Haitao" <haitao.shan@intel.com>
writes:
>>>>>
>>>>> Hello Haitao,
>>>>>
>>>>> I''ve done a look on the patch and found two places
with wrong
>>>> coding > style. Take a look bellow:
>>>>>
>>>>>> diff -r 8f0cbfc478d6
xen/arch/x86/oprofile/op_model_ppro.c
>>>>>> --- a/xen/arch/x86/oprofile/op_model_ppro.c Thu Dec 13
09:31:03
>>>> 2007 >> +0000 +++ b/xen/arch/x86/oprofile/op_model_ppro.c
Fri
>>>> Dec 14 >> 07:21:43 2007 +0800 @@ -126,6 +127,11 @@ static
void
>>>>>> ppro_start(struct op_msrs co CTRL_READ(low, high,
msrs, 0);
>>>>>> CTRL_SET_ACTIVE(low); CTRL_WRITE(low, high, msrs,
0);
>>>>>> + /* Global Control MSR is enabled by default when
system
>>>>>> power on. + * However, this may not hold true when
xenoprof
>>>>>> starts
>>>> to >> run. + */ + if ( ppro_has_global_ctrl )
>>>>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 1);
>>>>>> }
>>>>>>
>>>>>>
>>>>>> @@ -135,6 +141,8 @@ static void ppro_stop(struct
op_msrs con
>>>>>> CTRL_READ(low, high, msrs, 0);
>>>>>> CTRL_SET_INACTIVE(low);
>>>>>> CTRL_WRITE(low, high, msrs, 0);
>>>>>> + if ( ppro_has_global_ctrl )
>>>>>> + wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0);
>>>>>> }
>>>>>
>>>>> Cheers,
>>>>
>>>>
>>>> ________________________________
>>>>
>>>> _______________________________________________
>>>> Xen-devel mailing list
>>>> Xen-devel@lists.xensource.com
>>>> http://lists.xensource.com/xen-devel
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Xen-devel mailing list
>>>> Xen-devel@lists.xensource.com
>>>> http://lists.xensource.com/xen-devel
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xensource.com
>>> http://lists.xensource.com/xen-devel
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel