perf_counter tools: Clean up u64 usage
authorIngo Molnar <mingo@elte.hu>
Thu, 11 Jun 2009 12:16:15 +0000 (14:16 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 11 Jun 2009 14:48:38 +0000 (16:48 +0200)
A build error slipped in:

 builtin-report.c: In function ‘hist_entry__fprintf’:
 builtin-report.c:711: error: format ‘%12d’ expects type ‘int’, but argument 3 has type ‘uint64_t’

Because we got a bit sloppy with those types. uint64_t really sucks,
because there's no printf format for it. So standardize on __u64
instead - for all types that go to or come from the ABI (which is __u64),
or for values that need to be large enough even on 32-bit.

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/builtin-annotate.c
tools/perf/builtin-record.c
tools/perf/builtin-report.c
tools/perf/builtin-top.c
tools/perf/util/symbol.c
tools/perf/util/symbol.h

index 3334a8bb1d513870c7b0c73cf04455f61f0a89ca..b1ed5f766cb3fbbdefd0d5fc1e7c039e0765b555 100644 (file)
@@ -145,7 +145,7 @@ static void dsos__fprintf(FILE *fp)
                dso__fprintf(pos, fp);
 }
 
-static struct symbol *vdso__find_symbol(struct dso *dso, uint64_t ip)
+static struct symbol *vdso__find_symbol(struct dso *dso, __u64 ip)
 {
        return dso__find_symbol(kernel_dso, ip);
 }
@@ -178,19 +178,19 @@ static int load_kernel(void)
 
 struct map {
        struct list_head node;
-       uint64_t         start;
-       uint64_t         end;
-       uint64_t         pgoff;
-       uint64_t         (*map_ip)(struct map *, uint64_t);
+       __u64    start;
+       __u64    end;
+       __u64    pgoff;
+       __u64    (*map_ip)(struct map *, __u64);
        struct dso       *dso;
 };
 
-static uint64_t map__map_ip(struct map *map, uint64_t ip)
+static __u64 map__map_ip(struct map *map, __u64 ip)
 {
        return ip - map->start + map->pgoff;
 }
 
-static uint64_t vdso__map_ip(struct map *map, uint64_t ip)
+static __u64 vdso__map_ip(struct map *map, __u64 ip)
 {
        return ip;
 }
@@ -249,7 +249,7 @@ static int map__overlap(struct map *l, struct map *r)
 
 static size_t map__fprintf(struct map *self, FILE *fp)
 {
-       return fprintf(fp, " %"PRIx64"-%"PRIx64" %"PRIx64" %s\n",
+       return fprintf(fp, " %Lx-%Lx %Lx %s\n",
                       self->start, self->end, self->pgoff, self->dso->name);
 }
 
@@ -373,7 +373,7 @@ static int thread__fork(struct thread *self, struct thread *parent)
        return 0;
 }
 
