perf mmap: Store real cpu number in 'struct perf_mmap'
Store the real cpu number in 'struct perf_mmap', which will be used by python interface that allows user to read a particular memory map for given cpu. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jaroslav Škarvada <jskarvad@redhat.com> Cc: Joe Mario <jmario@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20180817114556.28000-2-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
b946cd3734
commit
31fb4c0d7b
@ -803,7 +803,7 @@ static int perf_evlist__mmap_per_evsel(struct perf_evlist *evlist, int idx,
|
|||||||
if (*output == -1) {
|
if (*output == -1) {
|
||||||
*output = fd;
|
*output = fd;
|
||||||
|
|
||||||
if (perf_mmap__mmap(&maps[idx], mp, *output) < 0)
|
if (perf_mmap__mmap(&maps[idx], mp, *output, evlist_cpu) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
if (ioctl(fd, PERF_EVENT_IOC_SET_OUTPUT, *output) != 0)
|
if (ioctl(fd, PERF_EVENT_IOC_SET_OUTPUT, *output) != 0)
|
||||||
|
@ -164,7 +164,7 @@ void perf_mmap__munmap(struct perf_mmap *map)
|
|||||||
auxtrace_mmap__munmap(&map->auxtrace_mmap);
|
auxtrace_mmap__munmap(&map->auxtrace_mmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
int perf_mmap__mmap(struct perf_mmap *map, struct mmap_params *mp, int fd)
|
int perf_mmap__mmap(struct perf_mmap *map, struct mmap_params *mp, int fd, int cpu)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* The last one will be done at perf_mmap__consume(), so that we
|
* The last one will be done at perf_mmap__consume(), so that we
|
||||||
@ -191,6 +191,7 @@ int perf_mmap__mmap(struct perf_mmap *map, struct mmap_params *mp, int fd)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
map->fd = fd;
|
map->fd = fd;
|
||||||
|
map->cpu = cpu;
|
||||||
|
|
||||||
if (auxtrace_mmap__mmap(&map->auxtrace_mmap,
|
if (auxtrace_mmap__mmap(&map->auxtrace_mmap,
|
||||||
&mp->auxtrace_mp, map->base, fd))
|
&mp->auxtrace_mp, map->base, fd))
|
||||||
|
@ -18,6 +18,7 @@ struct perf_mmap {
|
|||||||
void *base;
|
void *base;
|
||||||
int mask;
|
int mask;
|
||||||
int fd;
|
int fd;
|
||||||
|
int cpu;
|
||||||
refcount_t refcnt;
|
refcount_t refcnt;
|
||||||
u64 prev;
|
u64 prev;
|
||||||
u64 start;
|
u64 start;
|
||||||
@ -60,7 +61,7 @@ struct mmap_params {
|
|||||||
struct auxtrace_mmap_params auxtrace_mp;
|
struct auxtrace_mmap_params auxtrace_mp;
|
||||||
};
|
};
|
||||||
|
|
||||||
int perf_mmap__mmap(struct perf_mmap *map, struct mmap_params *mp, int fd);
|
int perf_mmap__mmap(struct perf_mmap *map, struct mmap_params *mp, int fd, int cpu);
|
||||||
void perf_mmap__munmap(struct perf_mmap *map);
|
void perf_mmap__munmap(struct perf_mmap *map);
|
||||||
|
|
||||||
void perf_mmap__get(struct perf_mmap *map);
|
void perf_mmap__get(struct perf_mmap *map);
|
||||||
|
Loading…
Reference in New Issue
Block a user