[1/3] BFS 420: correct getting rr interval

From: Hillf Danton
Date: Mon May 14 2012 - 09:19:02 EST


Tasks, no matter schedule policy and priority, should have the same interval,
which could be tuned with the /proc interface. Here simply feed back the knob.

--- a/kernel/sched/bfs.c Mon May 14 20:34:42 2012
+++ b/kernel/sched/bfs.c Mon May 14 20:42:20 2012
@@ -729,25 +729,6 @@ static inline void requeue_task(struct t
sched_info_queued(p);
}

-/*
- * Returns the relative length of deadline all compared to the shortest
- * deadline which is that of nice -20.
- */
-static inline int task_prio_ratio(struct task_struct *p)
-{
- return prio_ratios[TASK_USER_PRIO(p)];
-}
-
-/*
- * task_timeslice - all tasks of all priorities get the exact same timeslice
- * length. CPU distribution is handled by giving different deadlines to
- * tasks of different priorities. Use 128 as the base value for fast shifts.
- */
-static inline int task_timeslice(struct task_struct *p)
-{
- return (rr_interval * task_prio_ratio(p) / 128);
-}
-
#ifdef CONFIG_SMP
/*
* qnr is the "queued but not running" count which is the total number of
@@ -4824,7 +4805,7 @@ SYSCALL_DEFINE2(sched_rr_get_interval, p
goto out_unlock;

grq_lock_irqsave(&flags);
- time_slice = p->policy == SCHED_FIFO ? 0 : MS_TO_NS(task_timeslice(p));
+ time_slice = p->policy == SCHED_FIFO ? 0 : MS_TO_NS(rr_interval);
grq_unlock_irqrestore(&flags);

rcu_read_unlock();
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/