perf report: Print the map table just after samples for which no map was found
[safe/jmp/linux-2.6] / tools / perf / util / thread.h
index c06c135..dcf7030 100644 (file)
@@ -10,11 +10,15 @@ struct map_groups {
        struct list_head        removed_maps[MAP__NR_TYPES];
 };
 
+size_t __map_groups__fprintf_maps(struct map_groups *self,
+                                 enum map_type type, FILE *fp);
+
 struct thread {
        struct rb_node          rb_node;
        struct map_groups       mg;
        pid_t                   pid;
        char                    shortname[3];
+       bool                    comm_set;
        char                    *comm;
        int                     comm_len;
 };
@@ -48,21 +52,25 @@ static inline struct map *thread__find_map(struct thread *self,
        return self ? map_groups__find(&self->mg, type, addr) : NULL;
 }
 
+void thread__find_addr_map(struct thread *self,
+                          struct perf_session *session, u8 cpumode,
+                          enum map_type type, u64 addr,
+                          struct addr_location *al);
+
 void thread__find_addr_location(struct thread *self,
                                struct perf_session *session, u8 cpumode,
                                enum map_type type, u64 addr,
                                struct addr_location *al,
                                symbol_filter_t filter);
 struct symbol *map_groups__find_symbol(struct map_groups *self,
-                                      struct perf_session *session,
                                       enum map_type type, u64 addr,
                                       symbol_filter_t filter);
 
-static inline struct symbol *
-map_groups__find_function(struct map_groups *self, struct perf_session *session,
-                         u64 addr, symbol_filter_t filter)
+static inline struct symbol *map_groups__find_function(struct map_groups *self,
+                                                      u64 addr,
+                                                      symbol_filter_t filter)
 {
-       return map_groups__find_symbol(self, session, MAP__FUNCTION, addr, filter);
+       return map_groups__find_symbol(self, MAP__FUNCTION, addr, filter);
 }
 
 struct map *map_groups__find_by_name(struct map_groups *self,
@@ -71,4 +79,9 @@ struct map *map_groups__find_by_name(struct map_groups *self,
 int __map_groups__create_kernel_maps(struct map_groups *self,
                                     struct map *vmlinux_maps[MAP__NR_TYPES],
                                     struct dso *kernel);
+int map_groups__create_kernel_maps(struct map_groups *self,
+                                  struct map *vmlinux_maps[MAP__NR_TYPES]);
+
+struct map *map_groups__new_module(struct map_groups *self, u64 start,
+                                  const char *filename);
 #endif /* __PERF_THREAD_H */