Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp856677pxv; Thu, 1 Jul 2021 10:48:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbNOkkUY7Hp7+KfRIhZOVr0nIKQyK4fk60N7qdWnx2a5ytHoss/X+YKIijNSP8VlSsiaPY X-Received: by 2002:a6b:e911:: with SMTP id u17mr485069iof.54.1625161680657; Thu, 01 Jul 2021 10:48:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625161680; cv=none; d=google.com; s=arc-20160816; b=e6XdaH0NMFa2HMFOyt2lFwBAKI/uJw4OwaKM7BqyzhgHjlsxfI0eYFfz9LDSvLALfR jx/Vmlth3jlJ6rb4zxR3TYVX1G1ut5sCyhb70IrLIShBApSbH3LMiBMYz/Q8FIfuV8Ca PulAf4wwLV84GCIwH+PKVs1Zg1FuKd+POl4aHmFDGoWYRqS9P9VpK0Taal+iroQioV/u Io9+HyDcv4k5jriZUxuwNTgROcrBpM8kcCWDaIfkMdjZK1CDh69n+xVYk4ZUzkPv666S T0rmLHpp+XguEgm7ra2rz/r04dh6AEr8gbv4TRb3k+7U077V78UogSfl6Meg3HyXu16L hH2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=t7Wct+un5U33l4Na9wkwEdoF66KCufjM4z4IbZcA4jE=; b=tE1Vl9DqsCqJV99xeQEzYkuYfpLYwmSEL8IOeLpsXbPCEOpfxDqDszBmVyMAusHQns tw0569MHRi0a71+AR6xkXOwAFW5ov61rdOpm6+foqN+GJcQKyKapwV/iR51BW0lCSwaX ncrZkuAANsmXxQZvLAZMDTFsv2dMQAN27JgGtg1bQnAuqvZwHJrirJTrlr8POkSmlCdL wryHbQkBy2gQwo4Kud1Usd1qwJafaWCDK/Ks7nB//WQg9hd0HP0Mao98LupgOqHwFAwQ dXuDTIaRewzngBdZNMCZIQzg1FphjH21AUyNbhz6e9/SmhIEu8qSJMX8XDhZkMCWopVh UFeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eEJ9MlUD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f1si539307jag.44.2021.07.01.10.47.48; Thu, 01 Jul 2021 10:48:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eEJ9MlUD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233038AbhGARnE (ORCPT + 99 others); Thu, 1 Jul 2021 13:43:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:56512 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229978AbhGARnD (ORCPT ); Thu, 1 Jul 2021 13:43:03 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 99F89613CF; Thu, 1 Jul 2021 17:40:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625161232; bh=xLCtF4ERVx3lvbj2NQhW5MfgdR9rvEAlBwDFrcwnl/g=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eEJ9MlUD87Ql9QHIW5WB3GYn6Vz9rDGcEJaeIijzsOCxhYmTKOfTRLMyfwCa3X/mt 209o1yjP/k6DjuC71oYIEQ3dYmJXSmFTo3jGNo+H3EmN6fQ0hmuy56/SXQkNBGDBs6 e9l5mnWpghWY2Mv9TTdtG9buBGFGqf/ObuTgVDJlW4OeAwX7iRhm3v/z2uD53DbRfW r9eXLG28Bt9hCTJaNpKoP8aNS6Ag/S313Ek74MXuQU01iDaImrf2iDdETeETEP3wyZ jJp+lT5nWsZHWRVWD+4gBJ2IoylpNYQz1z00gIQjskgoiSW5syteDhxyBYhd4iPcXY 6P3qvBDyxZ/pg== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id E426C40B1A; Thu, 1 Jul 2021 14:40:28 -0300 (-03) Date: Thu, 1 Jul 2021 14:40:28 -0300 From: Arnaldo Carvalho de Melo To: Adrian Hunter Cc: Jiri Olsa , Andi Kleen , Peter Zijlstra , Ingo Molnar , Mark Rutland , Namhyung Kim , Leo Yan , Kan Liang , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2 00/10] perf script: Add API for filtering via dynamically loaded shared object Message-ID: References: <20210627131818.810-1-adrian.hunter@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210627131818.810-1-adrian.hunter@intel.com> X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Sun, Jun 27, 2021 at 04:18:08PM +0300, Adrian Hunter escreveu: > 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. Thanks! applied. Please consider adding a 'perf test' entry to check if what is produced is what is expected, also to exercise this code so that we get some 'perf test' segfault if we break something it uses somehow. - Arnaldo > > 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 -- - Arnaldo