[PATCH 09/11] sched: export task_prio to GPL modules

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Dec 1 22:36:07 UTC 2011


* Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> * Peter Zijlstra (peterz at infradead.org) wrote:
> > On Thu, 2011-12-01 at 17:04 -0500, Mathieu Desnoyers wrote:
> > > * Peter Zijlstra (peterz at infradead.org) wrote:
> > > > On Thu, 2011-12-01 at 16:41 -0500, Mathieu Desnoyers wrote:
> > > > > LTTng needs this symbol to prepend the current task dynamic priority
> > > > > value to events (optional context information).
> > > > 
> > > > I absolutely detest exporting such stuff. It propagates the idea that
> > > > task prio actually means something. Also, modules really shouldn't care.
> > > 
> > > People debugging their SCHED_FIFO/SCHED_RR applications, as well as
> > > users of priority-inheritance futexes, may happen to find this
> > > information extremely useful.
> > > 
> > > Just saying...
> > 
> > Right until the moment we go do deadlines.. Anyway, it still doesn't
> > make sense, your sched_switch() tracepoint handler gets this
> > information, why do you need this export at all?
> 
> If you don't want to trace sched_switch, but just conveniently prepend
> this information to all your events, then lttng lets you dynamically
> target this extra bit of information. Note that it's not a mandatory
> event field: I call those "context" fields that the tracer prepends to
> events, as requested by the user.

One more point:

compudj at thinkos:/proc/204$ cat sched
khubd (204, #threads: 1)
---------------------------------------------------------
se.exec_start                      :       3355267.749529
se.vruntime                        :        113843.899081
se.sum_exec_runtime                :            12.820702
nr_switches                        :                  386
nr_voluntary_switches              :                  385
nr_involuntary_switches            :                    1
se.load.weight                     :                 1024
policy                             :                    0
prio                               :                  120
clock-delta                        :                  130

So what you are saying is that it is fine to export task_prio to
_userspace_, thus making it part of the ABI, but it's not OK to export
it to GPL modules ?

Weird huh ?

Mathieu

> 
> Thanks,
> 
> Mathieu
> 
> 
> -- 
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



More information about the devel mailing list