PCM can not work with suse11 sp1

PCM can not work with suse11 sp1

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.

10 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

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?

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

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.

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?

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.

Hello Tongliang,

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

Pat

Quote:

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.

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

Hi, Roman, your solution is exactly useful for me

Thank you very much.

Leave a Comment

Please sign in to add a comment. Not a member? Join today