Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

PCM can not work with suse11 sp1

Wang_Ruifeng
Beginner
552 Views
Hi all: I have a server with E5504 processor and it's OS is Suse 11 sp1 customized,whitch with no graphic lib,and glibc version is lib-2.7.so. I want to use PCM to get L1/L2 cache hit rate and IPC to performance system. But after I installed PCM, I ececute the command ./pcm.x 1 -ns, the screen is hang and i can do nothing. Ctrl +c can not stop it. and CPU utilization of core 0~2 become 99%. when I use linux strace to follow the system call, It's show this: umask(0) = 022 statfs("/dev/shm", {f_type=0x858458f6, f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0 brk(0) = 0x62c000 brk(0x64d000) = 0x64d000 open("/proc/mounts", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0ece909000 read(4, "rootfs / rootfs rw 0 0\n/proc /pr"..., 1024) = 929 read(4, "", 1024) = 0 close(4) = 0 munmap(0x7f0ece909000, 4096) = 0 futex(0x7f0ece6f22b8, 0x81 /* FUTEX_??? */, 2147483647) = 0 It's looks like hang to this line futex(). I also get the log: PCM::PCM() : UnsupportedMessage("Error: unsupported processor. Only Intel(R) processors are supported (Atom(R) and microarchitecture codename Nehalem, Westmere, Sandy Bridge and Ivy Bridge)."), cpu_family(-1), cpu_model(-1), threads_per_core(0), num_cores(0), num_sockets(0), core_gen_counter_num_max(0), core_gen_counter_num_used(0), // 0 means no core gen counters used core_gen_counter_width(0), core_fixed_counter_num_max(0), core_fixed_counter_num_used(0), core_fixed_counter_width(0), uncore_gen_counter_num_max(8), uncore_gen_counter_num_used(0), uncore_gen_counter_width(48), uncore_fixed_counter_num_max(1), uncore_fixed_counter_num_used(0), uncore_fixed_counter_width(48), perfmon_version(0), perfmon_config_anythread(1), nominal_frequency(0), qpi_speed(0), pkgThermalSpecPower(-1), pkgMinimumPower(-1), pkgMaximumPower(-1), MSR(NULL), jkt_uncore_pci(NULL), clientBW(NULL), clientImcReads(NULL), clientImcWrites(NULL), mode(INVALID_MODE), disable_JKT_workaround(false), canUsePerf(false) I found file cpucounterstest.cpp , add print log to trace, finally found CPU stay on this code - PCM * m = PCM::getInstance(); so I want to know why PCM stay ? and how to let PCM work rightly. thanks Ruifeng.
0 Kudos
9 Replies
Tongliang_L_
Beginner
552 Views

what's your PCM version?

As the log , it seems that the PCM can not recognize your CPU. You can trace the code and print your CPU Model which PCM can found.

In my PCM 2.5.1  I can find the reference codes in cpucounter.cpp from Line 356 to Line 357.

0 Kudos
Wang_Ruifeng
Beginner
552 Views

thank your reply Tongliang.

My PCM version is 2.4.

As contrast, I installed PCM v2.4 on this server(processor is xeon E5504) but OS is standard Suse11 sp1, it can work rightly, so i wondered if the suse OS is the problem, but i can not know how to bypass this case and let my PCM run rightly on my coustomized suse11 sp1.

Anybody meet the same issue?

0 Kudos
Patrick_F_Intel1
Employee
551 Views

Hello Tongliang,

It looks like you have nehalem-EP which should be supported by PCM. Can you try the current version of PCM: version 2.5.1 ?

Pat

0 Kudos
Wang_Ruifeng
Beginner
551 Views

Hello pat,

I try the version 2.5.1,it's also hang this command when i input "./pcm.x 1 -ns", and i try the processor Xeon E5645, the same as E5504.

0 Kudos
Patrick_F_Intel1
Employee
551 Views

I'm not sure what is going on but I have a couple of questions.

Are you running as root?

Are you running under native Suse or are you running in a virtual machine?

0 Kudos
Tongliang_L_
Beginner
551 Views

Sorry, guys,I don't have a nehalem-EP platform.

I try PCM 2.5.1 on my nehalem-EX platform which have eight Xeon E6540 processors and westmere-EP platform which have two Intel E5620 processors, the PCM can work normally on both.

0 Kudos
Patrick_F_Intel1
Employee
551 Views

Hello Tongliang,

I'm sorry... I should have said that it looks like Wang has a Nehalem-EP.

Pat

Tongliang L. wrote:

Sorry, guys,I don't have a nehalem-EP platform.

I try PCM 2.5.1 on my nehalem-EX platform which have eight Xeon E6540 processors and westmere-EP platform which have two Intel E5620 processors, the PCM can work normally on both.

0 Kudos
Roman_D_Intel
Employee
551 Views

Hi,

I don't see any PCM output here. I only see source code (but you wanted to post log/output?).

This reminds me this issue: http://software.intel.com/en-us/forums/topic/279776

It could happen because of an unclean shutdown of previous pcm run (if killed with -9 for example). The solution is a reboot or cleaning PCM semaphore state:

1. press Ctrl-Z to send pcm.x into background
2. killall -9 pcm.x
3. rm -rf /dev/shm/sem.*Intel*

Does it help?

Roman

0 Kudos
Tongliang_L_
Beginner
551 Views

Hi, Roman, your solution is exactly useful for me

Thank you very much.

0 Kudos
Reply