perf tools: Add time out to force stop proc map processing
authorKan Liang <kan.liang@intel.com>
Wed, 17 Jun 2015 13:51:10 +0000 (09:51 -0400)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 19 Jun 2015 21:20:15 +0000 (18:20 -0300)
commit930e6fcd2bcce9bcd9d4aa7e755678d33f3fe6f4
tree5f85d268437a01f2a2982be31c82cb00a81efd85
parentc05676c06232e6459a6106ddf0d4e154ce6cd859
perf tools: Add time out to force stop proc map processing

System wide sampling like 'perf top' or 'perf record -a' read all
threads /proc/xxx/maps before sampling. If there are any threads which
generating a keeping growing huge maps, perf will do infinite loop
during synthesizing. Nothing will be sampled.

This patch fixes this issue by adding per-thread timeout to force stop
this kind of endless proc map processing.

PERF_RECORD_MISC_PROC_MAP_PARSE_TIME_OUT is introduced to indicate that
the mmap record are truncated by time out. User will get warning
notification when truncated mmap records are detected.

Reported-by: Ying Huang <ying.huang@intel.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ying Huang <ying.huang@intel.com>
Link: http://lkml.kernel.org/r/1434549071-25611-1-git-send-email-kan.liang@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
include/uapi/linux/perf_event.h
tools/perf/util/event.c
tools/perf/util/event.h
tools/perf/util/session.c