00001
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "rres_config.h"
00025 #define QOS_DEBUG_LEVEL RRES_MOD_DEBUG_LEVEL
00026 #include "rres_dispatch.h"
00027
00028 #include <linux/sched.h>
00029 #include <linux/aquosa/qos_debug.h>
00030 #include <linux/aquosa/qos_func.h>
00031
00033 qos_func_define(int, task_ready, kal_task_t * task) {
00034 return (task->state == TASK_RUNNING);
00035 }
00036
00037 qos_func_define(void, rres_init_sched_param, kal_task_t *task) {
00038 set_task_rr_prio(task, RRES_DISPATCH_PRIORITY);
00039 }
00040
00041 qos_func_define(void, rres_task_sched_default, kal_task_t *task) {
00042 set_task_rr_prio(task, -1);
00043 }
00044
00045 #define SCHED_OTHER SCHED_NORMAL
00046
00047 extern void activate_task_local(kal_task_t *task);
00048 extern void deactivate_task_local(kal_task_t *task);
00049
00051 qos_func_define(void, stop_task, kal_task_t *t) {
00052
00053
00054
00055
00056 qos_log_debug("Deactivating task %d", t->pid);
00057 deactivate_task_local(t);
00058
00059
00060
00061
00062 }
00063
00065 qos_func_define(void, dispatch_task, kal_task_t *t) {
00066
00067
00068
00069
00070 qos_log_debug("Activating task %d", t->pid);
00071 activate_task_local(t);
00072
00073
00074
00075
00076 }
00077