Re: [PATCH 1/1] trace: use the more accurate parameter.

From: Steven Rostedt
Date: Fri Feb 13 2009 - 00:56:44 EST



On Wed, 11 Feb 2009, Ingo Molnar wrote:

>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > On Mon, Feb 09, 2009 at 07:30:04PM -0500, Wenji Huang wrote:
> > > Pass tsk to __update_max_tr instead of current to avoid latent hazard.
> > >
> > > Impact: clean up
> > >
> > > Signed-off-by: Wenji Huang <wenji.huang@xxxxxxxxxx>
> > > ---
> > > kernel/trace/trace.c | 2 +-
> > > 1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> > > index 5b1e9a9..c1592f1 100644
> > > --- a/kernel/trace/trace.c
> > > +++ b/kernel/trace/trace.c
> > > @@ -335,7 +335,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
> > > data->rt_priority = tsk->rt_priority;
> > >
> > > /* record this tasks comm */
> > > - tracing_record_cmdline(current);
> > > + tracing_record_cmdline(tsk);
> > > }
> >
> >
> > Indeed. At this stage, tsk is the next task in the middle of a context
> > switch. So I guess current is right, but this is more proper to use tsk.
>
> Rename it to 'next' then please.

I'm sorry, I missed this comment, and only notice it because of Wenji's
latest patches.

For the __update_max_tr used by irqsoff, this is not the case. The
update_max_tr is just to make a snapshot of the latest max. The
irq/preempt latency tracers do not use the sched switch to record comms,
especially since it only cares when a new max happens. There is no concept
of a 'next' task.

I think the proper name is 'task'.

-- Steve

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