aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2007-10-05 20:16:50 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2007-10-05 20:16:50 -0400
commit7ed0f0bcab2a0bb6bfac3f19fc6495cd4bc4f9ff (patch)
treef2e20fc216e4ad2bf05e2a6a319accb6505cc9df /include/linux
parent8f0dcc30ad5bfa6827150e01ac2a4a0cc07d08d0 (diff)
Add service level changes to sched_trace.
Record when tasks get a new service level.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/sched_trace.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/sched_trace.h b/include/linux/sched_trace.h
index 47cd4ed5e0..da1e59e5bb 100644
--- a/include/linux/sched_trace.h
+++ b/include/linux/sched_trace.h
@@ -15,6 +15,7 @@ typedef enum {
15 ST_JOB_COMPLETION = 6, 15 ST_JOB_COMPLETION = 6,
16 ST_CAPACITY_RELEASE = 7, 16 ST_CAPACITY_RELEASE = 7,
17 ST_CAPACITY_ALLOCATION = 8, 17 ST_CAPACITY_ALLOCATION = 8,
18 ST_SERVICE_LEVEL_CHANGE = 9
18} trace_type_t; 19} trace_type_t;
19 20
20typedef struct { 21typedef struct {
@@ -87,6 +88,12 @@ typedef struct {
87 pid_t donor; 88 pid_t donor;
88} cap_allocation_record_t; 89} cap_allocation_record_t;
89 90
91typedef struct {
92 trace_header_t header;
93 task_info_t task;
94 service_level_t new_level;
95} service_level_change_record_t;
96
90#ifdef CONFIG_SCHED_TASK_TRACE 97#ifdef CONFIG_SCHED_TASK_TRACE
91void sched_trace_scheduler_invocation(void); 98void sched_trace_scheduler_invocation(void);
92 99
@@ -118,6 +125,9 @@ void sched_trace_server_completion(int id, unsigned int budget,
118void sched_trace_server_scheduled(int id, task_class_t class, 125void sched_trace_server_scheduled(int id, task_class_t class,
119 unsigned int budget, jiffie_t deadline); 126 unsigned int budget, jiffie_t deadline);
120 127
128void sched_trace_service_level_change(struct task_struct* t);
129
130
121#else 131#else
122#define sched_trace_scheduler_invocation(x) 132#define sched_trace_scheduler_invocation(x)
123 133
@@ -134,6 +144,9 @@ void sched_trace_server_scheduled(int id, task_class_t class,
134#define sched_trace_server_release(id, wcet, period, class) 144#define sched_trace_server_release(id, wcet, period, class)
135#define sched_trace_server_completion(id, budget, deadline, class) 145#define sched_trace_server_completion(id, budget, deadline, class)
136#define sched_trace_server_scheduled(id, class, budget, deadline) 146#define sched_trace_server_scheduled(id, class, budget, deadline)
147
148#define sched_trace_service_level_change(t)
149
137#endif 150#endif
138 151
139 152