Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf evlist: Fix type for references to data_head/tail

The data_head and data_tail fields are defined as __u64 in
linux/perf_event.h, but perf userspace uses int and unsigned int.

Convert all references to u64 for consistency.

Signed-off-by: David Ahern <dsahern@gmail.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1428420037-26599-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

David Ahern and committed by
Arnaldo Carvalho de Melo
7b8283b5 8cb0aa4c

+9 -10
+2 -2
tools/perf/builtin-record.c
··· 70 70 static int record__mmap_read(struct record *rec, int idx) 71 71 { 72 72 struct perf_mmap *md = &rec->evlist->mmap[idx]; 73 - unsigned int head = perf_mmap__read_head(md); 74 - unsigned int old = md->prev; 73 + u64 head = perf_mmap__read_head(md); 74 + u64 old = md->prev; 75 75 unsigned char *data = md->base + page_size; 76 76 unsigned long size; 77 77 void *buf;
+3 -3
tools/perf/util/evlist.c
··· 634 634 union perf_event *perf_evlist__mmap_read(struct perf_evlist *evlist, int idx) 635 635 { 636 636 struct perf_mmap *md = &evlist->mmap[idx]; 637 - unsigned int head = perf_mmap__read_head(md); 638 - unsigned int old = md->prev; 637 + u64 head = perf_mmap__read_head(md); 638 + u64 old = md->prev; 639 639 unsigned char *data = md->base + page_size; 640 640 union perf_event *event = NULL; 641 641 ··· 716 716 struct perf_mmap *md = &evlist->mmap[idx]; 717 717 718 718 if (!evlist->overwrite) { 719 - unsigned int old = md->prev; 719 + u64 old = md->prev; 720 720 721 721 perf_mmap__write_tail(md, old); 722 722 }
+4 -5
tools/perf/util/evlist.h
··· 27 27 void *base; 28 28 int mask; 29 29 int refcnt; 30 - unsigned int prev; 30 + u64 prev; 31 31 char event_copy[PERF_SAMPLE_MAX_SIZE] __attribute__((aligned(8))); 32 32 }; 33 33 ··· 189 189 int perf_evlist__strerror_open(struct perf_evlist *evlist, int err, char *buf, size_t size); 190 190 int perf_evlist__strerror_mmap(struct perf_evlist *evlist, int err, char *buf, size_t size); 191 191 192 - static inline unsigned int perf_mmap__read_head(struct perf_mmap *mm) 192 + static inline u64 perf_mmap__read_head(struct perf_mmap *mm) 193 193 { 194 194 struct perf_event_mmap_page *pc = mm->base; 195 - int head = ACCESS_ONCE(pc->data_head); 195 + u64 head = ACCESS_ONCE(pc->data_head); 196 196 rmb(); 197 197 return head; 198 198 } 199 199 200 - static inline void perf_mmap__write_tail(struct perf_mmap *md, 201 - unsigned long tail) 200 + static inline void perf_mmap__write_tail(struct perf_mmap *md, u64 tail) 202 201 { 203 202 struct perf_event_mmap_page *pc = md->base; 204 203