Merge branch 'perf/urgent' into perf/core
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / sort.h
index 598568696f97239a0c96b4c694f4202959db86ef..5bf2b744e7b26d923c0568f319f33def3fe75f48 100644 (file)
@@ -49,12 +49,12 @@ struct hist_entry {
        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 {
@@ -76,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;
 };
@@ -86,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);