Hi, Stephane

I found the SAL spec is too old(<3.2) on my HP rx4640 server, the SAL call 
"SAL_PHYSICAL_ID_INFO" is unimplement.
In this situation, the identify_siblings() which have that SAL call will alway 
return without overwriting the cpuinfo_ia64 structure.
So it didn't identify the correct core ID and thread ID of my processors, and 
is_multithreading_enabled() will always return true.

Is SAL_PHYSICAL_ID_INFO important to identify the socket ID? I find that a 
single PAL_LOGICAL_TO_PHYSICAL call before the SAL call code is enough to find 
the correct IDs. Will simply comment out the SAL call code be safe?



2009-04-16 



xudi 



发件人: stephane eranian 
发送时间: 2009-04-14  03:49:33 
收件人: xudi 
抄送: perfmon2-devel 
主题: Re: [perfmon2]pfmon_error_on_Montecito_processor 
 
Hi,


I am puzzled by what you are experiencing with the HT off test. This leads me 
to believe
that there is something wrong with the code but it is not clear to me where.


I guess one thing you could do is:
  - edit arch/ia64/perfmon/perfmon_montecito.c
  - locate the call to is_multithreading_enabled(), and print the return value 
of this function.
    With HT off it should return 0. If not, then there is a problem with this 
function.





On Fri, Apr 10, 2009 at 1:37 PM, xudi <x...@ict.ac.cn> wrote:

Note that on my original system using perfmon v2.0 with linux 2.6.9, all PMCs 
can be accessed even I turn on the multithreading.

So maybe I miss something while configuring the linux kernel before building 
it? I used the old .config file but with no luck.

Which version of linux&perfmon kernel do you use? And can you send me your 
linux .config file?





发件人: xudi 
发送时间: 2009-04-10  19:21:02 
收件人: eranian 
抄送: perfmon2-devel 
主题: Re: [perfmon2]pfmon_error_on_Montecito_processor 
Yes, I DO turn off the threads using EFI shell, not ELILO. Sorry for my typo.
The cmdline is
:> cpuconfig threads off
:> reset


Now I have 8 processor and the physical ID of them are:
0,0,1,1,2,2,3,3
So these are 8 cores on 4 dual-core chips.





