Re: [RFC][PATCH 06/11] sched: Fix trace_sched_switch()

From: Peter Zijlstra
Date: Tue Sep 29 2015 - 11:54:32 EST

On Tue, Sep 29, 2015 at 11:38:12AM -0400, Steven Rostedt wrote:
> On Tue, 29 Sep 2015 11:28:31 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > +static inline long __trace_sched_switch_state(bool preempt, struct task_struct *p)
> > {
> > + return preempt ? TASK_RUNNING | TASK_STATE_MAX : p->state;
> > }
> Hmm, this original change screwed up kernelshark, as it used the
> state to determine if something was preempted or not. Because now you
> always show a task as running, it can't do that anymore. I think I
> bitched about this before.
> What about nuking the above and just export to the sched_switch
> tracepoint the fact that it was preempted. We now have that information
> passed to it.
> As everything should be using the parsing files, it should not break
> any tools to export it.

/SHOULD/ being the operative word. Experience has taught me that
changing the sched tracepoint leads to borkage.

But we can sure try, see if someone notices etc.. Same with
trace_sched_wakeup(), that still prints a dummy value.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at