Re: BUG: perf top enters loop synthesizing events for existing threads

From: Arnaldo Carvalho de Melo
Date: Wed Apr 08 2015 - 09:45:49 EST


Em Wed, Apr 08, 2015 at 10:42:51AM -0300, Arnaldo Carvalho de Melo escreveu:
> Heads up,
>
> While testing some unrelated patches I noticed, in one of my
> machines, that 'perf top', as root, is entering some sort of loop and
> ends up consuming a lot of memory, making the system unresponsive,
> bisected it down to:
>
> [acme@zoo linux]$ git bisect good
> ca6c41c59b964d362823e80442e9e32c31106b29 is the first bad commit
> commit ca6c41c59b964d362823e80442e9e32c31106b29
> Author: David Ahern <dsahern@xxxxxxxxx>
> Date: Mon Mar 30 14:35:58 2015 -0600
>
> perf tools: Fix ppid for synthesized fork events
>
> 363b785f38 added synthesized fork events and set a thread's parent id to
> itself. Since we are already processing /proc/<pid>/status the ppid can
> be determined properly. Make it so.
>
> Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
> Acked-by: Don Zickus <dzickus@xxxxxxxxxx>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Joe Mario <jmario@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/1427747758-18510-2-git-send-email-dsahern@xxxxxxxxx
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> :040000 040000 24d479e4afbe95aaba882850473a870b6b3c7e87
> cc86fe0e51b5e8a66e8a23f934fd0c4ff0f8dcd6 M tools
> [acme@zoo linux]$
>
>
> I also noticed that if I set /proc/sys/kernel/perf_event_paranoid to -1
> to run it as !root, then the problem "goes away", which I think probably
> is explained by, as !root, not being able to parse some of the /proc
> files for existing threads and thus not triggering the bug, still
> investigating...
>
> I might need to revert it for this cycle...

Just reverting it makes the symptoms go away, to works as before. Trying
to understand the problem now.

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