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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 26 Aug 2013 16:00:17 +0300
From:	Adrian Hunter <adrian.hunter@...el.com>
To:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
Cc:	linux-kernel@...r.kernel.org, David Ahern <dsahern@...il.com>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Jiri Olsa <jolsa@...hat.com>, Mike Galbraith <efault@....de>,
	Namhyung Kim <namhyung@...il.com>,
	Paul Mackerras <paulus@...ba.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Stephane Eranian <eranian@...gle.com>,
	Ingo Molnar <mingo@...nel.org>
Subject: [PATCH V12 00/13] perf tools: some fixes and tweaks

Hi

Here are some fixes and tweaks to perf tools (version 12).

Changes in V12:
	perf tools: re-implement debug print function for linking python/perf.so
		Dropped since its been applied
	perf tools: add debug prints
		Dropped since its been applied
	perf tools: allow non-matching sample types
		Do not call perf_evlist__set_id_pos() when adding events other than the first
		Do not use matching_sample_types
	perf: make events stream always parsable
		Added Peter's missing Ack
		Added Stephane's Tested-by
	perf tools: add missing 'abi' member to 'struct regs_dump'
		Added Jiri's Ack

Changes in V11:
	perf tools: re-implement debug print function for linking python/perf.so
		New patch split from "perf tools: add debug prints"
	perf tools: add debug prints
		Changed to use graph_dotted_line
		Moved python/link changes to separate patch
		Added Namhyung's Ack
	perf tools: change machine__findnew_thread() to set thread pid
		Added explanation of main thread lookup to commit message
	perf tools: tidy up sample parsing overflow checking
		Added Jiri's Ack
	perf tools: remove unnecessary callchain validation
		Added Namhyung's Ack
	perf tools: remove references to struct ip_event
		Added Namhyung's Ack
	perf tools: move perf_evlist__config() to a new source file
		Added Namhyung's Ack
	perf tools: add missing 'abi' member to 'struct regs_dump'
		New patch
	perf tools: expand perf_event__synthesize_sample()
		Adjusted for new 'abi' member of 'struct regs_dump'
	perf tools: add a function to calculate sample event size
		Adjusted for new 'abi' member of 'struct regs_dump'
	perf tools: add a sample parsing test
		Adjusted for new 'abi' member of 'struct regs_dump'

Changes in V10:
	Re-based on:
		perf/core branch of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
		commit 207353be1574027c151609a31167ac5919a056c8: perf tools: Remove filter parameter of thread__find_addr_map()

	perf tools: add debug prints
		Changed to use macros
	perf tools: add pid to struct thread
		Added David's Ack
	perf tools: change machine__findnew_thread() to set thread pid
		Added David's Ack
	perf tools: remove references to struct ip_event
		Also remove from hists_link.c
	perf tools: move struct ip_event
		Dropped since it is covered by "perf tools: remove references to struct ip_event"
	perf tools: add a sample parsing test
		Fix missing sample comparison for PERF_SAMPLE_READ

Changes in V9:
	perf: Update perf_event_type documentation
		Dropped since its been applied
	perf tools: tidy up sample parsing overflow checking
		Changed to use a single overflow function
		Updated for PERF_SAMPLE_READ
	perf: make events stream always parsable
		Added more about sample parsing to the commit message
	perf tools: add support for PERF_SAMPLE_IDENTFIER
		When selecting PERF_SAMPLE_IDENTFIER, ensure PERF_SAMPLE_ID
		is deselected
	perf tools: expand perf_event__synthesize_sample()
		Updated for PERF_SAMPLE_READ
	perf tools: add a function to calculate sample event size
		Updated for PERF_SAMPLE_READ
	perf tools: add a sample parsing test
		Updated for PERF_SAMPLE_READ

Changes in V8:
	perf tools: add debug prints
		Fixed Python link errors
	perf tools: move perf_evlist__config() to a new source file
		New Patch to avoid Python link errors
	perf tools: add support for PERF_SAMPLE_IDENTFIER
		Adjustments due to patch above

Changes in V7:
	perf: Update perf_event_type documentation
		Proposed new patch from Peter Zijlstra
	perf: make events stream always parsable
		Adjustments due to patch above
	perf tools: tidy up sample parsing overflow checking
		Change to a single overflow function
		Amend comment
	perf tools: add a function to calculate sample event size
		New patch
	perf tools: add a sample parsing test
		Amended to use sample event size calculation

Changes in V6:
	Some checkpatch fixes

	perf: make events stream always parsable
		Add sample format comments

