public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Song Liu <songliubraving@fb.com>
Cc: Jiri Olsa <jolsa@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Stephane Eranian <eranian@google.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Andi Kleen <ak@linux.intel.com>,
	Alexey Budankov <alexey.budankov@linux.intel.com>,
	Michael Petlan <mpetlan@redhat.com>
Subject: Re: [RFC 00/79] perf tools: Initial libperf separation
Date: Wed, 24 Jul 2019 10:33:45 +0200	[thread overview]
Message-ID: <20190724083345.GA5860@krava> (raw)
In-Reply-To: <327EF79F-4573-4387-8DA5-24FFD9EDBBB1@fb.com>

On Wed, Jul 24, 2019 at 07:42:50AM +0000, Song Liu wrote:
> Hi Jiri,
> 
> > On Jul 21, 2019, at 4:23 AM, Jiri Olsa <jolsa@kernel.org> wrote:
> > 
> > hi,
> > we have long term goal to separate some of the perf functionality
> > into library. This patchset is initial effort on separating some
> > of the interface.
> > 
> > Currently only the basic counting interface is exported, it allows
> > to:
> >  - create cpu/threads maps
> >  - create evlist/evsel objects
> >  - add evsel objects into evlist
> >  - open/close evlist/evsel objects
> >  - enable/disable events
> >  - read evsel counts
> 
> Based on my understanding, evsel and evlist are abstractions in
> perf utilities. I think most other tools that use perf UAPIs are 
> not built based on these abstractions. I looked at a few internal

AFAICS some abstraction is needed to carry on the needed stuff
like mmaps, counts, group links, PMU details (type, cpus..)

> tools. Most of them just uses sys_perf_event_open() and struct 
> perf_event_attr. I am not sure whether these tools would adopt
> libperf, as libperf changes their existing concepts/abstractions.

