mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00

The existing API perf_thread_map__new_dummy() allocates new thread map for one thread. I couldn't find a way to reallocate the map with more threads, or to allocate a new map for more than one thread. Having multiple threads in a thread map is essential for some use cases. That's why a new API is proposed, which allocates a new thread map for given number of threads: perf_thread_map__new_array() Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/linux-perf-users/20220221102628.43904-1-tz.stoyanov@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
21 lines
848 B
C
21 lines
848 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __LIBPERF_THREADMAP_H
|
|
#define __LIBPERF_THREADMAP_H
|
|
|
|
#include <perf/core.h>
|
|
#include <sys/types.h>
|
|
|
|
struct perf_thread_map;
|
|
|
|
LIBPERF_API struct perf_thread_map *perf_thread_map__new_dummy(void);
|
|
LIBPERF_API struct perf_thread_map *perf_thread_map__new_array(int nr_threads, pid_t *array);
|
|
|
|
LIBPERF_API void perf_thread_map__set_pid(struct perf_thread_map *map, int idx, pid_t pid);
|
|
LIBPERF_API char *perf_thread_map__comm(struct perf_thread_map *map, int idx);
|
|
LIBPERF_API int perf_thread_map__nr(struct perf_thread_map *threads);
|
|
LIBPERF_API pid_t perf_thread_map__pid(struct perf_thread_map *map, int idx);
|
|
|
|
LIBPERF_API struct perf_thread_map *perf_thread_map__get(struct perf_thread_map *map);
|
|
LIBPERF_API void perf_thread_map__put(struct perf_thread_map *map);
|
|
|
|
#endif /* __LIBPERF_THREADMAP_H */
|