Changes in V5:
	Re-based to Arnaldo's tree and dropped already applied patches:
		perf tools: remove unused parameter
		perf tools: fix missing tool parameter
		perf tools: fix missing 'finished_round'
		perf tools: fix parse_events_terms() segfault on error path
		perf tools: fix new_term() missing free on error path
		perf tools: add const specifier to perf_pmu__find name parameter
		perf tools: tidy duplicated munmap code
		perf tools: validate perf event header size

	perf tools: add debug prints
		Changed to perf_event_attr__fprintf()
	perf tools: add pid to struct thread
		Always set the pid, even if a pid is already set
	perf tools: change machine__findnew_thread() to set thread pid
		Replaces: perf tools: change "machine" functions to set thread pid
	perf tools: add support for PERF_SAMPLE_IDENTFIER
		Only use PERF_SAMPLE_IDENTFIER if sample types are different
	perf tools: expand perf_event__synthesize_sample()
		New patch in preparation of a sample parsing test
	perf tools: add a sample parsing test
		New patch

Changes in V4:
	I added kernel support for matching sample types via
	PERF_SAMPLE_IDENTIFIER.  perf tools support for that required
	first fixing some other things.

	perf tools: fix parse_events_terms() freeing local variable on error path
		Dropped - covered by David Ahern
	perf tools: struct thread has a tid not a pid
		Added ack by David Ahern
	perf tools: add pid to struct thread
		Remove unused function
	perf tools: fix missing increment in sample parsing
		New patch
	perf tools: tidy up sample parsing overflow checking
		New patch
	perf tools: remove unnecessary callchain validation
		New patch
	perf tools: remove references to struct ip_event
		New patch
	perf tools: move struct ip_event
		New patch
	perf: make events stream always parsable
		New patch
	perf tools: add support for PERF_SAMPLE_IDENTFIER
		New patch

Changes in V3:
	perf tools: add pid to struct thread
		Split into 2 patches
	perf tools: fix ppid in thread__fork()
		Dropped for now

Changes in V2:
	perf tools: fix missing tool parameter
		Fixed one extra occurrence
	perf tools: fix parse_events_terms() freeing local variable on error path
		Made "freeing" code into a new function
	perf tools: validate perf event header size
		Corrected byte-swapping
	perf tools: allow non-matching sample types
		Added comments
		Fixed id_pos calculation
		id_pos/is_pos updated whenever sample_type changes
		Removed perf_evlist__sample_type()
		Added __perf_evlist__combined_sample_type()
		Added perf_evlist__combined_sample_type()
		Added perf_evlist__make_sample_types_compatible()
	Added ack's to patches acked by Jiri Olsa


Adrian Hunter (13):
      perf tools: allow non-matching sample types
      perf tools: add pid to struct thread
      perf tools: change machine__findnew_thread() to set thread pid
      perf tools: tidy up sample parsing overflow checking
      perf tools: remove unnecessary callchain validation
      perf tools: remove references to struct ip_event
      perf: make events stream always parsable
      perf tools: move perf_evlist__config() to a new source file
      perf tools: add support for PERF_SAMPLE_IDENTFIER
      perf tools: add missing 'abi' member to 'struct regs_dump'
      perf tools: expand perf_event__synthesize_sample()
      perf tools: add a function to calculate sample event size
      perf tools: add a sample parsing test

 include/uapi/linux/perf_event.h   |  27 ++-
 kernel/events/core.c              |  11 +-
 tools/perf/Makefile               |   2 +
 tools/perf/builtin-inject.c       |   8 +-
 tools/perf/builtin-kmem.c         |   3 +-
 tools/perf/builtin-kvm.c          |   2 +-
 tools/perf/builtin-lock.c         |   3 +-
 tools/perf/builtin-mem.c          |   2 +-
 tools/perf/builtin-report.c       |   2 +-
 tools/perf/builtin-sched.c        |  20 +-
 tools/perf/builtin-script.c       |   3 +-
 tools/perf/builtin-top.c          |  11 +-
 tools/perf/builtin-trace.c        |  10 +-
 tools/perf/tests/builtin-test.c   |   4 +
 tools/perf/tests/code-reading.c   |   4 +-
 tools/perf/tests/hists_link.c     |  23 +--
 tools/perf/tests/mmap-basic.c     |   2 +-
 tools/perf/tests/sample-parsing.c | 316 +++++++++++++++++++++++++++++
 tools/perf/tests/tests.h          |   1 +
 tools/perf/util/build-id.c        |  11 +-
 tools/perf/util/callchain.c       |   8 -
 tools/perf/util/callchain.h       |   5 -
 tools/perf/util/event.c           |   5 +-
 tools/perf/util/event.h           |  34 ++--
 tools/perf/util/evlist.c          | 143 +++++++++++---
 tools/perf/util/evlist.h          |   9 +-
 tools/perf/util/evsel.c           | 405 +++++++++++++++++++++++++++++++++-----
 tools/perf/util/evsel.h           |  13 +-
 tools/perf/util/machine.c         |  37 ++--
 tools/perf/util/machine.h         |   3 +-
 tools/perf/util/record.c          | 111 +++++++++++
 tools/perf/util/session.c         |  32 +--
 tools/perf/util/thread.c          |   3 +-
 tools/perf/util/thread.h          |   3 +-
 34 files changed, 1081 insertions(+), 195 deletions(-)
 create mode 100644 tools/perf/tests/sample-parsing.c
 create mode 100644 tools/perf/util/record.c


Regards
Adrian
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