[Devel] Re: [PATCH 4/5] ftrace: add thread comm to function graph tracer
Andrew Morton
akpm at linux-foundation.org
Wed Nov 26 10:04:50 PST 2008
On Wed, 26 Nov 2008 11:48:44 -0500 (EST) Steven Rostedt <rostedt at goodmis.org> wrote:
>
> On Tue, 25 Nov 2008, Andrew Morton wrote:
>
> > On Wed, 26 Nov 2008 00:16:26 -0500 Steven Rostedt <rostedt at goodmis.org> wrote:
> >
> > > From: Steven Rostedt <rostedt at goodmis.org>
> > >
> > > Impact: enhancement to function graph tracer
> > >
> > > Export the trace_find_cmdline so the function graph tracer can
> > > use it to print the comms of the threads.
> > >
> > > -static char *trace_find_cmdline(int pid)
> > > +char *trace_find_cmdline(int pid)
> > >
> > > ...
> > >
> > > static int verif_pid(struct trace_seq *s, pid_t pid)
> > > {
> > > + char *comm;
> > > +
> > > if (last_pid != -1 && last_pid == pid)
> > > return 1;
> > >
> > > last_pid = pid;
> > > - return trace_seq_printf(s, "\n------------8<---------- thread %d"
> > > + comm = trace_find_cmdline(pid);
> > > +
> > > + return trace_seq_printf(s, "\n------------8<---------- thread %s-%d"
> > > " ------------8<----------\n\n",
> > > - pid);
> > > + comm, pid);
> > > }
> >
> > This code gets its int's and pid_t's all mixed up. It's a bit cosmetic, but
> > nice to get it right for readability's sake.
>
> Hmm, I think I would like to keep all pids as ints. Perhaps because we do
> not have namespaces here ;-)
>
> I'm totally confused by what to do. I'll have to think about it.
Well. Any variable which contains a process ID should have type pid_t.
It gets more complicated in places where these values are passed to and
from userspace (including via printk!). It would be defensive (but
unnecessary) to cast the pid_t's to and from known-size types at the
kernel boundaries.
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list