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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 11 Aug 2014 17:12:49 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Jiri Olsa <jolsa@...nel.org>
Cc:	linux-kernel@...r.kernel.org,
	Adrian Hunter <adrian.hunter@...el.com>,
	Corey Ashford <cjashfor@...ux.vnet.ibm.com>,
	David Ahern <dsahern@...il.com>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Ingo Molnar <mingo@...nel.org>,
	Jean Pihet <jean.pihet@...aro.org>,
	Namhyung Kim <namhyung@...nel.org>,
	Paul Mackerras <paulus@...ba.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [RFC 00/20] perf: Finish sampling commands when events are closed

Em Mon, Aug 11, 2014 at 10:49:54AM +0200, Jiri Olsa escreveu:
> hi,
> adding support to quit sampling commands:
>   record,top,trace,kvm stat live
> 
> when all the monitored events are closed, like following perf
> command will now exit when monitored process (pid 1234) exits:
> 
>   $ perf record -p 1234
> 
> I added independent poller object to handle basic polling
> tasks. I had to factor some parts, so sending this as RFC,

Why? I'm trying to figure out why this poller class is needed, just from
reading the changelog entries, no luck so far.

> because I'm pretty sure I broke something else ;-)
> 
> The patch#1 is kernel change, which is needed for the
> patchset to work properly. The current behavior stays
> without this kernel change.
> 
> The code is based on latest Arnaldo's perf/core and
> following kernel change:
>   http://marc.info/?l=linux-kernel&m=140715910417130&w=2
> 
> The patchset is also reachable in here:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
>   perf/core_poll
> 
> thanks for comments,
> jirka
> 
> 
> Cc: Adrian Hunter <adrian.hunter@...el.com>
> Cc: Arnaldo Carvalho de Melo <acme@...nel.org>
> Cc: Corey Ashford <cjashfor@...ux.vnet.ibm.com>
> Cc: David Ahern <dsahern@...il.com>
> Cc: Frederic Weisbecker <fweisbec@...il.com>
> Cc: Ingo Molnar <mingo@...nel.org>
> Cc: Jean Pihet <jean.pihet@...aro.org>
> Cc: Namhyung Kim <namhyung@...nel.org>
> Cc: Paul Mackerras <paulus@...ba.org>
> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
> ---
> Jiri Olsa (20):
>       perf: Add PERF_EVENT_STATE_EXIT state for events with exited task
>       perf tools: Add poller object to handle polling globaly
>       perf tests: Add poller object test
>       perf tools: Add support to traverse xyarrays
>       perf tools: Introduce perf_evsel__fd function
>       perf tools: Add evlist/evsel poller object support
>       perf record: Add support to see event's ERR and HUP poll errors
>       perf tools: Add set_term_quiet_input helper function
>       perf tui browser: Add interface to terminate browser from uotside
>       perf top: Add support to see event's ERR and HUP poll errors
>       perf top: Join the display thread on exit
>       perf top: Use set_term_quiet_input for terminal input
>       perf top: Setup signals for terminal output
>       perf top: Use poller object for display thread stdin
>       perf kvm: Fix stdin handling for 'kvm stat live' command
>       perf kvm: Add support to see event's ERR and HUP poll errors
>       perf trace: Add support to see event's ERR and HUP poll errors
>       perf python: Use poller object for polling
>       perf tests: Use poller object for polling
>       perf tools: Remove pollfd stuff out of evlist object
> 
>  include/linux/perf_event.h                |   1 +
>  kernel/events/core.c                      |  12 ++++-
>  tools/perf/Makefile.perf                  |   4 ++
>  tools/perf/builtin-kvm.c                  | 123 +++++++++++++++++++++++------------------------
>  tools/perf/builtin-record.c               |  29 ++++++++++-
>  tools/perf/builtin-report.c               |   3 +-
>  tools/perf/builtin-top.c                  | 104 ++++++++++++++++++++++++++--------------
>  tools/perf/builtin-trace.c                |  25 +++++++++-
>  tools/perf/tests/builtin-test.c           |   8 ++++
>  tools/perf/tests/open-syscall-tp-fields.c |   9 +++-
>  tools/perf/tests/perf-record.c            |   4 --
>  tools/perf/tests/poller.c                 | 126 ++++++++++++++++++++++++++++++++++++++++++++++++
>  tools/perf/tests/task-exit.c              |   9 +++-
>  tools/perf/tests/tests.h                  |   2 +
>  tools/perf/tests/xyarray.c                |  33 +++++++++++++
>  tools/perf/ui/browser.c                   |   4 +-
>  tools/perf/ui/browser.h                   |   8 +++-
>  tools/perf/ui/browsers/annotate.c         |   2 +-
>  tools/perf/ui/browsers/header.c           |   2 +-
>  tools/perf/ui/browsers/hists.c            |  39 ++++++++-------
>  tools/perf/ui/browsers/map.c              |   2 +-
>  tools/perf/ui/browsers/scripts.c          |   2 +-
>  tools/perf/ui/keysyms.h                   |   1 +
>  tools/perf/ui/tui/util.c                  |   2 +-
>  tools/perf/util/evlist.c                  |  38 ++++++---------
>  tools/perf/util/evlist.h                  |   7 ++-
>  tools/perf/util/evsel.c                   |  21 +++++++-
>  tools/perf/util/evsel.h                   |  10 ++++
>  tools/perf/util/hist.h                    |   6 ++-
>  tools/perf/util/kvm-stat.h                |   1 -
>  tools/perf/util/poller.c                  | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  tools/perf/util/poller.h                  |  88 ++++++++++++++++++++++++++++++++++
>  tools/perf/util/python-ext-sources        |   2 +
>  tools/perf/util/python.c                  |  19 ++++++--
>  tools/perf/util/util.c                    |  13 +++++
>  tools/perf/util/util.h                    |   2 +
>  tools/perf/util/xyarray.c                 |   4 +-
>  tools/perf/util/xyarray.h                 |   6 +++
>  38 files changed, 832 insertions(+), 172 deletions(-)
>  create mode 100644 tools/perf/tests/poller.c
>  create mode 100644 tools/perf/tests/xyarray.c
>  create mode 100644 tools/perf/util/poller.c
>  create mode 100644 tools/perf/util/poller.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists