I am using version 2.6 on RHEL 6u4. I have changed the permissions of all MSRs to +r+w by public but when I try to run ./pcm.x 1 as a common user, I am getting the following (I can run OK as root).
IntelPerformanceCounterMonitorV2.6 $ ./pcm.x 1 Intel(r) Performance Counter Monitor V2.6 (2013-11-04 13:43:31 +0100 ID=db05e43) Copyright (c) 2009-2013 Intel Corporation Number of physical cores: 16 Number of logical cores: 16 Threads (logical cores) per physical core: 1 Num sockets: 2 Core PMU (perfmon) version: 3 Number of core PMU generic (programmable) counters: 8 Width of generic (programmable) counters: 48 bits Number of core PMU fixed counters: 3 Width of fixed counters: 48 bits Can not access CPUs Model Specific Registers (MSRs). Try to execute 'modprobe msr' as root user and then you also must have read and write permissions for /dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown' command can help. Access to Intel(r) Performance Counter Monitor has denied (no MSR or PCI CFG space access).
But MSRs are already R, W by public :
IntelPerformanceCounterMonitorV2.6 $ ll /dev/cpu/*/msr crw-rw-rw- 1 root root 202, 0 Jul 28 17:25 /dev/cpu/0/msr ... crw-rw-rw- 1 root root 202, 15 Jul 28 17:25 /dev/cpu/15/msr