Re: [PATCH] Export sched tracepoints for use by kernel modules

From: Ingo Molnar
Date: Tue Apr 22 2014 - 14:26:24 EST



* Drew Richardson <drew.richardson@xxxxxxx> wrote:

> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_sleep);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_iowait);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_blocked);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_runtime);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_pi_setprio);
> > > +#ifdef CONFIG_DETECT_HUNG_TASK
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_process_hang);
> > > +#endif /* CONFIG_DETECT_HUNG_TASK */
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_move_numa);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stick_numa);
> > > +EXPORT_TRACEPOINT_SYMBOL_GPL(sched_swap_numa);
> >
> > Which in-tree kernel module is using these?
> >
> > Thanks,
> >
> > Ingo
> >
>
> Gator (http://git.linaro.org/arm/ds5/gator.git), an out of tree
> kernel module, uses sched_process_fork, sched_switch and
> sched_process_free. Along with exporting those tracepoints I thought
> it would be helpful to export all the tracepoints from
> trace/events/sched.h.

So, 'Gator' seems to be a rather ugly out of tree driver, ABI and
daemon slapped on top of perf events, duplicating part of perf events
functionality for no apparent good technical reason, just to enable a
binary-only profiler called 'ARM Streamline Analyzer'.

What does the 'gator' driver offer that perf events does not offer in
itself? If there's any sensible feature in there then it should be
added to the mainline kernel not as an add on driver and filesystem,
but as part of perf events subsystem itself.

Thanks,

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