stephane eranian 
2009-04-10  18:25:34 
xudi 
perfmon2-devel 
Re: [perfmon2] pfmon error on Montecito processor 
Hi,
you're hitting the same errata handling code.
The kernel thinks you still have threads on or that they can
be enabled at runtime.
To actually disable threads, and if I recall correctly, you must use
cpuconfig at the EFI shell prompt. You must do something like:
fs0:> cpuconfig threads off
Then, you must power cycle the machine, and reboot. No options
needed for ELILO.
On Fri, Apr 10, 2009 at 11:08 AM, xudi <x...@ict.ac.cn> wrote:
>
> please find the log in attachment.
>
> Yes, now I have 8 processors through my 4 Montecito CPU. When
> hyper-threading is on, I have 16 of them.
>
> ________________________________
> stephane eranian
> 2009-04-10  16:26:57
> xudi
> perfmon2-devel
> Re: [perfmon2] pfmon error on Montecito processor
> Hi,
> Now re-enable debugging, via:
>     echo 1 >/sys/kernel/perfmon/debug
>     echo 0 >/proc/sys/kernel/printk_ratelimit
> capture the debug messages from /var/log/messages and send them to me.
> If you've turned off threads, you should see half the number
> of CPUs in /proc/cpcuinfo.
> On Thu, Apr 9, 2009 at 4:31 PM, xudi <x...@ict.ac.cn> wrote:
>> Hi Stephane,
>>
>> The server I am using is HP rx4640 with 4 Montecito processors.
>> I re-compiled the kernel with newest perfmon-2.6.28, then I turned off
>> hyper-threading using the ELILO shell with cmdline "cpuconfig threads off".
>> But the PMC write error is still going on.
>>
>> I checked the old perfmon v2.0 with linux 2.6.9, all 12 PMCs can be accessed
>> even I trun on hyper-threading.
>>
>> ps:
>> I built the new kernel with flag
>> CONFIG_PERFMON=y
>> CONFIG_PERFMON_DEBUG=y
>> CONFIG_IA64_PERFMON_COMPAT=y
>> CONFIG_IA64_PERFMON_MONTECITO=m
>>
>> What else should I do?
>>
>>> stephane eranian
>>> 2009-04-03  14:38:43
>>> xudi
>>> Re: [perfmon2] pfmon error on Montecito processor
>>>Hi,
>>>I looked at the kernel code again. I think you're hit by the erratum
>>>121 work-around which consist
>>>in disabling access to PMC10-PMC15 (6 upper counters) when
>>>multithreading is on. If I recall
>>>this erratum, there is an issue with leaking interrupts from one
>>>thread to another. Even when counting,
>>>you can generate interrupt if the counter overflow the 47 bits. If you
>>>know you're not going to get into
>>>this situation a perfmon flag can be set of the counter, however it
>>>seems perfmon does not offer you
>>>this option. So yes, you're are restricted to 6 counters unless you
>>>turn off multithreading.
>>
>>
>>>2009/4/3  <x...@ict.ac.cn>:
>>> Hi eranian,
>>>
>>> I grabed the syslog of perfmon. Please find the attachment in this mail.
>>>
>>> The pfmon cmdline is still "pfmon -e
>>> L3_READS_ALL_MISS:M:E:S:I,back_end_bubble_all,be_exe_bubble_all,l2d_references_reads,L3_READS_ALL_ALL:M:E:S:I,L3_READS_ALL_HIT:M:E:S:I,L2D_OZQ_CANCELS0_FILL_ST_CONF,l1dtlb_transfer,l2dtlb_misses,dtlb_inserts_hpw,er_mem_read_out_hi,er_mem_read_out_lo
>>> ls"
>>>
>>> Regards,
>>> Scott
>>>
>>>> 2009/4/2  <x...@ict.ac.cn>:
>>>>> I'm sorry, there's no /var/log/syslog on my system(redhat)
>>>>> I find that /var/log/messages in the only changed file after I ran the
>>>>> pfmon cmdline, and there is only one message related:
>>>>>
>>>> Did you compile perfmon 2.81 yourself?
>>>> If so, make sure you enabled CONFIG_PERFMON_DEBUG.
>>>> Otherwise you don't get any debug messages.
>>>>
>>>>> Apr 聽2 23:04:43 xiaoqiang kernel: perfmon: perfmon: Errata 121
>>>>> PMD10/PMD15
>>>>> cannot be used to overflowwhen threads on on
>>>>>
>>>>> May be I will resolve the syslog problem first?
>>>>>
>>>>>
>>>>>> 2009/4/2 聽<x...@ict.ac.cn>:
>>>>>>> If I did the correct thing that you mean,
>>>>>>> no output for "pfmon/tests/pfdbg --on --printk"
>>>>>>> and the result of pfmon cmdline not change
>>>>>>>
>>>>>> Yes, that's normal, it just enabled kernel level debugging output.
>>>>>> grab what you have about perfmon in /var/log/syslog.
>>>>>>
>>>>>>>
>>>>>>>> 2009/4/2 鑱?lt;x...@ict.ac.cn>:
>>>>>>>>>
>>>>>>>>> Yes. for example:
>>>>>>>>> pfmon -e
>>>>>>>>> L3_READS_ALL_MISS:M:E:S:I,back_end_bubble_all,be_exe_bubble_all,l2d_references_reads,L3_READS_ALL_ALL:M:E:S:I,L3_READS_ALL_HIT:M:E:S:I,L2D_OZQ_CANCELS0_FILL_ST_CONF,l1dtlb_transfer,l2dtlb_misses,dtlb_inserts_hpw,er_mem_read_out_hi,er_mem_read_out_lo
>>>>>>>>> ls
>>>>>>>>
>>>>>>>> Works for me on my system.
>>>>>>>> You need to enable perfmon debugging and send me the output.
>>>>>>>> in the pfmon package, do:
>>>>>>>> 鑱?鑱?pfmon/tests/pfdbg --on --printk
>>>>>>>>
>>>>>>>> run test, grab syslog output.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> That's 12 events and I get "cannot write PMCs: Invalid argument"
>>>>>>>>> Then delete any 6 events on the event list, i.e. remain 6 events,
>>>>>>>>> all
>>>>>>>>> will
>>>>>>>>> be ok on my system.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Thu, Apr 2, 2009 at 3:29 PM, 閼?lt;x...@ict.ac.cn> wrote:
>>>>>>>>>>> Hi all:
>>>>>>>>>>>
>>>>>>>>>>> Now I'm using a dual-core Itanium2 processor with perfmon kernel
>>>>>>>>>>> 2.81,
>>>>>>>>>>> pfmlib and pfmon V3.7.
>>>>>>>>>>> I have used pfmon3.2 with kernel 2.0 for long time. I updated the
>>>>>>>>>>> perfmon
>>>>>>>>>>> kernel to 2.81 recently and now I get problems. When I count for
>>>>>>>>>>> more
>>>>>>>>>>> than
>>>>>>>>>>> 6 events with pfmon, I get the error message "cannot write PMCs:
>>>>>>>>>>> Invalid
>>>>>>>>>>> argument". If the number of events is less than or equal to 6,
>>>>>>>>>>> pfmon
>>>>>>>>>>> works
>>>>>>>>>>> well.
>>>>>>>>>>
>>>>>>>>>> You need to provide the exact pfmon cmdline so I can try and
>>>>>>>>>> reproduce
>>>>>>>>>> the
>>>>>>>>>> problem.
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I also get the dmessage as "perfmon: perfmon: Errata 121
>>>>>>>>>>> PMD10/PMD15
>>>>>>>>>>> cannot be used to overflowwhen threads on on" when that error
>>>>>>>>>>> occurs.
>>>>>>>>>>>
>>>>>>>>>> That is normal. There is indeed a processor bug.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Note that Montecito processor has 12 PMUs.
>>>>>>>>>>>
>>>>>>>>>> Yes, but there are restrictions on some events.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to