From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@kernel.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Mohit Agrawal <moagrawa@redhat.com>
Subject: Re: [PATCH] perf sched latency: Fix removed thread issue
Date: Mon, 2 Nov 2015 19:53:53 -0300 [thread overview]
Message-ID: <20151102225353.GC21609@kernel.org> (raw)
In-Reply-To: <1446462625-15807-1-git-send-email-jolsa@kernel.org>
Em Mon, Nov 02, 2015 at 12:10:25PM +0100, Jiri Olsa escreveu:
> If machine's thread gets excited (EXIT event is received),
> we set thread->dead = true and it is later on removed from
> machine's tree if the pid is reused on new thread.
> The latency subcommand holds tree of working atoms sorted
> by thread's pid/tid. If there's new thread with same pid
Humm, wher is the latency subcommand handling the EXIT event?
I see:
perf_sched__lat
perf_sched__read_events
session = perf_session__new(&file, false, &sched->tool);
perf_session__process_events(session)
And sched->tool->exit() is not set, which will make
perf_session__process_events(), when calling perf_tool__fill_defaults()
set it to process_event_stub() which will do nothing for
PERF_RECORD_EXIT events, no?
Is there some perf.data file somewhere to reproduce this problem?
- Arnaldo
> and tid, the old working atom is found and assert bug
> condition is hit in search function:
> thread_atoms_search: Assertion `!(thread != atoms->thread)' failed
>
> Changing the sort function to use thread object pointers
> together with pid and tid check. This way new thread will
> never find old one with same pid/tid.
>
> I think we could change this to the sort based on timestamp
> of thread creation, once it's added within Namhyung's thread
> patchset.
>
> Reported-by: Mohit Agrawal <moagrawa@redhat.com>
> Link: http://lkml.kernel.org/n/tip-o4doazhhv0zax5zshkg8hnys@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
> tools/perf/builtin-sched.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
> index 0ee6d900e100..e3d3e32c0a93 100644
> --- a/tools/perf/builtin-sched.c
> +++ b/tools/perf/builtin-sched.c
> @@ -1203,12 +1203,13 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_
>
> static int pid_cmp(struct work_atoms *l, struct work_atoms *r)
> {
> + if (l->thread == r->thread)
> + return 0;
> if (l->thread->tid < r->thread->tid)
> return -1;
> if (l->thread->tid > r->thread->tid)
> return 1;
> -
> - return 0;
> + return (int)(l->thread - r->thread);
> }
>
> static int avg_cmp(struct work_atoms *l, struct work_atoms *r)
> --
> 2.4.3
next prev parent reply other threads:[~2015-11-02 22:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-02 11:10 [PATCH] perf sched latency: Fix removed thread issue Jiri Olsa
2015-11-02 22:27 ` Namhyung Kim
2015-11-03 8:04 ` Jiri Olsa
2015-11-02 22:53 ` Arnaldo Carvalho de Melo [this message]
2015-11-03 7:41 ` Jiri Olsa
2015-11-03 18:33 ` Arnaldo Carvalho de Melo
2015-11-04 7:34 ` Jiri Olsa
2015-11-08 7:31 ` [tip:perf/urgent] perf sched latency: Fix thread pid reuse issue tip-bot for Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151102225353.GC21609@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=moagrawa@redhat.com \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.