aboutsummaryrefslogtreecommitdiffstats
path: root/rt-plot-vcpu.h
blob: f88e6abb62a97b33c19a576f37c1972318d9ef8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "trace-graph.h"

struct vcpu_list;

struct vcpu_info {
	struct rt_plot_common	common;

	int			sid;

	int			run_tid;
	int			run_cpu;
	unsigned long long	run_time;

	int			last_job;

	int			block_cpu;
	unsigned long long	block_time;

	gboolean		fresh;
	gboolean		running;

	char			*label;

	struct cont_list	*cont;
};

void insert_vcpu(struct graph_info *ginfo, struct cont_list *cont,
		 struct vcpu_list *vcpu_info);


/* drawing methods */
int vcpu_try_release(struct graph_info *ginfo, struct vcpu_info *vcpu_info,
		     struct record *record, struct plot_info *info);
int vcpu_try_completion(struct graph_info *ginfo,
			struct vcpu_info *vcpu_info,
			struct record *record, struct plot_info *info);
int vcpu_try_block(struct graph_info *ginfo, struct vcpu_info *vcpu_info,
		   struct record *record, struct plot_info *info);
int vcpu_try_resume(struct graph_info *ginfo, struct vcpu_info *vcpu_info,
		    struct record *record, struct plot_info *info);

/* trace-plot methods */
void rt_vcpu_plot_start(struct graph_info *ginfo, struct graph_plot *plot,
			unsigned long long time);
void rt_vcpu_plot_destroy(struct graph_info *ginfo, struct graph_plot *plot);

/* rt-plot-common methods */
int rt_vcpu_plot_record_matches(struct rt_plot_common *rt,
				struct graph_info *ginfo,
				struct record *record);
int rt_vcpu_plot_is_drawn(struct graph_info *ginfo, int eid);
struct record*
rt_vcpu_plot_write_header(struct rt_plot_common *rt,
			  struct graph_info *ginfo,
			  struct trace_seq *s,
			  unsigned long long time);