Hi Phil,

On Thu, Dec 24, 2015 at 1:55 AM, Philip Mucci <mu...@icl.utk.edu> wrote:

> Hi folks,
>
> Does the nmi_watchdog prevent libpfm from working at all? I’m on an older
> Sandia system (compton)
>
> No, this only affects the number of events you can measure simultaneously.


> Is this a kernel version and perf attr data structure problem? It can’t be
> NMI since perf with raw registers seems to work fine…
>
> Looks like it because you have perf stat working. Your kernel is set to
paranoid 2, which means you can only monitor
user level execution.

Normally, the key field is attr.size. It should always be set to attr.size
= sizeof(attr). But that is in the example.
Furthermore, the kernel handles older attr struct (with smaller size).
Bigger are not a problem as long as the excess
fields are zero. What could cause a problem is:
  -  attr.reserved1 != 0
  - attr.sample_type has unknown bits set for kernel
  - attr.read_format has unknown bits set for kernel
  - attr.branch_sample_type has unknown bits set for kernel

I would check that first.



>
> [pjmucci@compton1 perfmon2-libpfm4.git]$ uname -a
> Linux compton1 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT
> 2011 x86_64 x86_64 x86_64 GNU/Linux
> [pjmucci@compton1 perfmon2-libpfm4.git]$ cat /etc/*ease
> Red Hat Enterprise Linux Workstation release 6.1 (Santiago)
> Red Hat Enterprise Linux Workstation release 6.1 (Santiago)
>
> [pjmucci@compton32 perfmon2-libpfm4.git]$ cat /etc/*ease
> Red Hat Enterprise Linux Server release 6.2 (Santiago)
> Red Hat Enterprise Linux Server release 6.2 (Santiago)
> [pjmucci@compton32 perfmon2-libpfm4.git]$ uname -a
> Linux compton32 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011
> x86_64 x86_64 x86_64 GNU/Linux
>
> [pjmucci@compton32 perfmon2-libpfm4.git]$ cat
> /proc/sys/kernel/perf_event_paranoid
> 2
> [pjmucci@compton32 perfmon2-libpfm4.git]$ cat
> /proc/sys/kernel/nmi_watchdog
> 1
> [pjmucci@compton32 perfmon2-libpfm4.git]$ ./examples/check_events
> snb_ep::UOPS_RETIRED:TOTAL_CYCLES:u
> Requested Event: snb_ep::UOPS_RETIRED:TOTAL_CYCLES:u
> Actual    Event: snb_ep::UOPS_RETIRED:ALL:k=0:u=1:e=0:i=0:c=16:t=0
> PMU            : Intel Sandy Bridge EP
> IDX            : 148897869
> Codes          : 0x105101c2
> [pjmucci@compton32 perfmon2-libpfm4.git]$ perf stat -e r105301c2:uh sleep
> 1
>
>  Performance counter stats for 'sleep 1':
>
>                  0 r105301c2:uh
>
>
>        1.001672975 seconds time elapsed
> [pjmucci@compton32 perfmon2-libpfm4.git]$ ./perf_examples/self_count
> snb_ep::UOPS_RETIRED:TOTAL_CYCLES:u
> self_count: cannot open event 0: Invalid argument
>
>
> [pjmucci@compton32 perfmon2-libpfm4.git]$ ./perf_examples/evt2raw
> snb_ep::UNHALTED_CORE_CYCLES:u
> r53003c:uh
> [pjmucci@compton32 perfmon2-libpfm4.git]$ ./perf_examples/evt2raw
> snb_ep::UNHALTED_REFERENCE_CYCLES:u
> r530300:uh
> [pjmucci@compton32 perfmon2-libpfm4.git]$ perf stat -e r530300:uh sleep 1
>
>  Performance counter stats for 'sleep 1':
>
>                  3 r530300:uh
>
>
>        1.002638998 seconds time elapsed
>
> [pjmucci@compton32 perfmon2-libpfm4.git]$ perf stat -e r53003c:uh sleep 1
>
>  Performance counter stats for 'sleep 1':
>
>            300,065 r53003c:uh
>
>
>        1.001350589 seconds time elapsed
>
> [pjmucci@compton32 perfmon2-libpfm4.git]$ ./perf_examples/self_count
> snb_ep::UNHALTED_CORE_CYCLES:u
> self_count: cannot open event 0: Invalid argument
>
>
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> perfmon2-devel mailing list
> perfmon2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
>
>
------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to