lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1463126174-119290-1-git-send-email-wangnan0@huawei.com>
Date:	Fri, 13 May 2016 07:55:57 +0000
From:	Wang Nan <wangnan0@...wei.com>
To:	<acme@...nel.org>
CC:	<arnaldo.melo@...il.com>, <linux-kernel@...r.kernel.org>,
	Wang Nan <wangnan0@...wei.com>,
	Arnaldo Carvalho de Melo <acme@...hat.com>,
	He Kuang <hekuang@...wei.com>, Jiri Olsa <jolsa@...nel.org>,
	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
	Namhyung Kim <namhyung@...nel.org>,
	"Peter Zijlstra" <peterz@...radead.org>,
	Zefan Li <lizefan@...wei.com>, <pi3orama@....com>
Subject: [PATCH 00/17] perf tools: Support overwritable ring buffer

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

Wang Nan (17):
  perf tools: Extract __perf_evlist__mmap_read()
  perf tools: Add evlist channel helpers
  perf tools: Automatically add new channel according to evlist
  perf tools: Operate multiple channels
  perf record: Prevent reading invalid data in record__mmap_read
  perf tools: Squash overwrite setting into channel
  perf record: Don't read from and poll overwrite channel
  perf record: Don't poll on overwrite channel
  perf tools: Detect avalibility of write_backward
  perf tools: Enable overwrite settings
  perf tools: Set write_backward attribut bit for overwrite events
  perf tools: Record fd into perf_mmap
  perf tools: Add API to pause a channel
  perf record: Rename variable to make code clear
  perf record: Read from backward ring buffer
  perf record: Toggle overwrite ring buffer for reading
  perf tools: Don't warn about out of order event if write_backward is
    used

 tools/perf/builtin-record.c    | 207 +++++++++++++++++++++++--
 tools/perf/perf.h              |   2 +
 tools/perf/util/evlist.c       | 332 ++++++++++++++++++++++++++++++++++++-----
 tools/perf/util/evlist.h       |  67 ++++++++-
 tools/perf/util/evsel.c        |  17 +++
 tools/perf/util/evsel.h        |   3 +
 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       |  11 ++
 tools/perf/util/session.c      |  22 ++-
 11 files changed, 625 insertions(+), 60 deletions(-)

Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: He Kuang <hekuang@...wei.com>
Cc: Jiri Olsa <jolsa@...nel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Wang Nan <wangnan0@...wei.com>
Cc: Zefan Li <lizefan@...wei.com>
Cc: pi3orama@....com

-- 
1.8.3.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