libperf: Add perf_evlist__remove() function
Adding perf_evlist__remove() function to remove a perf_evsel from a perf_evlist struct. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Budankov <alexey.budankov@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20190721112506.12306-41-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9a5edde6d3
commit
52e22fb8af
|
@ -14,3 +14,9 @@ void perf_evlist__add(struct perf_evlist *evlist,
|
||||||
{
|
{
|
||||||
list_add_tail(&evsel->node, &evlist->entries);
|
list_add_tail(&evsel->node, &evlist->entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void perf_evlist__remove(struct perf_evlist *evlist,
|
||||||
|
struct perf_evsel *evsel)
|
||||||
|
{
|
||||||
|
list_del_init(&evsel->node);
|
||||||
|
}
|
||||||
|
|
|
@ -10,5 +10,7 @@ struct perf_evsel;
|
||||||
LIBPERF_API void perf_evlist__init(struct perf_evlist *evlist);
|
LIBPERF_API void perf_evlist__init(struct perf_evlist *evlist);
|
||||||
LIBPERF_API void perf_evlist__add(struct perf_evlist *evlist,
|
LIBPERF_API void perf_evlist__add(struct perf_evlist *evlist,
|
||||||
struct perf_evsel *evsel);
|
struct perf_evsel *evsel);
|
||||||
|
LIBPERF_API void perf_evlist__remove(struct perf_evlist *evlist,
|
||||||
|
struct perf_evsel *evsel);
|
||||||
|
|
||||||
#endif /* __LIBPERF_EVLIST_H */
|
#endif /* __LIBPERF_EVLIST_H */
|
||||||
|
|
|
@ -12,6 +12,7 @@ LIBPERF_0.0.1 {
|
||||||
perf_evsel__init;
|
perf_evsel__init;
|
||||||
perf_evlist__init;
|
perf_evlist__init;
|
||||||
perf_evlist__add;
|
perf_evlist__add;
|
||||||
|
perf_evlist__remove;
|
||||||
local:
|
local:
|
||||||
*;
|
*;
|
||||||
};
|
};
|
||||||
|
|
|
@ -194,7 +194,7 @@ void evlist__add(struct evlist *evlist, struct evsel *entry)
|
||||||
void evlist__remove(struct evlist *evlist, struct evsel *evsel)
|
void evlist__remove(struct evlist *evlist, struct evsel *evsel)
|
||||||
{
|
{
|
||||||
evsel->evlist = NULL;
|
evsel->evlist = NULL;
|
||||||
list_del_init(&evsel->core.node);
|
perf_evlist__remove(&evlist->core, &evsel->core);
|
||||||
evlist->nr_entries -= 1;
|
evlist->nr_entries -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue