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

PCM v2.6 hangs

nir_g_
Beginner
329 Views

Hi,

 

I'm trying to run PCM tolls on:

SW: Red Hat 6.5 2.6.32-431.el6.x86_64 

CPU: E5-2667 v2

Board: Intel SC2600C0

None of the utilities work. Trying strace I got the dump below. It seems it waits on a mutex that's never released. 

 

Please help..

Thanks,

Nir

 

 

[root@lb-tlvb-pcie26 IntelPerformanceCounterMonitorV2.6]# strace -ttT ./pcm-memory.x
13:49:06.687002 execve("./pcm-memory.x", ["./pcm-memory.x"], [/* 26 vars */]) = 0 <0.000200>
13:49:06.687501 brk(0)                  = 0x1954000 <0.000012>
13:49:06.687640 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d9a000 <0.000015>
13:49:06.687731 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) <0.000016>
13:49:06.687818 open("/etc/ld.so.cache", O_RDONLY) = 3 <0.000016>
13:49:06.687882 fstat(3, {st_mode=S_IFREG|0644, st_size=96100, ...}) = 0 <0.000012>
13:49:06.687957 mmap(NULL, 96100, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0274d82000 <0.000014>
13:49:06.688004 close(3)                = 0 <0.000012>
13:49:06.688062 open("/lib64/libpthread.so.0", O_RDONLY) = 3 <0.000016>
13:49:06.688115 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340]\340Z?\0\0\0"..., 832) = 832 <0.000013>
13:49:06.688180 fstat(3, {st_mode=S_IFREG|0755, st_size=145896, ...}) = 0 <0.000011>
13:49:06.688247 mmap(0x3f5ae00000, 2212848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f5ae00000 <0.000014>
13:49:06.688295 mprotect(0x3f5ae17000, 2097152, PROT_NONE) = 0 <0.000016>
13:49:06.688345 mmap(0x3f5b017000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x3f5b017000 <0.000019>
13:49:06.688407 mmap(0x3f5b019000, 13296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f5b019000 <0.000015>
13:49:06.688458 close(3)                = 0 <0.000012>
13:49:06.688511 open("/lib64/librt.so.1", O_RDONLY) = 3 <0.000017>
13:49:06.688611 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@!\240[?\0\0\0"..., 832) = 832 <0.000015>
13:49:06.688679 fstat(3, {st_mode=S_IFREG|0755, st_size=47064, ...}) = 0 <0.000012>
13:49:06.688751 mmap(0x3f5ba00000, 2128816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f5ba00000 <0.000015>
13:49:06.688804 mprotect(0x3f5ba07000, 2093056, PROT_NONE) = 0 <0.000015>
13:49:06.688858 mmap(0x3f5bc06000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x3f5bc06000 <0.000015>
13:49:06.688919 close(3)                = 0 <0.000012>
13:49:06.688970 open("/usr/lib64/libstdc++.so.6", O_RDONLY) = 3 <0.000017>
13:49:06.689026 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360c\345f?\0\0\0"..., 832) = 832 <0.000013>
13:49:06.689084 fstat(3, {st_mode=S_IFREG|0755, st_size=989840, ...}) = 0 <0.000012>
13:49:06.689150 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d81000 <0.000013>
13:49:06.689204 mmap(0x3f66e00000, 3166648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f66e00000 <0.000014>
13:49:06.689252 mprotect(0x3f66ee8000, 2097152, PROT_NONE) = 0 <0.000014>
13:49:06.689300 mmap(0x3f670e8000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe8000) = 0x3f670e8000 <0.000017>
13:49:06.689359 mmap(0x3f670f1000, 82360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f670f1000 <0.000016>
13:49:06.689410 close(3)                = 0 <0.000012>
13:49:06.689463 open("/lib64/libm.so.6", O_RDONLY) = 3 <0.000017>
13:49:06.689516 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p>`Z?\0\0\0"..., 832) = 832 <0.000013>
13:49:06.689610 fstat(3, {st_mode=S_IFREG|0755, st_size=599384, ...}) = 0 <0.000012>
13:49:06.689682 mmap(0x3f5a600000, 2633912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f5a600000 <0.000014>
13:49:06.689735 mprotect(0x3f5a683000, 2093056, PROT_NONE) = 0 <0.000015>
13:49:06.689787 mmap(0x3f5a882000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x82000) = 0x3f5a882000 <0.000015>
13:49:06.689854 close(3)                = 0 <0.000012>
13:49:06.689916 open("/lib64/libgcc_s.so.1", O_RDONLY) = 3 <0.000016>
13:49:06.689970 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20)`f?\0\0\0"..., 832) = 832 <0.000012>
13:49:06.690027 fstat(3, {st_mode=S_IFREG|0755, st_size=93320, ...}) = 0 <0.000012>
13:49:06.690093 mmap(0x3f66600000, 2186584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f66600000 <0.000015>
13:49:06.690141 mprotect(0x3f66616000, 2093056, PROT_NONE) = 0 <0.000014>
13:49:06.690188 mmap(0x3f66815000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x3f66815000 <0.000015>
13:49:06.690244 close(3)                = 0 <0.000012>
13:49:06.690301 open("/lib64/libc.so.6", O_RDONLY) = 3 <0.000016>
13:49:06.690352 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\356\241Z?\0\0\0"..., 832) = 832 <0.000012>
13:49:06.690410 fstat(3, {st_mode=S_IFREG|0755, st_size=1926800, ...}) = 0 <0.000011>
13:49:06.690475 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d80000 <0.000013>
13:49:06.690528 mmap(0x3f5aa00000, 3750152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f5aa00000 <0.000064>
13:49:06.690645 mprotect(0x3f5ab8b000, 2093056, PROT_NONE) = 0 <0.000019>
13:49:06.690714 mmap(0x3f5ad8a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0x3f5ad8a000 <0.000018>
13:49:06.690777 mmap(0x3f5ad8f000, 18696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f5ad8f000 <0.000016>
13:49:06.690829 close(3)                = 0 <0.000012>
13:49:06.690917 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d7f000 <0.000014>
13:49:06.690974 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d7d000 <0.000013>
13:49:06.691028 arch_prctl(ARCH_SET_FS, 0x7f0274d7d720) = 0 <0.000013>
13:49:06.691191 mprotect(0x3f5ad8a000, 16384, PROT_READ) = 0 <0.000016>
13:49:06.691257 mprotect(0x3f5a882000, 4096, PROT_READ) = 0 <0.000015>
13:49:06.691978 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d7c000 <0.000015>
13:49:06.692059 mprotect(0x3f670e8000, 28672, PROT_READ) = 0 <0.000015>
13:49:06.692117 mprotect(0x3f5bc06000, 4096, PROT_READ) = 0 <0.000014>
13:49:06.692183 mprotect(0x3f5b017000, 4096, PROT_READ) = 0 <0.000015>
13:49:06.692253 mprotect(0x3f5a41f000, 4096, PROT_READ) = 0 <0.000015>
13:49:06.692298 munmap(0x7f0274d82000, 96100) = 0 <0.000023>
13:49:06.692354 set_tid_address(0x7f0274d7d9f0) = 5676 <0.000011>
13:49:06.692397 set_robust_list(0x7f0274d7da00, 0x18) = 0 <0.000012>
13:49:06.692442 futex(0x7fff3caaeedc, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000012>
13:49:06.692491 futex(0x7fff3caaeedc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f0274d7d720) = -1 EAGAIN (Resource temporari                                                                                                 ly unavailable) <0.000012>
13:49:06.692555 rt_sigaction(SIGRTMIN, {0x3f5ae05c60, [], SA_RESTORER|SA_SIGINFO, 0x3f5ae0f710}, NULL, 8) = 0 <0.000019>
13:49:06.692693 rt_sigaction(SIGRT_1, {0x3f5ae05cf0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3f5ae0f710}, NULL, 8) = 0 <0.000011>
13:49:06.692766 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 <0.000012>
13:49:06.692835 getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0 <0.000013>
13:49:06.693061 futex(0x3f670f1d08, FUTEX_WAKE_PRIVATE, 2147483647) = 0 <0.000013>
13:49:06.693180 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 <0.000013>
13:49:06.693251 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0274d99000 <0.000014>
13:49:06.693306 write(1, "\n", 1
)       = 1 <0.000017>
13:49:06.693373 write(1, " Intel(r) Performance Counter Mo"..., 119 Intel(r) Performance Counter Monitor: Memory Bandwidth Monitoring Utilit                                                                                                 y V2.6 (2013-11-04 13:43:31 +0100 ID=db05e43)
) = 119 <0.000015>
13:49:06.693429 write(1, "\n", 1
)       = 1 <0.000014>
13:49:06.693478 write(1, " Copyright (c) 2009-2013 Intel C"..., 43 Copyright (c) 2009-2013 Intel Corporation
) = 43 <0.000015>
13:49:06.693532 write(1, " This utility measures memory ba"..., 65 This utility measures memory bandwidth per channel in real-time
) = 65 <0.000015>
13:49:06.693588 write(1, "\n", 1
)       = 1 <0.000013>
13:49:06.693640 rt_sigaction(SIGPIPE, {0x41aae0, [PIPE], SA_RESTORER|SA_RESTART, 0x3f5aa329a0}, {SIG_DFL, [], 0}, 8) = 0 <0.000012>
13:49:06.693724 rt_sigaction(SIGINT, {0x41aae0, [INT], SA_RESTORER|SA_RESTART, 0x3f5aa329a0}, {SIG_DFL, [], 0}, 8) = 0 <0.000013>
13:49:06.693805 rt_sigaction(SIGKILL, {0x41aae0, [KILL], SA_RESTORER|SA_RESTART, 0x3f5aa329a0}, {SIG_DFL, [], 0}, 8) = -1 EINVAL (Invalid ar                                                                                                 gument) <0.000012>
13:49:06.693885 rt_sigaction(SIGTERM, {0x41aae0, [TERM], SA_RESTORER|SA_RESTART, 0x3f5aa329a0}, {SIG_DFL, [], 0}, 8) = 0 <0.000012>
13:49:06.693962 umask(0)                = 022 <0.000011>
13:49:06.694012 statfs("/dev/shm", {f_type=0x1021994, f_bsize=4096, f_blocks=8233149, f_bfree=8233148, f_bavail=8233148, f_files=8233149, f_                                                                                                 ffree=8233147, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0 <0.000018>
13:49:06.694091 futex(0x3f5b01c2dc, FUTEX_WAKE_PRIVATE, 2147483647) = 0 <0.000012>
13:49:06.694143 open("/dev/shm/sem.Intel(r) PCM inst lock", O_RDWR|O_NOFOLLOW) = 3 <0.000017>
13:49:06.694200 fstat(3, {st_mode=S_IFREG|0777, st_size=32, ...}) = 0 <0.000012>
13:49:06.694332 brk(0)                  = 0x1954000 <0.000011>
13:49:06.694374 brk(0x1975000)          = 0x1975000 <0.000013>
13:49:06.694428 mmap(NULL, 32, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x7f0274d98000 <0.000015>
13:49:06.694478 close(3)                = 0 <0.000012>
13:49:06.694527 futex(0x7f0274d98000, FUTEX_WAIT, 0, NULL) = ? ERESTARTSYS (To be restarted) <8.804566>
13:49:15.499129 --- SIGWINCH (Window changed) @ 0 (0) ---
13:49:15.499171 futex(0x7f0274d98000, FUTEX_WAIT, 0, NULL

 

 

 

 

 

 

 

 

0 Kudos
1 Reply
Roman_D_Intel
Employee
329 Views

You can try the workaround inhttps://software.intel.com/en-us/forums/topic/413911

The next PCM version will contain a better solution.

Best regards,

Roman

 

0 Kudos
Reply