aboutsummaryrefslogtreecommitdiffstats
path: root/rt-graph.h
diff options
context:
space:
mode:
authorJonathan <hermanjl@hermanjl-Aspire-5553G.(none)>2012-03-05 14:22:27 -0500
committerJonathan <hermanjl@hermanjl-Aspire-5553G.(none)>2012-03-05 14:22:27 -0500
commit8bcd73ddae5d74fb9b2b8aaedd3aa6a39ef3f75d (patch)
tree9688d2b57716c73b182722acab62101203a9105a /rt-graph.h
parentf69435260fd14ef8d9ba13774da0fcba4b5d212c (diff)
rt-graph: Litmus events and tasks loaded on startup
Diffstat (limited to 'rt-graph.h')
-rw-r--r--rt-graph.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/rt-graph.h b/rt-graph.h
index 0ea921a..3037301 100644
--- a/rt-graph.h
+++ b/rt-graph.h
@@ -3,9 +3,13 @@
3 3
4#include <gtk/gtk.h> 4#include <gtk/gtk.h>
5#include "trace-cmd.h" 5#include "trace-cmd.h"
6#include "task-list.h"
6 7
7struct rt_graph_info { 8struct rt_graph_info {
8 9
10 /* List of all tasks */
11 struct task_list *tasks[TASK_HASH_SIZE];
12
9 /* Cache of event fields so that they don't need to be located 13 /* Cache of event fields so that they don't need to be located
10 * during each access. 14 * during each access.
11 */ 15 */
@@ -13,33 +17,54 @@ struct rt_graph_info {
13 struct format_field *param_pid_field; 17 struct format_field *param_pid_field;
14 struct format_field *param_wcet_field; 18 struct format_field *param_wcet_field;
15 struct format_field *param_period_field; 19 struct format_field *param_period_field;
20
16 gint task_release_id; 21 gint task_release_id;
17 struct format_field *release_pid_field; 22 struct format_field *release_pid_field;
18 struct format_field *release_job_field; 23 struct format_field *release_job_field;
24 struct format_field *release_release_field;
19 struct format_field *release_deadline_field; 25 struct format_field *release_deadline_field;
26
20 gint task_completion_id; 27 gint task_completion_id;
21 struct format_field *completion_pid_field; 28 struct format_field *completion_pid_field;
22 struct format_field *completion_job_field; 29 struct format_field *completion_job_field;
30 struct format_field *completion_when_field;
31
23 gint task_block_id; 32 gint task_block_id;
24 struct format_field *block_pid_field; 33 struct format_field *block_pid_field;
34 struct format_field *block_when_field;
35
25 gint task_resume_id; 36 gint task_resume_id;
26 struct format_field *resume_pid_field; 37 struct format_field *resume_pid_field;
38 struct format_field *resume_when_field;
27 39
28}; 40};
29 41
42/* Event parsers */
30int rt_graph_check_task_param(struct rt_graph_info *rtinfo, struct pevent *pevent, 43int rt_graph_check_task_param(struct rt_graph_info *rtinfo, struct pevent *pevent,
31 struct record *record, gint *pid, 44 struct record *record, gint *pid,
32 unsigned long long *wcet, 45 unsigned long long *wcet,
33 unsigned long long *period); 46 unsigned long long *period);
34int rt_graph_check_task_release(struct rt_graph_info *rtinfo, struct pevent *pevent, 47int rt_graph_check_task_release(struct rt_graph_info *rtinfo, struct pevent *pevent,
35 struct record *record, gint *pid, gint *job, 48 struct record *record, gint *pid, gint *job,
49 unsigned long long *release,
36 unsigned long long *deadline); 50 unsigned long long *deadline);
37int rt_graph_check_task_completion(struct rt_graph_info *rtinfo, struct pevent *pevent, 51int rt_graph_check_task_completion(struct rt_graph_info *rtinfo, struct pevent *pevent,
38 struct record *record, gint *pid, gint *job); 52 struct record *record, gint *pid, gint *job,
53 unsigned long long *when);
39int rt_graph_check_task_block(struct rt_graph_info *rtinfo, struct pevent *pevent, 54int rt_graph_check_task_block(struct rt_graph_info *rtinfo, struct pevent *pevent,
40 struct record *record, gint *pid); 55 struct record *record, gint *pid,
56 unsigned long long *when);
41int rt_graph_check_task_resume(struct rt_graph_info *rtinfo, struct pevent *pevent, 57int rt_graph_check_task_resume(struct rt_graph_info *rtinfo, struct pevent *pevent,
42 struct record *record, gint *pid); 58 struct record *record, gint *pid,
59 unsigned long long *when);
43void init_rt_event_cache(struct rt_graph_info *rtinfo); 60void init_rt_event_cache(struct rt_graph_info *rtinfo);
44 61
62/* Metadata */
63void rt_plot_task_plotted(struct rt_graph_info *rt_info, gint **plotted);
64
65/* Callbacks for managing task list */
66void rt_plot_task_update_callback(gboolean accept, gint *selected,
67 gint *non_select, gpointer data);
68void rt_plot_task_plotted(struct rt_graph_info *rtinfo, gint **plotted);
69
45#endif 70#endif