[WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code
[pandora-kernel.git] / kernel / sched_rt.c
index b86944c..d0097a0 100644 (file)
@@ -7,7 +7,7 @@
  * Update the current task's runtime statistics. Skip current tasks that
  * are not in our scheduling class.
  */
-static inline void update_curr_rt(struct rq *rq)
+static void update_curr_rt(struct rq *rq)
 {
        struct task_struct *curr = rq->curr;
        u64 delta_exec;
@@ -206,7 +206,7 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p)
        if (--p->time_slice)
                return;
 
-       p->time_slice = static_prio_timeslice(p->static_prio);
+       p->time_slice = DEF_TIMESLICE;
 
        /*
         * Requeue to the end of queue if we are not the only element
@@ -220,9 +220,13 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p)
 
 static void set_curr_task_rt(struct rq *rq)
 {
+       struct task_struct *p = rq->curr;
+
+       p->se.exec_start = rq->clock;
 }
 
-static struct sched_class rt_sched_class __read_mostly = {
+const struct sched_class rt_sched_class = {
+       .next                   = &fair_sched_class,
        .enqueue_task           = enqueue_task_rt,
        .dequeue_task           = dequeue_task_rt,
        .yield_task             = yield_task_rt,