Re: [PATCHv2] tracing - support multiple pids in set_pid_ftracefile

From: Jiri Olsa
Date: Wed Sep 16 2009 - 04:16:12 EST


On Tue, Sep 15, 2009 at 09:33:33PM -0400, Steven Rostedt wrote:
> On Wed, 2009-09-16 at 09:00 +0800, Li Zefan wrote:
> > jolsa@xxxxxxxxxx wrote:
> > > Adding the possibility to set more than 1 pid in the set_pid_ftrace file,
> > > thus allowing to trace more than 1 independent processes.
> > >
> > > Usage:
> > >
> > > sh-4.0# echo 284 > ./set_ftrace_pid
> > > sh-4.0# cat ./set_ftrace_pid
> > > 284
> > > sh-4.0# echo 1 >> ./set_ftrace_pid
> > > sh-4.0# echo 0 >> ./set_ftrace_pid
> > > sh-4.0# cat ./set_ftrace_pid
> > > swapper tasks
> > > 1
> > > 284
> > > sh-4.0# echo 4 > ./set_ftrace_pid
> > > sh-4.0# cat ./set_ftrace_pid
> > > 4
> > > sh-4.0# echo > ./set_ftrace_pid
> > > sh-4.0# cat ./set_ftrace_pid
> > > no pid
> > > sh-4.0#
> > >
> > >
> > > wbr,
> > > jirka
> > >
> > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> >
> > Looks good.
> >
> > Reviewed-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
>
> Thanks!
>
> >
> > a few nitpicks.
> >
> > > /* set when tracing only a pid */
> >
> > This comment should be removed too.
>
> Yeah, it goes with the deleted pointer below.
>
> >
> > > -struct pid *ftrace_pid_trace;
> > > static struct pid * const ftrace_swapper_pid = &init_struct_pid;
> > >
> > ...
> > > +static int ftrace_pid_add(int p)
> > > +{
> > > + struct pid *pid;
> > > + struct ftrace_pid *fpid;
> > > + int ret = -EINVAL;
> > > +
> > > + mutex_lock(&ftrace_lock);
> > > +
> > > + if (!p)
> > > + pid = ftrace_swapper_pid;
> > > + else
> > > + pid = find_get_pid(p);
> > > +
> > > + if (!pid)
> > > + goto out;
> > > +
> > > + list_for_each_entry(fpid, &ftrace_pids, list)
> > > + if (fpid->pid == pid)
> > > + goto out_put;
> >
> > rather than returning EINVAL, return EEXIST or just return 0?
>
> I agree, return 0, if it already exists, there's no harm in it returning
> success.
>
> -- Steve
thanks, I sent out v3

wbr,
jirka
--
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/