perf record: Use struct perf_mmap and helpers
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 Jan 2011 19:07:28 +0000 (17:07 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 22 Jan 2011 21:56:29 +0000 (19:56 -0200)
Paving the way to using perf_evsel->mmap, do this to reduce the patch
noise in the next ones.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c

index ec43f2eb7b7271e67730773c9a4f57fa9ff03325..d89e2f106a622c8469d535bc025fc70b8aad4801 100644 (file)
@@ -78,26 +78,9 @@ static off_t                 post_processing_offset;
 static struct perf_session     *session;
 static const char              *cpu_list;
 
-struct mmap_data {
-       void                    *base;
-       unsigned int            mask;
-       unsigned int            prev;
-};
-
-static struct mmap_data                mmap_array[MAX_NR_CPUS];
-
-static unsigned long mmap_read_head(struct mmap_data *md)
-{
-       struct perf_event_mmap_page *pc = md->base;
-       long head;
-
-       head = pc->data_head;
-       rmb();
-
-       return head;
-}
+static struct perf_mmap                mmap_array[MAX_NR_CPUS];
 
-static void mmap_write_tail(struct mmap_data *md, unsigned long tail)
+static void mmap_write_tail(struct perf_mmap *md, unsigned long tail)
 {
        struct perf_event_mmap_page *pc = md->base;
 
@@ -136,9 +119,9 @@ static int process_synthesized_event(event_t *event,
        return 0;
 }
 
-static void mmap_read(struct mmap_data *md)
+static void mmap_read(struct perf_mmap *md)
 {
-       unsigned int head = mmap_read_head(md);
+       unsigned int head = perf_mmap__read_head(md);
        unsigned int old = md->prev;
        unsigned char *data = md->base + page_size;
        unsigned long size;