Stephane Eranian wrote:
Hello,
I am happy to announce that we now have a GIT tree for the perfmon2
kernel. This way you will all be able to track closely the latest
perfmon2 changes. We will also be able to better track the main
kernel changes.
You can get your copy of the tree by doing:
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/eranian/linux-2.6
As of today, you have 2.6.23-rc3 + the latest perfmon changes from 2.6.22.
The tree also includes modifications to the Intel Core processors support
to allow more than one counter to be used when PEBS is active.
Enjoy,
What architectures has the git kernel been tried on so far? I just built the git
kernel on an x86-64 machine running FC-6. It doesn't seem to work with the
current pfmon/libpfm in the cvs, nor earlier ones that I built based on 070507
snapshot. Below are the details from running the self example and strace with
the current cvs code installed on the machine
-Will
./self
AMD model=0x24 stepping=0x2 rev=E
[PERFSEL0(pmc0)=0x510076 emask=0x76 umask=0x0 os=0 usr=1 inv=0 en=1 int=1 edge=0
cnt_mask=0] CPU_CLK_UNHALTED
[PERFCTR0(pmd0)]
[PERFSEL1(pmc1)=0x5100c0 emask=0xc0 umask=0x0 os=0 usr=1 inv=0 en=1 int=1 edge=0
cnt_mask=0] RETIRED_INSTRUCTIONS
[PERFCTR1(pmd1)]
pfm_write_pmcs error errno 95
$ strace ./self
execve("./self", ["./self"], [/* 45 vars */]) = 0
brk(0) = 0x63d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2b3de5dee000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2b3de5def000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=119286, ...}) = 0
mmap(NULL, 119286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3de5df0000
close(3) = 0
open("/lib64/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>`\331:\0\0\0"..., 832)
= 832
fstat(3, {st_mode=S_IFREG|0755, st_size=615136, ...}) = 0
mmap(0x3ad9600000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x3ad9600000
mprotect(0x3ad9682000, 2093056, PROT_NONE) = 0
mmap(0x3ad9881000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81000) = 0x3ad9881000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000W \333:\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=141344, ...}) = 0
mmap(0x3adb200000, 2200432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x3adb200000
mprotect(0x3adb215000, 2093056, PROT_NONE) = 0
mmap(0x3adb414000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x3adb414000
mmap(0x3adb416000, 13168, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3adb416000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\331!\331:\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1687464, ...}) = 0
mmap(0x3ad9200000, 3469464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x3ad9200000
mprotect(0x3ad9346000, 2097152, PROT_NONE) = 0
mmap(0x3ad9546000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x146000) = 0x3ad9546000
mmap(0x3ad954b000, 16536, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ad954b000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2b3de5e0e000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2b3de5e0f000
arch_prctl(ARCH_SET_FS, 0x2b3de5e0ef90) = 0
mprotect(0x3ad9546000, 16384, PROT_READ) = 0
mprotect(0x3adb414000, 4096, PROT_READ) = 0
mprotect(0x3ad9881000, 4096, PROT_READ) = 0
mprotect(0x3ad9019000, 4096, PROT_READ) = 0
munmap(0x2b3de5df0000, 119286) = 0
set_tid_address(0x2b3de5e0f020) = 9067
set_robust_list(0x2b3de5e0f030, 0x18) = 0
rt_sigaction(SIGRTMIN, {0x3adb205360, [], SA_RESTORER|SA_SIGINFO, 0x3adb20de70},
NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x3adb2052b0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO,
0x3adb20de70}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
write(2, "AMD model=0x24 stepping=0x2 rev="..., 34AMD model=0x24 stepping=0x2
rev=E
) = 34
brk(0) = 0x63d000
brk(0x65e000) = 0x65e000
eventfd(140736495063792) = 3
syscall_293(0x3, 0x7fffc4c780e0, 0x1, 0, 0, 0x7fffc4c7818b, 0x3, 0x3, 0x3, 0x3,
0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
0x3, 0x3, 0x3, 0x3, 0x3, 0x3) = -1 (errno 9)
write(2, "[PERFSEL0(pmc0)=0x510076 emask=0"..., 110[PERFSEL0(pmc0)=0x510076
emask=0x76 umask=0x0 os=0 usr=1 inv=0 en=1 int=1 edge=0 cnt_mask=0] CPU_CLK_UNHALTED
) = 110
write(2, "[PERFCTR0(pmd0)]\n", 17[PERFCTR0(pmd0)]
) = 17
write(2, "[PERFSEL1(pmc1)=0x5100c0 emask=0"..., 114[PERFSEL1(pmc1)=0x5100c0
emask=0xc0 umask=0x0 os=0 usr=1 inv=0 en=1 int=1 edge=0 cnt_mask=0]
RETIRED_INSTRUCTIONS
) = 114
write(2, "[PERFCTR1(pmd1)]\n", 17[PERFCTR1(pmd1)]
) = 17
syscall_285(0x3, 0x7fffc4cb32f0, 0x2, 0x2b3de5e0ef90, 0x3ad9312ee0,
0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0,
0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0,
0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0,
0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0,
0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0, 0x7fffc4c952b0,
0x7fffc4c952b0, 0x7fffc4c952b0) = -1 (errno 95)
write(2, "pfm_write_pmcs error errno 95\n", 30pfm_write_pmcs error errno 95
) = 30
exit_group(1) = ?
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/