perf record: Move perf_mmap__write_tail to perf.h
Commit-ID: 115d2d8963a426670ac3ce983fc4c4e001703943 Gitweb: http://git.kernel.org/tip/115d2d8963a426670ac3ce983fc4c4e001703943 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Wed, 12 Jan 2011 17:11:53 -0200 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Sat, 22 Jan 2011 19:56:29 -0200
perf record: Move perf_mmap__write_tail to perf.h
Close to perf_mmap__read_head() and the perf_mmap struct definition. This is useful for any recorder, and we will need it in 'perf test'.
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Tom Zanussi <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-record.c | 13 +------------ tools/perf/perf.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 12 deletions(-)
tools/perf/builtin-record.c +1 -12
@@ -80,17 +80,6 @@ static const char *cpu_list;static struct perf_mmap mmap_array[MAX_NR_CPUS ]; -static void mmap_write_tail (struct perf_mmap *md,unsigned long tail) -{ -struct perf_event_mmap_page *pc = md->base; - -/* -* ensure all reads are done before we write the tail out. -*/ -/* mb(); */ - pc->data_tail = tail; -} -static void advance_output (size_t size) { bytes_written += size;
@@ -165,7 +154,7 @@ static void mmap_read(struct perf_mmap *md)write_output (buf, size); md->prev = old; -mmap_write_tail (md, old); +perf_mmap__write_tail (md, old); }static volatile int done =0 ;
tools/perf/perf.h +12 -0
@@ -108,6 +108,18 @@ static inline unsigned int perf_mmap__read_head(struct perf_mmap *mm)return head; } +static inline void perf_mmap__write_tail (struct perf_mmap *md, +unsigned long tail) +{ +struct perf_event_mmap_page *pc = md->base; + +/* +* ensure all reads are done before we write the tail out. +*/ +/* mb(); */ + pc->data_tail = tail; +} +/* * prctl(PR_TASK_PERF_EVENTS_DISABLE) will (cheaply) disable all * counters in the current task.