perf tools: Rename struct thread_map to struct perf_thread_map
Rename struct thread_map to struct perf_thread_map, so it could be part of libperf. 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-4-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
f854839ba2
Коммит
9749b90e56
|
@ -49,7 +49,7 @@ int test__perf_time_to_tsc(struct test *test __maybe_unused, int subtest __maybe
|
|||
},
|
||||
.sample_time = true,
|
||||
};
|
||||
struct thread_map *threads = NULL;
|
||||
struct perf_thread_map *threads = NULL;
|
||||
struct perf_cpu_map *cpus = NULL;
|
||||
struct perf_evlist *evlist = NULL;
|
||||
struct perf_evsel *evsel = NULL;
|
||||
|
|
|
@ -1047,7 +1047,7 @@ record__finish_output(struct record *rec)
|
|||
static int record__synthesize_workload(struct record *rec, bool tail)
|
||||
{
|
||||
int err;
|
||||
struct thread_map *thread_map;
|
||||
struct perf_thread_map *thread_map;
|
||||
|
||||
if (rec->opts.tail_synthesize != tail)
|
||||
return 0;
|
||||
|
|
|
@ -159,7 +159,7 @@ struct perf_sched_map {
|
|||
DECLARE_BITMAP(comp_cpus_mask, MAX_CPUS);
|
||||
int *comp_cpus;
|
||||
bool comp;
|
||||
struct thread_map *color_pids;
|
||||
struct perf_thread_map *color_pids;
|
||||
const char *color_pids_str;
|
||||
struct perf_cpu_map *color_cpus;
|
||||
const char *color_cpus_str;
|
||||
|
@ -3195,7 +3195,7 @@ static int setup_map_cpus(struct perf_sched *sched)
|
|||
|
||||
static int setup_color_pids(struct perf_sched *sched)
|
||||
{
|
||||
struct thread_map *map;
|
||||
struct perf_thread_map *map;
|
||||
|
||||
if (!sched->map.color_pids_str)
|
||||
return 0;
|
||||
|
|
|
@ -1628,7 +1628,7 @@ struct perf_script {
|
|||
bool allocated;
|
||||
bool per_event_dump;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
int name_width;
|
||||
const char *time_str;
|
||||
struct perf_time_interval *ptime_range;
|
||||
|
|
|
@ -165,7 +165,7 @@ struct perf_stat {
|
|||
struct perf_tool tool;
|
||||
bool maps_allocated;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
enum aggr_mode aggr_mode;
|
||||
};
|
||||
|
||||
|
@ -395,7 +395,7 @@ static bool perf_evsel__should_store_id(struct perf_evsel *counter)
|
|||
}
|
||||
|
||||
static bool is_target_alive(struct target *_target,
|
||||
struct thread_map *threads)
|
||||
struct perf_thread_map *threads)
|
||||
{
|
||||
struct stat st;
|
||||
int i;
|
||||
|
|
|
@ -552,7 +552,7 @@ static int do_test_code_reading(bool try_kcore)
|
|||
struct state state = {
|
||||
.done_cnt = 0,
|
||||
};
|
||||
struct thread_map *threads = NULL;
|
||||
struct perf_thread_map *threads = NULL;
|
||||
struct perf_cpu_map *cpus = NULL;
|
||||
struct perf_evlist *evlist = NULL;
|
||||
struct perf_evsel *evsel = NULL;
|
||||
|
|
|
@ -57,7 +57,7 @@ static int detach__enable_on_exec(struct perf_evlist *evlist)
|
|||
static int attach__current_disabled(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel = perf_evlist__last(evlist);
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
int err;
|
||||
|
||||
pr_debug("attaching to current thread as disabled\n");
|
||||
|
@ -83,7 +83,7 @@ static int attach__current_disabled(struct perf_evlist *evlist)
|
|||
static int attach__current_enabled(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel = perf_evlist__last(evlist);
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
int err;
|
||||
|
||||
pr_debug("attaching to current thread as enabled\n");
|
||||
|
|
|
@ -65,7 +65,7 @@ int test__keep_tracking(struct test *test __maybe_unused, int subtest __maybe_un
|
|||
.uses_mmap = true,
|
||||
},
|
||||
};
|
||||
struct thread_map *threads = NULL;
|
||||
struct perf_thread_map *threads = NULL;
|
||||
struct perf_cpu_map *cpus = NULL;
|
||||
struct perf_evlist *evlist = NULL;
|
||||
struct perf_evsel *evsel = NULL;
|
||||
|
|
|
@ -27,7 +27,7 @@ int test__basic_mmap(struct test *test __maybe_unused, int subtest __maybe_unuse
|
|||
{
|
||||
int err = -1;
|
||||
union perf_event *event;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct perf_evlist *evlist;
|
||||
cpu_set_t cpu_set;
|
||||
|
|
|
@ -138,7 +138,7 @@ static int synth_all(struct machine *machine)
|
|||
|
||||
static int synth_process(struct machine *machine)
|
||||
{
|
||||
struct thread_map *map;
|
||||
struct perf_thread_map *map;
|
||||
int err;
|
||||
|
||||
map = thread_map__new_by_pid(getpid());
|
||||
|
|
|
@ -24,7 +24,7 @@ int test__openat_syscall_event_on_all_cpus(struct test *test __maybe_unused, int
|
|||
struct perf_evsel *evsel;
|
||||
unsigned int nr_openat_calls = 111, i;
|
||||
cpu_set_t cpu_set;
|
||||
struct thread_map *threads = thread_map__new(-1, getpid(), UINT_MAX);
|
||||
struct perf_thread_map *threads = thread_map__new(-1, getpid(), UINT_MAX);
|
||||
char sbuf[STRERR_BUFSIZE];
|
||||
char errbuf[BUFSIZ];
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ int test__openat_syscall_event(struct test *test __maybe_unused, int subtest __m
|
|||
int err = -1, fd;
|
||||
struct perf_evsel *evsel;
|
||||
unsigned int nr_openat_calls = 111, i;
|
||||
struct thread_map *threads = thread_map__new(-1, getpid(), UINT_MAX);
|
||||
struct perf_thread_map *threads = thread_map__new(-1, getpid(), UINT_MAX);
|
||||
char sbuf[STRERR_BUFSIZE];
|
||||
char errbuf[BUFSIZ];
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ static int __test__sw_clock_freq(enum perf_sw_ids clock_id)
|
|||
.freq = 1,
|
||||
};
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
struct perf_mmap *md;
|
||||
|
||||
attr.sample_freq = 500;
|
||||
|
|
|
@ -327,7 +327,7 @@ int test__switch_tracking(struct test *test __maybe_unused, int subtest __maybe_
|
|||
.uses_mmap = true,
|
||||
},
|
||||
};
|
||||
struct thread_map *threads = NULL;
|
||||
struct perf_thread_map *threads = NULL;
|
||||
struct perf_cpu_map *cpus = NULL;
|
||||
struct perf_evlist *evlist = NULL;
|
||||
struct perf_evsel *evsel, *cpu_clocks_evsel, *cycles_evsel;
|
||||
|
|
|
@ -46,7 +46,7 @@ int test__task_exit(struct test *test __maybe_unused, int subtest __maybe_unused
|
|||
const char *argv[] = { "true", NULL };
|
||||
char sbuf[STRERR_BUFSIZE];
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
struct perf_mmap *md;
|
||||
|
||||
signal(SIGCHLD, sig_handler);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
int test__thread_map(struct test *test __maybe_unused, int subtest __maybe_unused)
|
||||
{
|
||||
struct thread_map *map;
|
||||
struct perf_thread_map *map;
|
||||
|
||||
TEST_ASSERT_VAL("failed to set process name",
|
||||
!prctl(PR_SET_NAME, NAMEUL, 0, 0, 0));
|
||||
|
@ -57,7 +57,7 @@ static int process_event(struct perf_tool *tool __maybe_unused,
|
|||
struct machine *machine __maybe_unused)
|
||||
{
|
||||
struct thread_map_event *map = &event->thread_map;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
|
||||
TEST_ASSERT_VAL("wrong nr", map->nr == 1);
|
||||
TEST_ASSERT_VAL("wrong pid", map->entries[0].pid == (u64) getpid());
|
||||
|
@ -80,7 +80,7 @@ static int process_event(struct perf_tool *tool __maybe_unused,
|
|||
|
||||
int test__thread_map_synthesize(struct test *test __maybe_unused, int subtest __maybe_unused)
|
||||
{
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
|
||||
TEST_ASSERT_VAL("failed to set process name",
|
||||
!prctl(PR_SET_NAME, NAMEUL, 0, 0, 0));
|
||||
|
@ -99,7 +99,7 @@ int test__thread_map_synthesize(struct test *test __maybe_unused, int subtest __
|
|||
|
||||
int test__thread_map_remove(struct test *test __maybe_unused, int subtest __maybe_unused)
|
||||
{
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
char *str;
|
||||
int i;
|
||||
|
||||
|
|
|
@ -616,7 +616,7 @@ static int __event__synthesize_thread(union perf_event *comm_event,
|
|||
}
|
||||
|
||||
int perf_event__synthesize_thread_map(struct perf_tool *tool,
|
||||
struct thread_map *threads,
|
||||
struct perf_thread_map *threads,
|
||||
perf_event__handler_t process,
|
||||
struct machine *machine,
|
||||
bool mmap_data)
|
||||
|
@ -972,7 +972,7 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
|
|||
}
|
||||
|
||||
int perf_event__synthesize_thread_map2(struct perf_tool *tool,
|
||||
struct thread_map *threads,
|
||||
struct perf_thread_map *threads,
|
||||
perf_event__handler_t process,
|
||||
struct machine *machine)
|
||||
{
|
||||
|
@ -1377,7 +1377,7 @@ size_t perf_event__fprintf_mmap2(union perf_event *event, FILE *fp)
|
|||
|
||||
size_t perf_event__fprintf_thread_map(union perf_event *event, FILE *fp)
|
||||
{
|
||||
struct thread_map *threads = thread_map__new_event(&event->thread_map);
|
||||
struct perf_thread_map *threads = thread_map__new_event(&event->thread_map);
|
||||
size_t ret;
|
||||
|
||||
ret = fprintf(fp, " nr: ");
|
||||
|
|
|
@ -674,7 +674,7 @@ union perf_event {
|
|||
void perf_event__print_totals(void);
|
||||
|
||||
struct perf_tool;
|
||||
struct thread_map;
|
||||
struct perf_thread_map;
|
||||
struct perf_cpu_map;
|
||||
struct perf_stat_config;
|
||||
struct perf_counts_values;
|
||||
|
@ -685,11 +685,11 @@ typedef int (*perf_event__handler_t)(struct perf_tool *tool,
|
|||
struct machine *machine);
|
||||
|
||||
int perf_event__synthesize_thread_map(struct perf_tool *tool,
|
||||
struct thread_map *threads,
|
||||
struct perf_thread_map *threads,
|
||||
perf_event__handler_t process,
|
||||
struct machine *machine, bool mmap_data);
|
||||
int perf_event__synthesize_thread_map2(struct perf_tool *tool,
|
||||
struct thread_map *threads,
|
||||
struct perf_thread_map *threads,
|
||||
perf_event__handler_t process,
|
||||
struct machine *machine);
|
||||
int perf_event__synthesize_cpu_map(struct perf_tool *tool,
|
||||
|
|
|
@ -42,7 +42,7 @@ int sigqueue(pid_t pid, int sig, const union sigval value);
|
|||
#define SID(e, x, y) xyarray__entry(e->sample_id, x, y)
|
||||
|
||||
void perf_evlist__init(struct perf_evlist *evlist, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads)
|
||||
struct perf_thread_map *threads)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1013,7 +1013,7 @@ int perf_evlist__mmap_ex(struct perf_evlist *evlist, unsigned int pages,
|
|||
{
|
||||
struct perf_evsel *evsel;
|
||||
const struct perf_cpu_map *cpus = evlist->cpus;
|
||||
const struct thread_map *threads = evlist->threads;
|
||||
const struct perf_thread_map *threads = evlist->threads;
|
||||
/*
|
||||
* Delay setting mp.prot: set it before calling perf_mmap__mmap.
|
||||
* Its value is decided by evsel's write_backward.
|
||||
|
@ -1059,7 +1059,7 @@ int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
|
|||
{
|
||||
bool all_threads = (target->per_thread && target->system_wide);
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
|
||||
/*
|
||||
* If specify '-a' and '--per-thread' to perf record, perf record
|
||||
|
@ -1105,7 +1105,7 @@ out_delete_threads:
|
|||
}
|
||||
|
||||
void perf_evlist__set_maps(struct perf_evlist *evlist, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads)
|
||||
struct perf_thread_map *threads)
|
||||
{
|
||||
/*
|
||||
* Allow for the possibility that one or another of the maps isn't being
|
||||
|
@ -1359,7 +1359,7 @@ void perf_evlist__close(struct perf_evlist *evlist)
|
|||
static int perf_evlist__create_syswide_maps(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
int err = -ENOMEM;
|
||||
|
||||
/*
|
||||
|
|
|
@ -44,7 +44,7 @@ struct perf_evlist {
|
|||
struct fdarray pollfd;
|
||||
struct perf_mmap *mmap;
|
||||
struct perf_mmap *overwrite_mmap;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct perf_evsel *selected;
|
||||
struct events_stats stats;
|
||||
|
@ -69,7 +69,7 @@ struct perf_evlist *perf_evlist__new(void);
|
|||
struct perf_evlist *perf_evlist__new_default(void);
|
||||
struct perf_evlist *perf_evlist__new_dummy(void);
|
||||
void perf_evlist__init(struct perf_evlist *evlist, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads);
|
||||
struct perf_thread_map *threads);
|
||||
void perf_evlist__exit(struct perf_evlist *evlist);
|
||||
void perf_evlist__delete(struct perf_evlist *evlist);
|
||||
|
||||
|
@ -195,7 +195,7 @@ void perf_evlist__set_selected(struct perf_evlist *evlist,
|
|||
struct perf_evsel *evsel);
|
||||
|
||||
void perf_evlist__set_maps(struct perf_evlist *evlist, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads);
|
||||
struct perf_thread_map *threads);
|
||||
int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target);
|
||||
int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **err_evsel);
|
||||
|
||||
|
|
|
@ -1743,7 +1743,7 @@ static int update_fds(struct perf_evsel *evsel,
|
|||
|
||||
static bool ignore_missing_thread(struct perf_evsel *evsel,
|
||||
int nr_cpus, int cpu,
|
||||
struct thread_map *threads,
|
||||
struct perf_thread_map *threads,
|
||||
int thread, int err)
|
||||
{
|
||||
pid_t ignore_pid = thread_map__pid(threads, thread);
|
||||
|
@ -1826,7 +1826,7 @@ static int perf_event_open(struct perf_evsel *evsel,
|
|||
}
|
||||
|
||||
int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads)
|
||||
struct perf_thread_map *threads)
|
||||
{
|
||||
int cpu, thread, nthreads;
|
||||
unsigned long flags = PERF_FLAG_FD_CLOEXEC;
|
||||
|
@ -1849,7 +1849,7 @@ int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus,
|
|||
}
|
||||
|
||||
if (threads == NULL) {
|
||||
static struct thread_map *empty_thread_map;
|
||||
static struct perf_thread_map *empty_thread_map;
|
||||
|
||||
if (empty_thread_map == NULL) {
|
||||
empty_thread_map = thread_map__new_by_tid(-1);
|
||||
|
@ -2090,7 +2090,7 @@ int perf_evsel__open_per_cpu(struct perf_evsel *evsel,
|
|||
}
|
||||
|
||||
int perf_evsel__open_per_thread(struct perf_evsel *evsel,
|
||||
struct thread_map *threads)
|
||||
struct perf_thread_map *threads)
|
||||
{
|
||||
return perf_evsel__open(evsel, NULL, threads);
|
||||
}
|
||||
|
@ -3065,7 +3065,7 @@ static int store_evsel_ids(struct perf_evsel *evsel, struct perf_evlist *evlist)
|
|||
int perf_evsel__store_ids(struct perf_evsel *evsel, struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_cpu_map *cpus = evsel->cpus;
|
||||
struct thread_map *threads = evsel->threads;
|
||||
struct perf_thread_map *threads = evsel->threads;
|
||||
|
||||
if (perf_evsel__alloc_id(evsel, cpus->nr, threads->nr))
|
||||
return -ENOMEM;
|
||||
|
|
|
@ -126,7 +126,7 @@ struct perf_evsel {
|
|||
void *handler;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct perf_cpu_map *own_cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
unsigned int sample_size;
|
||||
int id_pos;
|
||||
int is_pos;
|
||||
|
@ -302,9 +302,9 @@ int perf_evsel__disable(struct perf_evsel *evsel);
|
|||
int perf_evsel__open_per_cpu(struct perf_evsel *evsel,
|
||||
struct perf_cpu_map *cpus);
|
||||
int perf_evsel__open_per_thread(struct perf_evsel *evsel,
|
||||
struct thread_map *threads);
|
||||
struct perf_thread_map *threads);
|
||||
int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus,
|
||||
struct thread_map *threads);
|
||||
struct perf_thread_map *threads);
|
||||
void perf_evsel__close(struct perf_evsel *evsel);
|
||||
|
||||
struct perf_sample;
|
||||
|
|
|
@ -2599,7 +2599,7 @@ int machines__for_each_thread(struct machines *machines,
|
|||
}
|
||||
|
||||
int __machine__synthesize_threads(struct machine *machine, struct perf_tool *tool,
|
||||
struct target *target, struct thread_map *threads,
|
||||
struct target *target, struct perf_thread_map *threads,
|
||||
perf_event__handler_t process, bool data_mmap,
|
||||
unsigned int nr_threads_synthesize)
|
||||
{
|
||||
|
|
|
@ -251,12 +251,12 @@ int machines__for_each_thread(struct machines *machines,
|
|||
void *priv);
|
||||
|
||||
int __machine__synthesize_threads(struct machine *machine, struct perf_tool *tool,
|
||||
struct target *target, struct thread_map *threads,
|
||||
struct target *target, struct perf_thread_map *threads,
|
||||
perf_event__handler_t process, bool data_mmap,
|
||||
unsigned int nr_threads_synthesize);
|
||||
static inline
|
||||
int machine__synthesize_threads(struct machine *machine, struct target *target,
|
||||
struct thread_map *threads, bool data_mmap,
|
||||
struct perf_thread_map *threads, bool data_mmap,
|
||||
unsigned int nr_threads_synthesize)
|
||||
{
|
||||
return __machine__synthesize_threads(machine, NULL, target, threads,
|
||||
|
|
|
@ -2313,7 +2313,7 @@ static bool is_event_supported(u8 type, unsigned config)
|
|||
.config = config,
|
||||
.disabled = 1,
|
||||
};
|
||||
struct thread_map *tmap = thread_map__new_by_tid(0);
|
||||
struct perf_thread_map *tmap = thread_map__new_by_tid(0);
|
||||
|
||||
if (tmap == NULL)
|
||||
return false;
|
||||
|
|
|
@ -605,7 +605,7 @@ static int pyrf_cpu_map__setup_types(void)
|
|||
struct pyrf_thread_map {
|
||||
PyObject_HEAD
|
||||
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
};
|
||||
|
||||
static int pyrf_thread_map__init(struct pyrf_thread_map *pthreads,
|
||||
|
@ -797,7 +797,7 @@ static PyObject *pyrf_evsel__open(struct pyrf_evsel *pevsel,
|
|||
{
|
||||
struct perf_evsel *evsel = &pevsel->evsel;
|
||||
struct perf_cpu_map *cpus = NULL;
|
||||
struct thread_map *threads = NULL;
|
||||
struct perf_thread_map *threads = NULL;
|
||||
PyObject *pcpus = NULL, *pthreads = NULL;
|
||||
int group = 0, inherit = 0;
|
||||
static char *kwlist[] = { "cpus", "threads", "group", "inherit", NULL };
|
||||
|
@ -866,7 +866,7 @@ static int pyrf_evlist__init(struct pyrf_evlist *pevlist,
|
|||
{
|
||||
PyObject *pcpus = NULL, *pthreads = NULL;
|
||||
struct perf_cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "OO", &pcpus, &pthreads))
|
||||
return -1;
|
||||
|
|
|
@ -1392,7 +1392,7 @@ process_stat(struct perf_evsel *counter, int cpu, int thread, u64 tstamp,
|
|||
static void python_process_stat(struct perf_stat_config *config,
|
||||
struct perf_evsel *counter, u64 tstamp)
|
||||
{
|
||||
struct thread_map *threads = counter->threads;
|
||||
struct perf_thread_map *threads = counter->threads;
|
||||
struct perf_cpu_map *cpus = counter->cpus;
|
||||
int cpu, thread;
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ static int filter(const struct dirent *dir)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void thread_map__reset(struct thread_map *map, int start, int nr)
|
||||
static void thread_map__reset(struct perf_thread_map *map, int start, int nr)
|
||||
{
|
||||
size_t size = (nr - start) * sizeof(map->map[0]);
|
||||
|
||||
|
@ -36,7 +36,7 @@ static void thread_map__reset(struct thread_map *map, int start, int nr)
|
|||
map->err_thread = -1;
|
||||
}
|
||||
|
||||
static struct thread_map *thread_map__realloc(struct thread_map *map, int nr)
|
||||
static struct perf_thread_map *thread_map__realloc(struct perf_thread_map *map, int nr)
|
||||
{
|
||||
size_t size = sizeof(*map) + sizeof(map->map[0]) * nr;
|
||||
int start = map ? map->nr : 0;
|
||||
|
@ -53,9 +53,9 @@ static struct thread_map *thread_map__realloc(struct thread_map *map, int nr)
|
|||
|
||||
#define thread_map__alloc(__nr) thread_map__realloc(NULL, __nr)
|
||||
|
||||
struct thread_map *thread_map__new_by_pid(pid_t pid)
|
||||
struct perf_thread_map *thread_map__new_by_pid(pid_t pid)
|
||||
{
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
char name[256];
|
||||
int items;
|
||||
struct dirent **namelist = NULL;
|
||||
|
@ -81,9 +81,9 @@ struct thread_map *thread_map__new_by_pid(pid_t pid)
|
|||
return threads;
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_by_tid(pid_t tid)
|
||||
struct perf_thread_map *thread_map__new_by_tid(pid_t tid)
|
||||
{
|
||||
struct thread_map *threads = thread_map__alloc(1);
|
||||
struct perf_thread_map *threads = thread_map__alloc(1);
|
||||
|
||||
if (threads != NULL) {
|
||||
thread_map__set_pid(threads, 0, tid);
|
||||
|
@ -94,13 +94,13 @@ struct thread_map *thread_map__new_by_tid(pid_t tid)
|
|||
return threads;
|
||||
}
|
||||
|
||||
static struct thread_map *__thread_map__new_all_cpus(uid_t uid)
|
||||
static struct perf_thread_map *__thread_map__new_all_cpus(uid_t uid)
|
||||
{
|
||||
DIR *proc;
|
||||
int max_threads = 32, items, i;
|
||||
char path[NAME_MAX + 1 + 6];
|
||||
struct dirent *dirent, **namelist = NULL;
|
||||
struct thread_map *threads = thread_map__alloc(max_threads);
|
||||
struct perf_thread_map *threads = thread_map__alloc(max_threads);
|
||||
|
||||
if (threads == NULL)
|
||||
goto out;
|
||||
|
@ -140,7 +140,7 @@ static struct thread_map *__thread_map__new_all_cpus(uid_t uid)
|
|||
}
|
||||
|
||||
if (grow) {
|
||||
struct thread_map *tmp;
|
||||
struct perf_thread_map *tmp;
|
||||
|
||||
tmp = thread_map__realloc(threads, max_threads);
|
||||
if (tmp == NULL)
|
||||
|
@ -180,17 +180,17 @@ out_free_closedir:
|
|||
goto out_closedir;
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_all_cpus(void)
|
||||
struct perf_thread_map *thread_map__new_all_cpus(void)
|
||||
{
|
||||
return __thread_map__new_all_cpus(UINT_MAX);
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_by_uid(uid_t uid)
|
||||
struct perf_thread_map *thread_map__new_by_uid(uid_t uid)
|
||||
{
|
||||
return __thread_map__new_all_cpus(uid);
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid)
|
||||
struct perf_thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid)
|
||||
{
|
||||
if (pid != -1)
|
||||
return thread_map__new_by_pid(pid);
|
||||
|
@ -201,9 +201,9 @@ struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid)
|
|||
return thread_map__new_by_tid(tid);
|
||||
}
|
||||
|
||||
static struct thread_map *thread_map__new_by_pid_str(const char *pid_str)
|
||||
static struct perf_thread_map *thread_map__new_by_pid_str(const char *pid_str)
|
||||
{
|
||||
struct thread_map *threads = NULL, *nt;
|
||||
struct perf_thread_map *threads = NULL, *nt;
|
||||
char name[256];
|
||||
int items, total_tasks = 0;
|
||||
struct dirent **namelist = NULL;
|
||||
|
@ -263,9 +263,9 @@ out_free_threads:
|
|||
goto out;
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_dummy(void)
|
||||
struct perf_thread_map *thread_map__new_dummy(void)
|
||||
{
|
||||
struct thread_map *threads = thread_map__alloc(1);
|
||||
struct perf_thread_map *threads = thread_map__alloc(1);
|
||||
|
||||
if (threads != NULL) {
|
||||
thread_map__set_pid(threads, 0, -1);
|
||||
|
@ -275,9 +275,9 @@ struct thread_map *thread_map__new_dummy(void)
|
|||
return threads;
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_by_tid_str(const char *tid_str)
|
||||
struct perf_thread_map *thread_map__new_by_tid_str(const char *tid_str)
|
||||
{
|
||||
struct thread_map *threads = NULL, *nt;
|
||||
struct perf_thread_map *threads = NULL, *nt;
|
||||
int ntasks = 0;
|
||||
pid_t tid, prev_tid = INT_MAX;
|
||||
char *end_ptr;
|
||||
|
@ -324,7 +324,7 @@ out_free_threads:
|
|||
goto out;
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_str(const char *pid, const char *tid,
|
||||
struct perf_thread_map *thread_map__new_str(const char *pid, const char *tid,
|
||||
uid_t uid, bool all_threads)
|
||||
{
|
||||
if (pid)
|
||||
|
@ -339,7 +339,7 @@ struct thread_map *thread_map__new_str(const char *pid, const char *tid,
|
|||
return thread_map__new_by_tid_str(tid);
|
||||
}
|
||||
|
||||
static void thread_map__delete(struct thread_map *threads)
|
||||
static void thread_map__delete(struct perf_thread_map *threads)
|
||||
{
|
||||
if (threads) {
|
||||
int i;
|
||||
|
@ -352,20 +352,20 @@ static void thread_map__delete(struct thread_map *threads)
|
|||
}
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__get(struct thread_map *map)
|
||||
struct perf_thread_map *thread_map__get(struct perf_thread_map *map)
|
||||
{
|
||||
if (map)
|
||||
refcount_inc(&map->refcnt);
|
||||
return map;
|
||||
}
|
||||
|
||||
void thread_map__put(struct thread_map *map)
|
||||
void thread_map__put(struct perf_thread_map *map)
|
||||
{
|
||||
if (map && refcount_dec_and_test(&map->refcnt))
|
||||
thread_map__delete(map);
|
||||
}
|
||||
|
||||
size_t thread_map__fprintf(struct thread_map *threads, FILE *fp)
|
||||
size_t thread_map__fprintf(struct perf_thread_map *threads, FILE *fp)
|
||||
{
|
||||
int i;
|
||||
size_t printed = fprintf(fp, "%d thread%s: ",
|
||||
|
@ -400,7 +400,7 @@ static int get_comm(char **comm, pid_t pid)
|
|||
return err;
|
||||
}
|
||||
|
||||
static void comm_init(struct thread_map *map, int i)
|
||||
static void comm_init(struct perf_thread_map *map, int i)
|
||||
{
|
||||
pid_t pid = thread_map__pid(map, i);
|
||||
char *comm = NULL;
|
||||
|
@ -421,7 +421,7 @@ static void comm_init(struct thread_map *map, int i)
|
|||
map->map[i].comm = comm;
|
||||
}
|
||||
|
||||
void thread_map__read_comms(struct thread_map *threads)
|
||||
void thread_map__read_comms(struct perf_thread_map *threads)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -429,7 +429,7 @@ void thread_map__read_comms(struct thread_map *threads)
|
|||
comm_init(threads, i);
|
||||
}
|
||||
|
||||
static void thread_map__copy_event(struct thread_map *threads,
|
||||
static void thread_map__copy_event(struct perf_thread_map *threads,
|
||||
struct thread_map_event *event)
|
||||
{
|
||||
unsigned i;
|
||||
|
@ -444,9 +444,9 @@ static void thread_map__copy_event(struct thread_map *threads,
|
|||
refcount_set(&threads->refcnt, 1);
|
||||
}
|
||||
|
||||
struct thread_map *thread_map__new_event(struct thread_map_event *event)
|
||||
struct perf_thread_map *thread_map__new_event(struct thread_map_event *event)
|
||||
{
|
||||
struct thread_map *threads;
|
||||
struct perf_thread_map *threads;
|
||||
|
||||
threads = thread_map__alloc(event->nr);
|
||||
if (threads)
|
||||
|
@ -455,7 +455,7 @@ struct thread_map *thread_map__new_event(struct thread_map_event *event)
|
|||
return threads;
|
||||
}
|
||||
|
||||
bool thread_map__has(struct thread_map *threads, pid_t pid)
|
||||
bool thread_map__has(struct perf_thread_map *threads, pid_t pid)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -467,7 +467,7 @@ bool thread_map__has(struct thread_map *threads, pid_t pid)
|
|||
return false;
|
||||
}
|
||||
|
||||
int thread_map__remove(struct thread_map *threads, int idx)
|
||||
int thread_map__remove(struct perf_thread_map *threads, int idx)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ struct thread_map_data {
|
|||
char *comm;
|
||||
};
|
||||
|
||||
struct thread_map {
|
||||
struct perf_thread_map {
|
||||
refcount_t refcnt;
|
||||
int nr;
|
||||
int err_thread;
|
||||
|
@ -20,46 +20,46 @@ struct thread_map {
|
|||
|
||||
struct thread_map_event;
|
||||
|
||||
struct thread_map *thread_map__new_dummy(void);
|
||||
struct thread_map *thread_map__new_by_pid(pid_t pid);
|
||||
struct thread_map *thread_map__new_by_tid(pid_t tid);
|
||||
struct thread_map *thread_map__new_by_uid(uid_t uid);
|
||||
struct thread_map *thread_map__new_all_cpus(void);
|
||||
struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid);
|
||||
struct thread_map *thread_map__new_event(struct thread_map_event *event);
|
||||
struct perf_thread_map *thread_map__new_dummy(void);
|
||||
struct perf_thread_map *thread_map__new_by_pid(pid_t pid);
|
||||
struct perf_thread_map *thread_map__new_by_tid(pid_t tid);
|
||||
struct perf_thread_map *thread_map__new_by_uid(uid_t uid);
|
||||
struct perf_thread_map *thread_map__new_all_cpus(void);
|
||||
struct perf_thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid);
|
||||
struct perf_thread_map *thread_map__new_event(struct thread_map_event *event);
|
||||
|
||||
struct thread_map *thread_map__get(struct thread_map *map);
|
||||
void thread_map__put(struct thread_map *map);
|
||||
struct perf_thread_map *thread_map__get(struct perf_thread_map *map);
|
||||
void thread_map__put(struct perf_thread_map *map);
|
||||
|
||||
struct thread_map *thread_map__new_str(const char *pid,
|
||||
struct perf_thread_map *thread_map__new_str(const char *pid,
|
||||
const char *tid, uid_t uid, bool all_threads);
|
||||
|
||||
struct thread_map *thread_map__new_by_tid_str(const char *tid_str);
|
||||
struct perf_thread_map *thread_map__new_by_tid_str(const char *tid_str);
|
||||
|
||||
size_t thread_map__fprintf(struct thread_map *threads, FILE *fp);
|
||||
size_t thread_map__fprintf(struct perf_thread_map *threads, FILE *fp);
|
||||
|
||||
static inline int thread_map__nr(struct thread_map *threads)
|
||||
static inline int thread_map__nr(struct perf_thread_map *threads)
|
||||
{
|
||||
return threads ? threads->nr : 1;
|
||||
}
|
||||
|
||||
static inline pid_t thread_map__pid(struct thread_map *map, int thread)
|
||||
static inline pid_t thread_map__pid(struct perf_thread_map *map, int thread)
|
||||
{
|
||||
return map->map[thread].pid;
|
||||
}
|
||||
|
||||
static inline void
|
||||
thread_map__set_pid(struct thread_map *map, int thread, pid_t pid)
|
||||
thread_map__set_pid(struct perf_thread_map *map, int thread, pid_t pid)
|
||||
{
|
||||
map->map[thread].pid = pid;
|
||||
}
|
||||
|
||||
static inline char *thread_map__comm(struct thread_map *map, int thread)
|
||||
static inline char *thread_map__comm(struct perf_thread_map *map, int thread)
|
||||
{
|
||||
return map->map[thread].comm;
|
||||
}
|
||||
|
||||
void thread_map__read_comms(struct thread_map *threads);
|
||||
bool thread_map__has(struct thread_map *threads, pid_t pid);
|
||||
int thread_map__remove(struct thread_map *threads, int idx);
|
||||
void thread_map__read_comms(struct perf_thread_map *threads);
|
||||
bool thread_map__has(struct perf_thread_map *threads, pid_t pid);
|
||||
int thread_map__remove(struct perf_thread_map *threads, int idx);
|
||||
#endif /* __PERF_THREAD_MAP_H */
|
||||
|
|
Загрузка…
Ссылка в новой задаче