-static struct map *thread__find_map(struct thread *self, uint64_t ip)
+static struct map *thread__find_map(struct thread *self, __u64 ip)
 {
        struct map *pos;
 
@@ -414,7 +414,7 @@ struct hist_entry {
        struct map       *map;
        struct dso       *dso;
        struct symbol    *sym;
-       uint64_t         ip;
+       __u64    ip;
        char             level;
 
        uint32_t         count;
@@ -533,7 +533,7 @@ static struct sort_entry sort_dso = {
 static int64_t
 sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
 {
-       uint64_t ip_l, ip_r;
+       __u64 ip_l, ip_r;
 
        if (left->sym == right->sym)
                return 0;
@@ -647,7 +647,7 @@ hist_entry__collapse(struct hist_entry *left, struct hist_entry *right)
 /*
  * collect histogram counts
  */
-static void hist_hit(struct hist_entry *he, uint64_t ip)
+static void hist_hit(struct hist_entry *he, __u64 ip)
 {
        unsigned int sym_size, offset;
        struct symbol *sym = he->sym;
@@ -676,7 +676,7 @@ static void hist_hit(struct hist_entry *he, uint64_t ip)
 
 static int
 hist_entry__add(struct thread *thread, struct map *map, struct dso *dso,
-               struct symbol *sym, uint64_t ip, char level)
+               struct symbol *sym, __u64 ip, char level)
 {
        struct rb_node **p = &hist.rb_node;
        struct rb_node *parent = NULL;
@@ -848,7 +848,7 @@ process_overflow_event(event_t *event, unsigned long offset, unsigned long head)
        int show = 0;
        struct dso *dso = NULL;
        struct thread *thread = threads__findnew(event->ip.pid);
-       uint64_t ip = event->ip.ip;
+       __u64 ip = event->ip.ip;
        struct map *map = NULL;
 
        dprintf("%p [%p]: PERF_EVENT (IP, %d): %d: %p\n",
@@ -1031,7 +1031,7 @@ process_event(event_t *event, unsigned long offset, unsigned long head)
 }
 
 static int
-parse_line(FILE *file, struct symbol *sym, uint64_t start, uint64_t len)
+parse_line(FILE *file, struct symbol *sym, __u64 start, __u64 len)
 {
        char *line = NULL, *tmp, *tmp2;
        unsigned int offset;
@@ -1112,7 +1112,7 @@ parse_line(FILE *file, struct symbol *sym, uint64_t start, uint64_t len)
 static void annotate_sym(struct dso *dso, struct symbol *sym)
 {
        char *filename = dso->name;
-       uint64_t start, end, len;
+       __u64 start, end, len;
        char command[PATH_MAX*2];
        FILE *file;
 
index 919f23ca41996ca0110101b45b483d4cc90d4f6e..84cd336ae79bc28e9b38f79ae6c8db016dfaa962 100644 (file)
@@ -223,7 +223,7 @@ static void pid_synthesize_comm_event(pid_t pid, int full)
 
        comm_ev.pid = pid;
        comm_ev.header.type = PERF_EVENT_COMM;
-       size = ALIGN(size, sizeof(uint64_t));
+       size = ALIGN(size, sizeof(__u64));
        comm_ev.header.size = sizeof(comm_ev) - (sizeof(comm_ev.comm) - size);
 
        if (!full) {
@@ -304,7 +304,7 @@ static void pid_synthesize_mmap_samples(pid_t pid)
                        size = strlen(execname);
                        execname[size - 1] = '\0'; /* Remove \n */
                        memcpy(mmap_ev.filename, execname, size);
-                       size = ALIGN(size, sizeof(uint64_t));
+                       size = ALIGN(size, sizeof(__u64));
                        mmap_ev.len -= mmap_ev.start;
                        mmap_ev.header.size = (sizeof(mmap_ev) -
                                               (sizeof(mmap_ev.filename) - size));
index f57fd5c5531ad8f9d83268b0329c421e1bbe5da6..82fa93b4db9996d3af08d72b71934053107d70ef 100644 (file)
@@ -146,7 +146,7 @@ static void dsos__fprintf(FILE *fp)
                dso__fprintf(pos, fp);
 }
 
-static struct symbol *vdso__find_symbol(struct dso *dso, uint64_t ip)
+static struct symbol *vdso__find_symbol(struct dso *dso, __u64 ip)
 {
        return dso__find_symbol(kernel_dso, ip);
 }
@@ -193,19 +193,19 @@ static int strcommon(const char *pathname)
 
 struct map {
        struct list_head node;
-       uint64_t         start;
-       uint64_t         end;
-       uint64_t         pgoff;
-       uint64_t         (*map_ip)(struct map *, uint64_t);
+       __u64    start;
+       __u64    end;
+       __u64    pgoff;
+       __u64    (*map_ip)(struct map *, __u64);
        struct dso       *dso;
 };
 
-static uint64_t map__map_ip(struct map *map, uint64_t ip)
+static __u64 map__map_ip(struct map *map, __u64 ip)
 {
        return ip - map->start + map->pgoff;
 }
 
-static uint64_t vdso__map_ip(struct map *map, uint64_t ip)
+static __u64 vdso__map_ip(struct map *map, __u64 ip)
 {
        return ip;
 }
@@ -288,7 +288,7 @@ static int map__overlap(struct map *l, struct map *r)
 
 static size_t map__fprintf(struct map *self, FILE *fp)
 {
-       return fprintf(fp, " %"PRIx64"-%"PRIx64" %"PRIx64" %s\n",
+       return fprintf(fp, " %Lx-%Lx %Lx %s\n",
                       self->start, self->end, self->pgoff, self->dso->name);
 }
 
@@ -412,7 +412,7 @@ static int thread__fork(struct thread *self, struct thread *parent)
        return 0;
 }
 
-static struct map *thread__find_map(struct thread *self, uint64_t ip)
+static struct map *thread__find_map(struct thread *self, __u64 ip)
 {
        struct map *pos;
 
@@ -453,10 +453,10 @@ struct hist_entry {
        struct map       *map;
        struct dso       *dso;
        struct symbol    *sym;
-       uint64_t         ip;
+       __u64            ip;
        char             level;
 
-       uint64_t         count;
+       __u64            count;
 };
 
 /*
@@ -572,7 +572,7 @@ static struct sort_entry sort_dso = {
 static int64_t
 sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
 {
-       uint64_t ip_l, ip_r;
+       __u64 ip_l, ip_r;
 
        if (left->sym == right->sym)
                return 0;
@@ -684,7 +684,7 @@ hist_entry__collapse(struct hist_entry *left, struct hist_entry *right)
 }
 
 static size_t
-hist_entry__fprintf(FILE *fp, struct hist_entry *self, uint64_t total_samples)
+hist_entry__fprintf(FILE *fp, struct hist_entry *self, __u64 total_samples)
 {
        struct sort_entry *se;
        size_t ret;
@@ -708,7 +708,7 @@ hist_entry__fprintf(FILE *fp, struct hist_entry *self, uint64_t total_samples)
                ret = color_fprintf(fp, color, "   %6.2f%%",
                                (self->count * 100.0) / total_samples);
        } else
-               ret = fprintf(fp, "%12d ", self->count);
+               ret = fprintf(fp, "%12Ld ", self->count);
 
        list_for_each_entry(se, &hist_entry__sort_list, list) {
                fprintf(fp, "  ");
@@ -726,7 +726,7 @@ hist_entry__fprintf(FILE *fp, struct hist_entry *self, uint64_t total_samples)
 
 static int
 hist_entry__add(struct thread *thread, struct map *map, struct dso *dso,
-               struct symbol *sym, uint64_t ip, char level, uint64_t count)
+               struct symbol *sym, __u64 ip, char level, __u64 count)
 {
        struct rb_node **p = &hist.rb_node;
        struct rb_node *parent = NULL;
@@ -873,7 +873,7 @@ static void output__resort(void)
        }
 }
 
-static size_t output__fprintf(FILE *fp, uint64_t total_samples)
+static size_t output__fprintf(FILE *fp, __u64 total_samples)
 {
        struct hist_entry *pos;
        struct sort_entry *se;
@@ -941,8 +941,8 @@ process_overflow_event(event_t *event, unsigned long offset, unsigned long head)
        int show = 0;
        struct dso *dso = NULL;
        struct thread *thread = threads__findnew(event->ip.pid);
-       uint64_t ip = event->ip.ip;
-       uint64_t period = 1;
+       __u64 ip = event->ip.ip;
+       __u64 period = 1;
        struct map *map = NULL;
 
        if (event->header.type & PERF_SAMPLE_PERIOD)
index 8ba24808a3921dd19a0dd144a034cb691787b5f2..309dbc76ec88c6bde9f71413ff1049c36b398888 100644 (file)
@@ -79,8 +79,8 @@ static int                    dump_symtab;
  * Symbols
  */
 
-static uint64_t                        min_ip;
-static uint64_t                        max_ip = -1ll;
+static __u64                   min_ip;
+static __u64                   max_ip = -1ll;
 
 struct sym_entry {
        struct rb_node          rb_node;
@@ -372,7 +372,7 @@ out_delete_dso:
 /*
  * Binary search in the histogram table and record the hit:
  */
-static void record_ip(uint64_t ip, int counter)
+static void record_ip(__u64 ip, int counter)
 {
        struct symbol *sym = dso__find_symbol(kernel_dso, ip);
 
@@ -392,7 +392,7 @@ static void record_ip(uint64_t ip, int counter)
        samples--;
 }
 
-static void process_event(uint64_t ip, int counter)
+static void process_event(__u64 ip, int counter)
 {
        samples++;
 
index 32dd47d60d9ca78e1953b9a3c4c51c066f96f28b..49a55f81371218b4250845c5a073dbb2e27100d9 100644 (file)
@@ -9,9 +9,9 @@
 
 const char *sym_hist_filter;
 
-static struct symbol *symbol__new(uint64_t start, uint64_t len,
+static struct symbol *symbol__new(__u64 start, __u64 len,
                                  const char *name, unsigned int priv_size,
-                                 uint64_t obj_start, int verbose)
+                                 __u64 obj_start, int verbose)
 {
        size_t namelen = strlen(name) + 1;
        struct symbol *self = calloc(1, priv_size + sizeof(*self) + namelen);
@@ -89,7 +89,7 @@ static void dso__insert_symbol(struct dso *self, struct symbol *sym)
 {
        struct rb_node **p = &self->syms.rb_node;
        struct rb_node *parent = NULL;
-       const uint64_t ip = sym->start;
+       const __u64 ip = sym->start;
        struct symbol *s;
 
        while (*p != NULL) {
@@ -104,7 +104,7 @@ static void dso__insert_symbol(struct dso *self, struct symbol *sym)
        rb_insert_color(&sym->rb_node, &self->syms);
 }
 
-struct symbol *dso__find_symbol(struct dso *self, uint64_t ip)
+struct symbol *dso__find_symbol(struct dso *self, __u64 ip)
 {
        struct rb_node *n;
 
@@ -523,7 +523,7 @@ static int dso__load_sym(struct dso *self, int fd, const char *name,
 
        elf_symtab__for_each_symbol(syms, nr_syms, index, sym) {
                struct symbol *f;
-               uint64_t obj_start;
+               __u64 obj_start;
 
                if (!elf_sym__is_function(&sym))
                        continue;
index 4839d68f14f08a79fe39ff5ace0986b2fbb8ce46..0d1292bd82706ec4f567caf492b6a3e23da98e7f 100644 (file)
@@ -19,7 +19,7 @@ struct dso {
        struct list_head node;
        struct rb_root   syms;
        unsigned int     sym_priv_size;
-       struct symbol    *(*find_symbol)(struct dso *, uint64_t ip);
+       struct symbol    *(*find_symbol)(struct dso *, __u64 ip);
        char             name[0];
 };
 
@@ -35,7 +35,7 @@ static inline void *dso__sym_priv(struct dso *self, struct symbol *sym)
        return ((void *)sym) - self->sym_priv_size;
 }
 
-struct symbol *dso__find_symbol(struct dso *self, uint64_t ip);
+struct symbol *dso__find_symbol(struct dso *self, __u64 ip);
 
 int dso__load_kernel(struct dso *self, const char *vmlinux,
                     symbol_filter_t filter, int verbose);