mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
perf tools: Add fprintf methods for thread_map and cpu_map classes
For helping with debugging. Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-m06n4rp7pwr6dlzwoq89cl69@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
172d1b0b73
commit
9ae7d3351a
@ -166,6 +166,17 @@ out:
|
||||
return cpus;
|
||||
}
|
||||
|
||||
size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp)
|
||||
{
|
||||
int i;
|
||||
size_t printed = fprintf(fp, "%d cpu%s: ",
|
||||
map->nr, map->nr > 1 ? "s" : "");
|
||||
for (i = 0; i < map->nr; ++i)
|
||||
printed += fprintf(fp, "%s%d", i ? ", " : "", map->map[i]);
|
||||
|
||||
return printed + fprintf(fp, "\n");
|
||||
}
|
||||
|
||||
struct cpu_map *cpu_map__dummy_new(void)
|
||||
{
|
||||
struct cpu_map *cpus = malloc(sizeof(*cpus) + sizeof(int));
|
||||
|
@ -1,6 +1,8 @@
|
||||
#ifndef __PERF_CPUMAP_H
|
||||
#define __PERF_CPUMAP_H
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
struct cpu_map {
|
||||
int nr;
|
||||
int map[];
|
||||
@ -10,4 +12,6 @@ struct cpu_map *cpu_map__new(const char *cpu_list);
|
||||
struct cpu_map *cpu_map__dummy_new(void);
|
||||
void cpu_map__delete(struct cpu_map *map);
|
||||
|
||||
size_t cpu_map__fprintf(struct cpu_map *map, FILE *fp);
|
||||
|
||||
#endif /* __PERF_CPUMAP_H */
|
||||
|
@ -62,3 +62,14 @@ void thread_map__delete(struct thread_map *threads)
|
||||
{
|
||||
free(threads);
|
||||
}
|
||||
|
||||
size_t thread_map__fprintf(struct thread_map *threads, FILE *fp)
|
||||
{
|
||||
int i;
|
||||
size_t printed = fprintf(fp, "%d thread%s: ",
|
||||
threads->nr, threads->nr > 1 ? "s" : "");
|
||||
for (i = 0; i < threads->nr; ++i)
|
||||
printed += fprintf(fp, "%s%d", i ? ", " : "", threads->map[i]);
|
||||
|
||||
return printed + fprintf(fp, "\n");
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define __PERF_THREAD_MAP_H
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
|
||||
struct thread_map {
|
||||
int nr;
|
||||
@ -12,4 +13,7 @@ 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(pid_t pid, pid_t tid);
|
||||
void thread_map__delete(struct thread_map *threads);
|
||||
|
||||
size_t thread_map__fprintf(struct thread_map *threads, FILE *fp);
|
||||
|
||||
#endif /* __PERF_THREAD_MAP_H */
|
||||
|
Loading…
Reference in New Issue
Block a user