Merge branch 'perf/urgent' into perf/core
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / sort.h
index 753f9ea99fb0a72ebdec32aedbe5dc55df8dedc1..5bf2b744e7b26d923c0568f319f33def3fe75f48 100644 (file)
@@ -45,17 +45,16 @@ struct hist_entry {
        struct rb_node          rb_node;
        u64                     count;
        struct thread           *thread;
-       struct map              *map;
-       struct symbol           *sym;
+       struct map_symbol       ms;
        u64                     ip;
        char                    level;
        struct symbol     *parent;
-       struct callchain_node   callchain;
        union {
                unsigned long     position;
                struct hist_entry *pair;
                struct rb_root    sorted_chain;
        };
+       struct callchain_node   callchain[0];
 };
 
 enum sort_type {
@@ -77,7 +76,8 @@ struct sort_entry {
 
        int64_t (*cmp)(struct hist_entry *, struct hist_entry *);
        int64_t (*collapse)(struct hist_entry *, struct hist_entry *);
-       size_t  (*print)(FILE *fp, struct hist_entry *, unsigned int width);
+       int     (*snprintf)(struct hist_entry *self, char *bf, size_t size,
+                           unsigned int width);
        unsigned int *width;
        bool    elide;
 };
@@ -87,7 +87,6 @@ extern struct list_head hist_entry__sort_list;
 
 void setup_sorting(const char * const usagestr[], const struct option *opts);
 
-extern int repsep_fprintf(FILE *fp, const char *fmt, ...);
 extern size_t sort__thread_print(FILE *, struct hist_entry *, unsigned int);
 extern size_t sort__comm_print(FILE *, struct hist_entry *, unsigned int);
 extern size_t sort__dso_print(FILE *, struct hist_entry *, unsigned int);