well, besides that we wanted to do this separation for tools/* sake,
I think that once libperf shares more interface on sampling and pmu
events parsing, it will be considerable choice also for out of the
tree tools

> > 
> > The initial effort was to have total separation of the objects
> > from perf code, but it showed not to be a good way. The amount
> > of changed code was too big with high chance for regressions,
> > mainly because of the code embedding one of the above objects
> > statically.
> > 
> > We took the other approach of sharing the objects/struct details
> > within the perf and libperf code. This way we can keep perf
> > functionality without any major changes and the libperf users
> > are still separated from the object/struct details. We can move
> > to total libperf's objects separation gradually in future.
> 
> I found some duplicated logic between libperf and perf, for 
> example, perf_evlist__open() and evlist__open(). Do we plan to 
> merge them in the future? 

yea, as I wrote in the perf_evsel__open patch changelog:

  It's a simplified version of evsel__open without fallback
  stuff. We can try to merge it in the future to libperf,
  but it has many glitches.

some of the API can be shared right away, some needs more
changes and consideration

thanks,
jirka

  reply	other threads:[~2019-07-24  8:33 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-21 11:23 [RFC 00/79] perf tools: Initial libperf separation Jiri Olsa
2019-07-21 11:23 ` [PATCH 01/79] perf tools: Move loaded out of struct perf_counts_values Jiri Olsa
2019-07-30 18:07   ` [tip:perf/core] perf stat: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 02/79] perf tools: Rename struct cpu_map to struct perf_cpu_map Jiri Olsa
2019-07-30 18:08   ` [tip:perf/core] perf cpu_map: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 03/79] perf tools: Rename struct thread_map to struct perf_thread_map Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 04/79] perf tools: Rename struct perf_evsel to struct evsel Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] perf evsel: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 05/79] perf tools: Rename struct perf_evlist to struct evlist Jiri Olsa
2019-07-30 18:10   ` [tip:perf/core] perf evlist: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 06/79] perf tools: Rename perf_evsel__init to evsel__init Jiri Olsa
2019-07-30 18:11   ` [tip:perf/core] perf evsel: Rename perf_evsel__init() to evsel__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 07/79] perf tools: Rename perf_evlist__init to evlist__init Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__init() to evlist__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 08/79] perf tools: Rename perf_evlist__new to evlist__new Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__new() to evlist__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 09/79] perf tools: Rename perf_evlist__delete to evlist__delete Jiri Olsa
2019-07-30 18:13   ` [tip:perf/core] perf evlist: Rename perf_evlist__delete() to evlist__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 10/79] perf tools: Rename perf_evsel__delete to evsel__delete Jiri Olsa
2019-07-30 18:14   ` [tip:perf/core] perf evsel: Rename perf_evsel__delete() to evsel__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 11/79] perf tools: Rename perf_evsel__new to evsel__new Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evsel: Rename perf_evsel__new() to evsel__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 12/79] perf tools: Rename perf_evlist__add to evlist__add Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evlist: Rename perf_evlist__add() to evlist__add() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 13/79] perf tools: Rename perf_evlist__remove to evlist__remove Jiri Olsa
2019-07-30 18:16   ` [tip:perf/core] perf evlist: Rename perf_evlist__remove() to evlist__remove() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 14/79] perf tools: Rename perf_evsel__open to evsel__open Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__open() to evsel__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 15/79] perf tools: Rename perf_evsel__enable to evsel__enable Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__enable() to evsel__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 16/79] perf tools: Rename perf_evsel__disable to evsel__disable Jiri Olsa
2019-07-30 18:18   ` [tip:perf/core] perf evsel: Rename perf_evsel__disable() to evsel__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 17/79] perf tools: Rename perf_evsel__apply_filter to evsel__apply_filter Jiri Olsa
2019-07-30 18:19   ` [tip:perf/core] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 18/79] perf tools: Rename perf_evsel__cpus to evsel__cpus Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 19/79] perf tools: Rename perf_evlist__open to evlist__open Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evlist: Rename perf_evlist__open() to evlist__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 20/79] perf tools: Rename perf_evlist__close to evlist__close Jiri Olsa
2019-07-30 18:21   ` [tip:perf/core] perf evlist: Rename perf_evlist__close() to evlist__close() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 21/79] perf tools: Rename perf_evlist__enable to evlist__enable Jiri Olsa
2019-07-30 18:22   ` [tip:perf/core] perf evlist: Rename perf_evlist__enable() to evlist__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 22/79] perf tools: Rename perf_evlist__disable to evlist__disable Jiri Olsa
2019-07-30 18:23   ` [tip:perf/core] perf evlist: Rename perf_evlist__disable() to evlist__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 23/79] libperf: Make libperf.a part of the build Jiri Olsa
2019-07-22 12:39   ` Arnaldo Carvalho de Melo
2019-07-22 15:54     ` Jiri Olsa
2019-07-22 17:34       ` Arnaldo Carvalho de Melo
2019-07-26 14:41   ` Arnaldo Carvalho de Melo
2019-07-30 18:24   ` [tip:perf/core] libperf: Make libperf.a part of the perf build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 24/79] libperf: Add build version support Jiri Olsa
2019-07-30 18:24   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 25/79] libperf: Add libperf in python.so compilation Jiri Olsa
2019-07-30 18:25   ` [tip:perf/core] libperf: Add libperf to the python.so build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 26/79] libperf: Add perf/core.h header Jiri Olsa
2019-07-30 18:26   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 27/79] libperf: Add debug output support Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 28/79] libperf: Add perf_cpu_map struct Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-08-18 14:04   ` [PATCH 28/79] " Guenter Roeck
2019-08-18 19:40     ` Jiri Olsa
2019-08-18 21:28       ` Guenter Roeck
2019-08-19  8:21         ` Jiri Olsa
2019-08-20 12:46           ` [PATCH] libperf: Fix arch include paths Jiri Olsa
2019-08-20 15:26             ` Guenter Roeck
2019-08-20 15:31               ` Arnaldo Carvalho de Melo
2019-08-23  2:16             ` [tip: perf/core] " tip-bot2 for Jiri Olsa
2019-07-21 11:24 ` [PATCH 29/79] libperf: Add perf_cpu_map__dummy_new function Jiri Olsa
2019-07-30 18:28   ` [tip:perf/core] libperf: Add perf_cpu_map__dummy_new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 30/79] libperf: Add perf_cpu_map__get/perf_cpu_map__put Jiri Olsa
2019-07-30 18:29   ` [tip:perf/core] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 31/79] libperf: Add perf_thread_map struct Jiri Olsa
2019-07-30 18:30   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 32/79] libperf: Add perf_thread_map__new_dummy function Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__new_dummy() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 33/79] libperf: Add perf_thread_map__get/perf_thread_map__put Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__get()/perf_thread_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 34/79] libperf: Add perf_evlist and perf_evsel structs Jiri Olsa
2019-07-30 18:32   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 35/79] libperf: Include perf_evsel in evsel object Jiri Olsa
2019-07-30 18:33   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 36/79] libperf: Include perf_evlist in evlist object Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 37/79] libperf: Add perf_evsel__init function Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 38/79] libperf: Add perf_evlist__init function Jiri Olsa
2019-07-22 19:39   ` Arnaldo Carvalho de Melo
2019-07-22 22:17     ` Jiri Olsa
2019-07-30 18:35   ` [tip:perf/core] libperf: Add perf_evlist__init() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 39/79] libperf: Add perf_evlist__add function Jiri Olsa
2019-07-22 19:09   ` Arnaldo Carvalho de Melo
2019-07-22 22:22     ` Jiri Olsa
2019-07-22 20:38   ` Arnaldo Carvalho de Melo
2019-07-30 18:36   ` [tip:perf/core] libperf: Add perf_evlist__add() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 40/79] libperf: Add perf_evlist__remove function Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add perf_evlist__remove() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 41/79] libperf: Add nr_entries to perf_evlist Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add nr_entries to struct perf_evlist tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 42/79] libperf: Add attr to perf_evsel Jiri Olsa
2019-07-24 15:25   ` Arnaldo Carvalho de Melo
2019-07-30 18:38   ` [tip:perf/core] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 43/79] libperf: Add perf_cpu_map__new/perf_cpu_map__read functions Jiri Olsa
2019-07-24 15:32   ` Arnaldo Carvalho de Melo
2019-07-30 18:39   ` [tip:perf/core] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 44/79] libperf: Move zalloc.o into libperf Jiri Olsa
2019-07-30 18:40   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 45/79] libperf: Add perf_evlist__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evlist__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 46/79] libperf: Add perf_evsel__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evsel__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 47/79] libperf: Add perf_evlist__for_each_evsel macro Jiri Olsa
2019-07-24 15:42   ` Arnaldo Carvalho de Melo
2019-07-30 18:42   ` [tip:perf/core] libperf: Add perf_evlist__for_each_evsel() iterator tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 48/79] libperf: Add perf_evlist__delete function Jiri Olsa
2019-07-30 18:43   ` [tip:perf/core] libperf: Add perf_evlist__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 49/79] libperf: Add perf_evsel__delete function Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] libperf: Add perf_evsel__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 50/79] libperf: Add cpus to struct perf_evsel Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 51/79] libperf: Add own_cpus " Jiri Olsa
2019-07-30 18:45   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 52/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 53/79] libperf: Add has_user_cpus to struct perf_evlist Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 54/79] libperf: Add cpus " Jiri Olsa
2019-07-24 17:05   ` Arnaldo Carvalho de Melo
2019-07-30 18:47   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 55/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:48   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 56/79] libperf: Add perf_evlist__set_maps function Jiri Olsa
2019-07-24 17:14   ` Arnaldo Carvalho de Melo
2019-07-30 18:49   ` [tip:perf/core] libperf: Add perf_evlist__set_maps() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 57/79] libperf: Add xyarray object Jiri Olsa
2019-07-30 18:49   ` [tip:perf/core] libperf: Adopt xyarray class from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 58/79] libperf: Add fd array to struct perf_evsel Jiri Olsa
2019-07-30 18:50   ` [tip:perf/core] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 59/79] libperf: Add nr_members to struct perf_evsel Jiri Olsa
2019-07-30 18:51   ` [tip:perf/core] libperf: Move nr_members from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 60/79] libperf: Add readn/writen function Jiri Olsa
2019-07-30 18:52   ` [tip:perf/core] libperf: Adopt the readn()/writen() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 61/79] libperf: Add perf_evsel__alloc_fd function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 62/79] libperf: Add perf_evsel__open function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__open() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 63/79] libperf: Add perf_evsel__close function Jiri Olsa
2019-07-30 18:54   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__close() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 64/79] libperf: Add perf_evsel__read function Jiri Olsa
2019-07-30 18:55   ` [tip:perf/core] libperf: Adopt perf_evsel__read() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 65/79] libperf: Add perf_evsel__enable/disable/apply_filter functions Jiri Olsa
2019-07-30 18:56   ` [tip:perf/core] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 66/79] libperf: Add perf_cpu_map__for_each_cpu macro Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_cpu_map__for_each_cpu() macro tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 67/79] libperf: Add perf_evsel__cpus/threads functions Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_evsel__cpus()/threads() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 68/79] libperf: Add perf_evlist__open/close functions Jiri Olsa
2019-07-30 18:58   ` [tip:perf/core] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 69/79] libperf: Add perf_evlist__enable/disable functions Jiri Olsa
2019-07-30 18:59   ` [tip:perf/core] libperf: Adopt perf_evlist__enable()/disable() functions from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 70/79] libperf: Add perf_evsel__attr functions Jiri Olsa
2019-07-30 19:00   ` [tip:perf/core] libperf: Add perf_evsel__attr() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 71/79] libperf: Add install targets Jiri Olsa
2019-07-25 10:31   ` Arnaldo Carvalho de Melo
2019-07-30 19:00   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 72/79] libperf: Add tests support Jiri Olsa
2019-07-30 19:01   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 73/79] libperf: Add perf_cpu_map test Jiri Olsa
2019-07-25 10:39   ` Arnaldo Carvalho de Melo
2019-07-30 19:02   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 74/79] libperf: Add perf_thread_map test Jiri Olsa
2019-07-30 19:03   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 75/79] libperf: Add perf_evlist test Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 76/79] libperf: Add perf_evsel tests Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 77/79] libperf: Add perf_evlist__enable/disable test Jiri Olsa
2019-07-30 19:05   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 78/79] libperf: Add perf_evsel__enable/disable test Jiri Olsa
2019-07-30 19:06   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 79/79] libperf: Initial documentation Jiri Olsa
2019-07-30 19:07   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-22 16:23 ` [RFC 00/79] perf tools: Initial libperf separation Ian Rogers
2019-07-24  8:53   ` Jiri Olsa
2019-07-24  7:42 ` Song Liu
2019-07-24  8:33   ` Jiri Olsa [this message]
2019-07-24  8:49     ` Song Liu
2019-07-24 13:50   ` Arnaldo Carvalho de Melo
2019-07-25  5:23     ` Song Liu
2019-07-25 10:59 ` Arnaldo Carvalho de Melo
2019-08-05  8:21 ` Alexey Budankov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190724083345.GA5860@krava \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=alexey.budankov@linux.intel.com \
    --cc=daniel@iogearbox.net \
    --cc=eranian@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=songliubraving@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox