public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] perf tools: Support overwritable ring buffer
@ 2016-05-23  7:13 Wang Nan
  2016-05-23  7:13 ` [PATCH v3 01/11] perf tools: Add API to pause/resume a evlist Wang Nan
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: Wang Nan @ 2016-05-23  7:13 UTC (permalink / raw)
  To: acme
  Cc: pi3orama, linux-kernel, Wang Nan, Arnaldo Carvalho de Melo,
	He Kuang, Jiri Olsa, Masami Hiramatsu, Namhyung Kim,
	Peter Zijlstra, Zefan Li

This patch set enables daemonized perf recording by utilizing
overwritable backward ring buffer. With this feature one can
put perf background, and dump ring buffer records by a SIGUSR2
when he/she find something unusual. For example, following
command record system calls, schedule events and samples on cpu cycles
continously:

 # perf record -g -e cycles -e raw_syscalls:*/call-graph=no/ \
                  -e sched:sched_switch/call-graph=no/ \
                  --switch-output --overwrite -a

Then by sending SIGUSR2 to perf when lagging is happen, we get multiple
perf.data output, each of them correspond a abnormal event, and the data
size is reasonable:

 # ls -l ./perf.data*
 -rw------- 1 root root 5122165 May 13 23:51 ./perf.data.2016051323511683
 -rw------- 1 root root 5135093 May 13 23:51 ./perf.data.2016051323512107
 -rw------- 1 root root 5135213 May 13 23:51 ./perf.data.2016051323512215
 -rw------- 1 root root 5135157 May 13 23:51 ./perf.data.2016051323512387

v1 -> v2: Totally redesign: drop the principle of 'channal', use
          auxiliary evlist instead. Fix missing documentation.

v2 -> v3: Rename perf_evlist__toggle_paused() to perf_evlist__pause/resume.

Wang Nan (11):
  perf tools: Add API to pause/resume a evlist
  perf record: Prevent reading invalid data in record__mmap_read
  perf record: Rename variable to make code clear
  perf record: Read from backward ring buffer
  perf evlist: Introduce aux perf evlist
  perf tools: Don't poll and mmap overwritable events
  perf tools: Enable overwrite settings
  perf record: Introduce rec->overwrite_evlist for overwritable events
  perf record: Toggle overwrite ring buffer for reading
  perf tools: Don't warn about out of order event if write_backward is
    used
  perf tools: Check write_backward during evlist config

 tools/perf/Documentation/perf-record.txt |  14 ++
 tools/perf/arch/x86/util/tsc.c           |   2 +
 tools/perf/builtin-record.c              | 354 +++++++++++++++++++++++++++----
 tools/perf/perf.h                        |   1 +
 tools/perf/util/evlist.c                 |  85 ++++++--
 tools/perf/util/evlist.h                 |   6 +
 tools/perf/util/evsel.c                  |  27 ++-
 tools/perf/util/evsel.h                  |  15 ++
 tools/perf/util/parse-events.c           |  20 +-
 tools/perf/util/parse-events.h           |   2 +
 tools/perf/util/parse-events.l           |   2 +
 tools/perf/util/record.c                 |  17 ++
 tools/perf/util/session.c                |  22 +-
 13 files changed, 498 insertions(+), 69 deletions(-)

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com

-- 
1.8.3.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-05-24  5:49 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-23  7:13 [PATCH v3 00/11] perf tools: Support overwritable ring buffer Wang Nan
2016-05-23  7:13 ` [PATCH v3 01/11] perf tools: Add API to pause/resume a evlist Wang Nan
2016-05-23 21:24   ` Arnaldo Carvalho de Melo
2016-05-24  5:48   ` [tip:perf/urgent] perf evlist: Add API to pause/resume tip-bot for Wang Nan
2016-05-23  7:13 ` [PATCH v3 02/11] perf record: Prevent reading invalid data in record__mmap_read Wang Nan
2016-05-24  5:48   ` [tip:perf/urgent] " tip-bot for Wang Nan
2016-05-23  7:13 ` [PATCH v3 03/11] perf record: Rename variable to make code clear Wang Nan
2016-05-24  5:48   ` [tip:perf/urgent] " tip-bot for Wang Nan
2016-05-23  7:13 ` [PATCH v3 04/11] perf record: Read from backward ring buffer Wang Nan
2016-05-24  5:49   ` [tip:perf/urgent] " tip-bot for Wang Nan
2016-05-23  7:13 ` [PATCH v3 05/11] perf evlist: Introduce aux perf evlist Wang Nan
2016-05-23 19:48   ` Arnaldo Carvalho de Melo
2016-05-23  7:13 ` [PATCH v3 06/11] perf tools: Don't poll and mmap overwritable events Wang Nan
2016-05-23  7:13 ` [PATCH v3 07/11] perf tools: Enable overwrite settings Wang Nan
2016-05-23  7:13 ` [PATCH v3 08/11] perf record: Introduce rec->overwrite_evlist for overwritable events Wang Nan
2016-05-23  7:13 ` [PATCH v3 09/11] perf record: Toggle overwrite ring buffer for reading Wang Nan
2016-05-23  7:13 ` [PATCH v3 10/11] perf tools: Don't warn about out of order event if write_backward is used Wang Nan
2016-05-23  7:13 ` [PATCH v3 11/11] perf tools: Check write_backward during evlist config Wang Nan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox