From 7ed0f0bcab2a0bb6bfac3f19fc6495cd4bc4f9ff Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Fri, 5 Oct 2007 20:16:50 -0400 Subject: Add service level changes to sched_trace. Record when tasks get a new service level. --- include/linux/sched_trace.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include') 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 { ST_JOB_COMPLETION = 6, ST_CAPACITY_RELEASE = 7, ST_CAPACITY_ALLOCATION = 8, + ST_SERVICE_LEVEL_CHANGE = 9 } trace_type_t; typedef struct { @@ -87,6 +88,12 @@ typedef struct { pid_t donor; } cap_allocation_record_t; +typedef struct { + trace_header_t header; + task_info_t task; + service_level_t new_level; +} service_level_change_record_t; + #ifdef CONFIG_SCHED_TASK_TRACE void sched_trace_scheduler_invocation(void); @@ -118,6 +125,9 @@ void sched_trace_server_completion(int id, unsigned int budget, void sched_trace_server_scheduled(int id, task_class_t class, unsigned int budget, jiffie_t deadline); +void sched_trace_service_level_change(struct task_struct* t); + + #else #define sched_trace_scheduler_invocation(x) @@ -134,6 +144,9 @@ void sched_trace_server_scheduled(int id, task_class_t class, #define sched_trace_server_release(id, wcet, period, class) #define sched_trace_server_completion(id, budget, deadline, class) #define sched_trace_server_scheduled(id, class, budget, deadline) + +#define sched_trace_service_level_change(t) + #endif -- cgit v1.2.2