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: <20210627131818.810-1-adrian.hunter@intel.com>
Date:   Sun, 27 Jun 2021 16:18:08 +0300
From:   Adrian Hunter <adrian.hunter@...el.com>
To:     Arnaldo Carvalho de Melo <acme@...nel.org>
Cc:     Jiri Olsa <jolsa@...hat.com>, Andi Kleen <ak@...ux.intel.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        Mark Rutland <mark.rutland@....com>,
        Namhyung Kim <namhyung@...nel.org>,
        Leo Yan <leo.yan@...aro.org>,
        Kan Liang <kan.liang@...ux.intel.com>,
        linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH V2 00/10] perf script: Add API for filtering via dynamically loaded shared object

Hi
 
In some cases, users want to filter very large amounts of data (e.g. from
AUX area tracing like Intel PT) looking for something specific. While
scripting such as Python can be used, Python is 10 to 20 times slower than
C. So define a C API so that custom filters can be written and loaded.

This is V2.

The main patch is patch 1.

The other patches add more functionality, except for patch 5 which installs
the C API header file.


Changes in V2:
    perf script: Move filter_cpu() earlier
    perf script: Move filtering before scripting
    perf script: Share addr_al between functions
	Dropped because they have now been applied.

    perf script: Add API for filtering via dynamically loaded shared object
	Move 2 members of struct perf_dlfilter_sample
	Add 'ctx' as an argument to 'start' and 'stop'
	Find dlfilter .so files in current directory or exec-path/dlfilters

    perf script: Add option to list dlfilters
	New patch

    perf script: Add option to pass arguments to dlfilters
	New patch


Adrian Hunter (10):
      perf script: Add API for filtering via dynamically loaded shared object
      perf script: Add dlfilter__filter_event_early()
      perf script: Add option to list dlfilters
      perf script: Add option to pass arguments to dlfilters
      perf build: Install perf_dlfilter.h
      perf dlfilter: Add resolve_address() to perf_dlfilter_fns
      perf dlfilter: Add insn() to perf_dlfilter_fns
      perf dlfilter: Add srcline() to perf_dlfilter_fns
      perf dlfilter: Add attr() to perf_dlfilter_fns
      perf dlfilter: Add object_code() to perf_dlfilter_fns

 tools/perf/Documentation/perf-dlfilter.txt | 251 ++++++++++++
 tools/perf/Documentation/perf-script.txt   |  15 +-
 tools/perf/Makefile.config                 |   3 +
 tools/perf/Makefile.perf                   |   4 +-
 tools/perf/builtin-script.c                |  86 +++-
 tools/perf/util/Build                      |   1 +
 tools/perf/util/dlfilter.c                 | 615 +++++++++++++++++++++++++++++
 tools/perf/util/dlfilter.h                 |  97 +++++
 tools/perf/util/perf_dlfilter.h            | 150 +++++++
 9 files changed, 1211 insertions(+), 11 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-dlfilter.txt
 create mode 100644 tools/perf/util/dlfilter.c
 create mode 100644 tools/perf/util/dlfilter.h
 create mode 100644 tools/perf/util/perf_dlfilter.h


Regards
Adrian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