Re: Trace point events missing with bpf_trace_printk

Yonghong Song

On Fri, Jun 30, 2017 at 6:12 AM, Nair, Reena via iovisor-dev
<iovisor-dev@...> wrote:

I am trying to track the scheduling events of a particular process using the
static tracepoint: sched_switch.

A map entry is updated for each context switch, which is working fine,
however some of the events are missed while printing the value using
bpf_trace_printk() (Each context switch updates the value by '1', however
sometimes the output printed is not continuous).

What could be the reason?
If you try to print too much in a very short period of time, kernel
may skip some of prints.

Why is it given that PERF_OUTPUT is better than bpf_trace_printk?
perf_output is per process and bpf_trace_printk is global.

Is there any way to use PERF_OUTPUT with static tracepoints?
Yes. You can take a look at bcc/tests/python/ as an example.

Many Thanks,


iovisor-dev mailing list

Join { to automatically receive all group messages.