forked from Minki/linux
libperf: Add 'flush' to 'struct perf_mmap'
Move 'flush' from tools/perf's mmap to libperf's perf_mmap struct. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lore.kernel.org/lkml/20190913132355.21634-19-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
4443e6d770
commit
65aa2e6bae
@ -973,13 +973,13 @@ static int record__mmap_read_evlist(struct record *rec, struct evlist *evlist,
|
|||||||
if (map->core.base) {
|
if (map->core.base) {
|
||||||
record__adjust_affinity(rec, map);
|
record__adjust_affinity(rec, map);
|
||||||
if (synch) {
|
if (synch) {
|
||||||
flush = map->flush;
|
flush = map->core.flush;
|
||||||
map->flush = 1;
|
map->core.flush = 1;
|
||||||
}
|
}
|
||||||
if (!record__aio_enabled(rec)) {
|
if (!record__aio_enabled(rec)) {
|
||||||
if (perf_mmap__push(map, rec, record__pushfn) < 0) {
|
if (perf_mmap__push(map, rec, record__pushfn) < 0) {
|
||||||
if (synch)
|
if (synch)
|
||||||
map->flush = flush;
|
map->core.flush = flush;
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -987,13 +987,13 @@ static int record__mmap_read_evlist(struct record *rec, struct evlist *evlist,
|
|||||||
if (record__aio_push(rec, map, &off) < 0) {
|
if (record__aio_push(rec, map, &off) < 0) {
|
||||||
record__aio_set_pos(trace_fd, off);
|
record__aio_set_pos(trace_fd, off);
|
||||||
if (synch)
|
if (synch)
|
||||||
map->flush = flush;
|
map->core.flush = flush;
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (synch)
|
if (synch)
|
||||||
map->flush = flush;
|
map->core.flush = flush;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (map->auxtrace_mmap.base && !rec->opts.auxtrace_snapshot_mode &&
|
if (map->auxtrace_mmap.base && !rec->opts.auxtrace_snapshot_mode &&
|
||||||
|
@ -25,6 +25,7 @@ struct perf_mmap {
|
|||||||
u64 start;
|
u64 start;
|
||||||
u64 end;
|
u64 end;
|
||||||
bool overwrite;
|
bool overwrite;
|
||||||
|
u64 flush;
|
||||||
char event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8);
|
char event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -383,7 +383,7 @@ int perf_mmap__mmap(struct mmap *map, struct mmap_params *mp, int fd, int cpu)
|
|||||||
|
|
||||||
perf_mmap__setup_affinity_mask(map, mp);
|
perf_mmap__setup_affinity_mask(map, mp);
|
||||||
|
|
||||||
map->flush = mp->flush;
|
map->core.flush = mp->flush;
|
||||||
|
|
||||||
map->comp_level = mp->comp_level;
|
map->comp_level = mp->comp_level;
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ static int __perf_mmap__read_init(struct mmap *md)
|
|||||||
md->core.start = md->core.overwrite ? head : old;
|
md->core.start = md->core.overwrite ? head : old;
|
||||||
md->core.end = md->core.overwrite ? old : head;
|
md->core.end = md->core.overwrite ? old : head;
|
||||||
|
|
||||||
if ((md->core.end - md->core.start) < md->flush)
|
if ((md->core.end - md->core.start) < md->core.flush)
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
|
|
||||||
size = md->core.end - md->core.start;
|
size = md->core.end - md->core.start;
|
||||||
|
@ -32,7 +32,6 @@ struct mmap {
|
|||||||
} aio;
|
} aio;
|
||||||
#endif
|
#endif
|
||||||
cpu_set_t affinity_mask;
|
cpu_set_t affinity_mask;
|
||||||
u64 flush;
|
|
||||||
void *data;
|
void *data;
|
||||||
int comp_level;
|
int comp_level;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user