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);
}
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;
}
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);
}
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;
struct map *map;
struct dso *dso;
struct symbol *sym;
- uint64_t ip;
+ __u64 ip;
char level;
uint32_t count;
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;
/*
* 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;
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;
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",
}
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;
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;
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) {
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));
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);
}
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;
}
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);
}
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;
struct map *map;
struct dso *dso;
struct symbol *sym;
- uint64_t ip;
+ __u64 ip;
char level;
- uint64_t count;
+ __u64 count;
};
/*
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;
}
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;
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, " ");
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;
}
}
-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;
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)
* 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;
/*
* 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);
samples--;
}
-static void process_event(uint64_t ip, int counter)
+static void process_event(__u64 ip, int counter)
{
samples++;
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);
{
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) {
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;
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;
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];
};
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);