Re: perf counters: problem with perf record

From: Peter Zijlstra
Date: Sat Nov 14 2009 - 14:46:39 EST


On Sun, 2009-11-15 at 03:14 +1000, Simon KÃmpflein wrote:
> Hello,
>
> I have a problem with the new kernel perf tools in kernel 2.6.31.6 (very
> nice tools by the way). I like to monitor the cache-misses of a program.
> "perf stat -e cache-misses program" works without problems, but I can't
> get "perf record -e cache-misses program" working (even running as root
> and CONFIG_PERF_COUNTERS=y):
>
> Error: perfcounter syscall returned with -1 (Operation not supported)
> Fatal: No CONFIG_PERF_COUNTERS=y kernel support configured?
>
> strace of "perf stat":
> SYS_336(0x8508da0, 0x1074, 0xffffffff, 0xffffffff, 0) = 3
>
> strace of "perf record":
> SYS_336(0x8508da0, 0xf85, 0xffffffff, 0xffffffff, 0) = -1 EOPNOTSUPP
> (Operation not supported)
>
> My CPU is a "Intel(R) Pentium(R) M processor 1.80GHz":
> [ 0.004337] p6 PMU driver.
> [ 0.004343] ... version: 0
> [ 0.004345] ... bit width: 32
> [ 0.004347] ... generic counters: 2
> [ 0.004349] ... value mask: 00000000ffffffff
> [ 0.004351] ... max period: 000000007fffffff
> [ 0.004353] ... fixed-purpose counters: 0
> [ 0.004355] ... counter mask: 0000000000000003

Does the bootlog perchance contain the output of?

if (!cpu_has_apic) {
pr_info("no APIC, boot with the \"lapic\" boot parameter
to force-enable it.\n");
pr_info("no hardware sampling interrupt available.\n");
x86_pmu.apic = 0;
}

And does booting with the suggested lapic parameter cure your problems?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/