lkml.org 
[lkml]   [2018]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 12/12] perf report: Add --task option to display monitored tasks
    On Tue, Jan 09, 2018 at 10:05:24AM -0300, Arnaldo Carvalho de Melo wrote:
    > Em Tue, Jan 09, 2018 at 10:15:51AM +0100, Jiri Olsa escreveu:
    > > On Tue, Jan 09, 2018 at 10:56:07AM +0900, Namhyung Kim wrote:
    > >
    > > SNIP
    > >
    > > > > +static struct task *task_list(struct task *task, struct machine *machine)
    > > > > +{
    > > > > + struct thread *parent_thread, *thread = task->thread;
    > > > > + struct task *parent_task;
    > > > > +
    > > > > + /* Already listed. */
    > > > > + if (!list_empty(&task->list))
    > > > > + return NULL;
    > > > > +
    > > > > + /* Last one in the chain. */
    > > > > + if (thread->ppid == -1)
    > > > > + return task;
    > > > > +
    > > > > + parent_thread = machine__findnew_thread(machine, -1, thread->ppid);
    > > >
    > > > I think it should be machine__find_thread() since creating a new
    > > > thread at this stage would lack thread->priv anyway.
    > >
    > > ugh, that's right.. I tried to stay safe, but the NULL
    > > in priv would bring it down anyway
    > >
    > > Arnaldo,
    > > I already see changed version on top of your branch,
    > > please let me know if you make also this change or
    > > I should send v2
    >
    > I can make the change, thanks!
    >
    > Just to make sure we're on the same page, just this, right?
    >
    > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
    > index 3685ac101b16..e60709fe31ed 100644
    > --- a/tools/perf/builtin-report.c
    > +++ b/tools/perf/builtin-report.c
    > @@ -633,9 +633,9 @@ static struct task *tasks_list(struct task *task, struct machine *machine)
    > if (thread->ppid == -1)
    > return task;
    >
    > - parent_thread = machine__findnew_thread(machine, -1, thread->ppid);
    > + parent_thread = machine__find_thread(machine, -1, thread->ppid);

    yes

    > if (!parent_thread)
    > - return ERR_PTR(-ENOMEM);
    > + return ERR_PTR(-ENOENT);

    right, I haven't noticed this one.. then we should
    also do in the attached change

    thanks,
    jirka


    ---
    diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
    index f7338b594844..67c74d6dab24 100644
    --- a/tools/perf/builtin-report.c
    +++ b/tools/perf/builtin-report.c
    @@ -710,7 +710,7 @@ static int tasks_print(struct report *rep, FILE *fp)
    if (IS_ERR(task)) {
    pr_err("Error: failed to process tasks\n");
    free(tasks);
    - return -ENOMEM;
    + return PTR_ERR(task);
    }

    if (task)
    \
     
     \ /
      Last update: 2018-01-14 23:19    [W:4.084 / U:1.444 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site