From b2ecb9f8d20baa3edfb305d263a7f0902ac019f3 Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Sat, 30 Mar 2013 11:21:59 -0400 Subject: Removed ARM-specific hacks which disabled less common mixed-criticality features. --- include/litmus/event_group.h | 1 + include/litmus/preempt.h | 2 +- include/litmus/rt_param.h | 11 +++------- include/litmus/sched_mc.h | 1 + include/litmus/sched_trace.h | 51 +++---------------------------------------- include/trace/events/litmus.h | 22 ------------------- 6 files changed, 9 insertions(+), 79 deletions(-) (limited to 'include') diff --git a/include/litmus/event_group.h b/include/litmus/event_group.h index b2a6a3ff5627..7b15a7e0412d 100644 --- a/include/litmus/event_group.h +++ b/include/litmus/event_group.h @@ -25,6 +25,7 @@ struct event_list { /* For timer firing */ lt_t fire_time; struct hrtimer timer; + struct hrtimer_start_on_info info; struct list_head queue_node; /* For event_queue */ struct event_group* group; /* For callback */ diff --git a/include/litmus/preempt.h b/include/litmus/preempt.h index cbf315aa01e9..beb4d480f21b 100644 --- a/include/litmus/preempt.h +++ b/include/litmus/preempt.h @@ -13,7 +13,7 @@ extern DEFINE_PER_CPU_SHARED_ALIGNED(atomic_t, resched_state); #ifdef CONFIG_PREEMPT_STATE_TRACE const char* sched_state_name(int s); -#define TRACE_STATE(fmt, args...) TRACE("SCHED_STATE " fmt, args) +#define TRACE_STATE(fmt, args...) STRACE("SCHED_STATE " fmt, args) #else #define TRACE_STATE(fmt, args...) /* ignore */ #endif diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index a8fe95b32c06..52a0116f7282 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h @@ -268,19 +268,14 @@ struct rt_param { /* Pointer to the page shared between userspace and kernel. */ struct control_page * ctrl_page; - lt_t total_tardy; - lt_t max_tardy; - unsigned int missed; - +#ifdef CONFIG_SCHED_TASK_TRACE lt_t load; lt_t flush; - int load_work; - int flush_work; +#endif - lt_t max_exec_time; - lt_t tot_exec_time; lt_t last_exec_time; lt_t orig_cost; + struct color_ctrl_page color_ctrl_page; struct dgl_group_req *req; enum server_state state; diff --git a/include/litmus/sched_mc.h b/include/litmus/sched_mc.h index 70f57cfd2706..567603c5ffff 100644 --- a/include/litmus/sched_mc.h +++ b/include/litmus/sched_mc.h @@ -55,6 +55,7 @@ struct ce_dom_data { struct rt_event event; #else struct hrtimer timer; + struct hrtimer_start_on_info timer_info; #endif }; diff --git a/include/litmus/sched_trace.h b/include/litmus/sched_trace.h index 0580340d0170..40187826ef19 100644 --- a/include/litmus/sched_trace.h +++ b/include/litmus/sched_trace.h @@ -51,18 +51,9 @@ struct st_switch_away_data { /* A process was switched away from on a given CPU. u64 exec_time; }; -/* changed: like everything */ struct st_completion_data { /* A job completed. */ - u32 exec; - u16 flush_work; - u16 load_work; - u32 flush; - u32 load; - /* u8 forced:1; /\* Set to 1 if job overran and kernel advanced to the */ - /* * next task automatically; set to 0 otherwise. */ - /* *\/ */ - /* u8 __uflags:7; */ - /* u8 __unused[7]; */ + u64 when; + u64 load; }; struct st_block_data { /* A task blocks. */ @@ -86,19 +77,6 @@ struct st_sys_release_data { u64 release; }; -/* changed: easy enough to remove */ -struct st_task_exit_data { - u64 avg_exec_time; - u64 max_exec_time; -}; - -/* changed: calculate yoself */ -struct st_task_tardy_data { - u64 total_tardy; - u32 max_tardy; - u32 missed; -}; - #define DATA(x) struct st_ ## x ## _data x; typedef enum { @@ -113,9 +91,7 @@ typedef enum { ST_BLOCK, ST_RESUME, ST_ACTION, - ST_SYS_RELEASE, - ST_TASK_EXIT, - ST_TASK_TARDY, + ST_SYS_RELEASE } st_event_record_type_t; struct st_event_record { @@ -134,8 +110,6 @@ struct st_event_record { DATA(resume); DATA(action); DATA(sys_release); - DATA(task_exit); - DATA(task_tardy); } data; }; @@ -177,11 +151,6 @@ feather_callback void do_sched_trace_action(unsigned long id, unsigned long action); feather_callback void do_sched_trace_sys_release(unsigned long id, lt_t* start); -feather_callback void do_sched_trace_task_exit(unsigned long id, - struct task_struct* task); -feather_callback void do_sched_trace_task_tardy(unsigned long id, - struct task_struct* task); - #endif #else @@ -306,20 +275,6 @@ feather_callback void do_sched_trace_task_tardy(unsigned long id, trace_litmus_sys_release(when); \ } while (0) -#define sched_trace_task_exit(t) \ - do { \ - SCHED_TRACE(SCHED_TRACE_BASE_ID + 11, \ - do_sched_trace_task_exit, t); \ - trace_litmus_task_exit(t); \ - } while (0) - - -#define sched_trace_task_tardy(t) \ - do { \ - SCHED_TRACE(SCHED_TRACE_BASE_ID + 12, \ - do_sched_trace_task_tardy, t); \ - } while (0) - #define QT_START lt_t _qt_start = litmus_clock() #define QT_END \ sched_trace_log_message("%d P%d [%s@%s:%d]: Took %llu\n\n", \ diff --git a/include/trace/events/litmus.h b/include/trace/events/litmus.h index 95aae9460cbc..c2dbdc34eb42 100644 --- a/include/trace/events/litmus.h +++ b/include/trace/events/litmus.h @@ -277,28 +277,6 @@ TRACE_EVENT(litmus_sys_release, TP_printk("SynRelease(%Lu)\n", __entry->rel) ); -/* - * Trace task exit - */ -TRACE_EVENT(litmus_task_exit, - - TP_PROTO(struct task_struct *t), - - TP_ARGS(t), - - TP_STRUCT__entry( - __field( pid_t, pid ) - __field( unsigned long long, max_exec_time ) - ), - - TP_fast_assign( - __entry->pid = t ? t->pid : 0; - __entry->max_exec_time = t ? t->rt_param.max_exec_time : 0; - ), - - TP_printk("(%u) exit\n", __entry->pid) -); - /* * Containers */ -- cgit v1.2.2