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

From: Peter Zijlstra
Date: Tue Jul 07 2015 - 11:37:47 EST


On Tue, Jul 07, 2015 at 10:44:37AM -0300, Arnaldo Carvalho de Melo wrote:
> 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.

The other option would be a separate RECORD type, which might be
simpler.
--
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/