Re: [patch] perf_event_open.2: 3.19 PERF_SAMPLE_REGS_INTR support

Vince Weaver
2015-03-02T22:20:06Z

On Mon, 2 Mar 2015, Stephane Eranian wrote:

> Vince, REGS_USER is user ONLY. It does not capture machine state if PMU
> interrupt occurred inside the kernel. REGS_USER is useful in support of dwarf
> based user level call stack unwinding. Otherwise REGS_INTR is what most
> analysis tools need.

so the summary is:

REGS_USER : gives you the registers at the time of interrupt,
but always in user mode (if in kernel reports
last ip before entered kernel)
useful for stack unwinding

REGS_INTR and precise_ip=0:
same as REGS_USER

REGS_INTR and precise_ip>0 and PEBS hardware:
gives you the register state at time
of interrupt. Can be inside of kernel.

do not enable REGS_USER and REG_INTR at the same time
as REGS_USER will have REG_INTR values and
cannot be used for user stack unwinding

Vince