perf list: Add cache events
[deliverable/linux.git] / tools / perf / util / callchain.h
CommitLineData
8cb76d99
FW
1#ifndef __PERF_CALLCHAIN_H
2#define __PERF_CALLCHAIN_H
3
4#include "../perf.h"
5#include "list.h"
6#include "rbtree.h"
4424961a 7#include "symbol.h"
8cb76d99
FW
8
9
10struct callchain_node {
11 struct callchain_node *parent;
12 struct list_head brothers;
f37a291c
IM
13 struct list_head children;
14 struct list_head val;
8cb76d99 15 struct rb_node rb_node;
f37a291c
IM
16 unsigned int val_nr;
17 u64 hit;
8cb76d99
FW
18};
19
20struct callchain_list {
f37a291c 21 u64 ip;
4424961a 22 struct symbol *sym;
8cb76d99
FW
23 struct list_head list;
24};
25
26static inline void callchain_init(struct callchain_node *node)
27{
28 INIT_LIST_HEAD(&node->brothers);
29 INIT_LIST_HEAD(&node->children);
30 INIT_LIST_HEAD(&node->val);
31}
32
4424961a
FW
33void append_chain(struct callchain_node *root, struct ip_callchain *chain,
34 struct symbol **syms);
8cb76d99
FW
35void sort_chain_to_rbtree(struct rb_root *rb_root, struct callchain_node *node);
36#endif
This page took 0.026584 seconds and 5 git commands to generate.