Hi,

 

I’m unable to get oprofile to produce a profile.  My oprofiled.log shows:

 

-- OProfile Statistics --

Nr. sample dumps: 34

Nr. non-backtrace samples: 0

Nr. kernel samples: 0

Nr. lost samples (no kernel/user): 0

Nr. lost kernel samples: 0

Nr. incomplete code structs: 0

Nr. samples lost due to sample file open failure: 0

Nr. samples lost due to no permanent mapping: 0

Nr. event lost due to buffer overflow: 0

Nr. samples lost due to no mapping: 0

Nr. backtraces skipped due to no file mapping: 0

Nr. samples lost due to no mm: 0

 

---- Statistics for cpu : 31

Nr. samples lost cpu buffer overflow: 0

Nr. samples received: 0

Nr. backtrace aborted: 0

Nr. samples lost invalid pc: 0

 

and so on for 32 CPUs.

 

Any ideas for what I can do to track this down?

 

One oddity is that I only have 6 cores, and even with hyperthreading that’s 12 cpus.  /proc/cpuinfo confirms 12 cpus.

 

opcontrol –list-events prints:

 

$ opcontrol --list-events

oprofile: available events for CPU type "Intel Architectural Perfmon"

 

See Intel 64 and IA-32 Architectures Software Developer's Manual

Volume 3B (Document 253669) Chapter 18 for architectural perfmon events

This is a limited set of fallback events because oprofile doesn't know your CPU

CPU_CLK_UNHALTED: (counter: all)

        Clock cycles when not halted (min count: 6000)

INST_RETIRED: (counter: all)

        number of instructions retired (min count: 6000)

LLC_MISSES: (counter: all)

        Last level cache demand requests from this core that missed the LLC (min count: 6000)

        Unit masks (default 0x41)

        ----------

        0x41: No unit mask

LLC_REFS: (counter: all)

        Last level cache demand requests from this core (min count: 6000)

        Unit masks (default 0x4f)

        ----------

        0x4f: No unit mask

BR_INST_RETIRED: (counter: all)

        number of branch instructions retired (min count: 500)

BR_MISS_PRED_RETIRED: (counter: all)

        number of mispredicted branches retired (precise) (min count: 500)

 

My work flow is:

 

sudo opcontrol --shutdown

sudo opcontrol --init

sudo opcontrol --setup --no-vmlinux --callgraph=0 --event=CPU_CLK_UNHALTED:100000 --image=all

sudo opcontrol --start-daemon

sudo opcontrol --reset

sudo opcontrol --start --separate=lib

(Fire up python and run an infinite loop, let it run for a few seconds then kill it)

sudo opcontrol --stop

sudo opcontrol --dump

opreport

 

opreport says:

 

opreport error: No sample file found: try running opcontrol --dump

or specify a session containing sample files

 

$ sudo cat /root/.oprofile/daemonrc

SESSION_DIR=/var/lib/oprofile

CHOSEN_EVENTS_0=CPU_CLK_UNHALTED:100000:0:1:1

NR_CHOSEN=1

SEPARATE_LIB=1

SEPARATE_KERNEL=0

SEPARATE_THREAD=0

SEPARATE_CPU=0

VMLINUX=none

IMAGE_FILTER=

CPU_BUF_SIZE=0

CALLGRAPH=0

XENIMAGE=none

 

This is on Ubuntu 10.10.

 

Is there any documentation or wiki page on how to track down these problems?  Or is this mailing list my best bet?

 

Thanks,

Martin