Re: [PATCH V3 1/4] perf: Add PERF_RECORD_SWITCH to indicate context switches

From: Arnaldo Carvalho de Melo
Date: Tue Jul 07 2015 - 09:44:53 EST


Em Tue, Jul 07, 2015 at 10:25:52AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Jul 07, 2015 at 11:36:39AM +0300, Adrian Hunter escreveu:
> > To make the event useful for privileged users also, if the
> > context is cpu-wide then the event will also provide the
> > next or previous pid/tid.
>
> <SNIP>
>
> > + /*
> > + * Records a context switch in or out (flagged by
> > + * PERF_RECORD_MISC_SWITCH_OUT). next_prev_pid and next_prev_tid are
> > + * (u32)-1 unless the context is cpu-wide, in which case they are the
>
> Why carry those extra 8 bytes for non priviledged users, all the time
> with -1?

> Can't userspace cope with this, i.e. we should be able to look for those
> fields when the context is CPU wide, and to not look for them otherwise,
> no?

To help userspace in places where all it has is the union perf_event, we
can reuse one bit in misc to state that, i.e.

#define PERF_RECORD_MISC_SWITCH_NEXT_PREV_PID 14

For instance.

- Arnaldo

> > + * next (switching out) or previous (switching in) pid/tid.
> > + *
> > + * struct {
> > + * struct perf_event_header header;
> > + * u32 next_prev_pid;
> > + * u32 next_prev_tid;
> > + * struct sample_id sample_id;
> > + * };
> > + */
> > + PERF_RECORD_SWITCH = 14,
> > +

--
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/