diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-10-05 20:16:50 -0400 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-10-05 20:16:50 -0400 |
| commit | 7ed0f0bcab2a0bb6bfac3f19fc6495cd4bc4f9ff (patch) | |
| tree | f2e20fc216e4ad2bf05e2a6a319accb6505cc9df /include/linux/sched_trace.h | |
| parent | 8f0dcc30ad5bfa6827150e01ac2a4a0cc07d08d0 (diff) | |
Add service level changes to sched_trace.
Record when tasks get a new service level.
Diffstat (limited to 'include/linux/sched_trace.h')
| -rw-r--r-- | include/linux/sched_trace.h | 13 |
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 | ||
| 20 | typedef struct { | 21 | typedef 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 | ||
| 91 | typedef 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 |
| 91 | void sched_trace_scheduler_invocation(void); | 98 | void sched_trace_scheduler_invocation(void); |
| 92 | 99 | ||
| @@ -118,6 +125,9 @@ void sched_trace_server_completion(int id, unsigned int budget, | |||
| 118 | void sched_trace_server_scheduled(int id, task_class_t class, | 125 | void 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 | ||
| 128 | void 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 | ||
