sched: Make initial SCHED_RR timeslace DEF_TIMESLICE
Current the initial SCHED_RR timeslice of init_task is HZ, which means 1s, and is not same as the default SCHED_RR timeslice DEF_TIMESLICE. Change that initial timeslice to the DEF_TIMESLICE. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> [ s/DEF_TIMESLICE/RR_TIMESLICE/g ] Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/4F3C9995.3010800@ct.jp.nec.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
62f6536a63
commit
de5bdff7a7
@ -149,7 +149,7 @@ extern struct cred init_cred;
|
||||
}, \
|
||||
.rt = { \
|
||||
.run_list = LIST_HEAD_INIT(tsk.rt.run_list), \
|
||||
.time_slice = HZ, \
|
||||
.time_slice = RR_TIMESLICE, \
|
||||
.nr_cpus_allowed = NR_CPUS, \
|
||||
}, \
|
||||
.tasks = LIST_HEAD_INIT(tsk.tasks), \
|
||||
|
@ -1234,6 +1234,12 @@ struct sched_rt_entity {
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
* default timeslice is 100 msecs (used only for SCHED_RR tasks).
|
||||
* Timeslices get refilled after they expire.
|
||||
*/
|
||||
#define RR_TIMESLICE (100 * HZ / 1000)
|
||||
|
||||
struct rcu_node;
|
||||
|
||||
enum perf_event_task_context {
|
||||
|
@ -1972,7 +1972,7 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p, int queued)
|
||||
if (--p->rt.time_slice)
|
||||
return;
|
||||
|
||||
p->rt.time_slice = DEF_TIMESLICE;
|
||||
p->rt.time_slice = RR_TIMESLICE;
|
||||
|
||||
/*
|
||||
* Requeue to the end of queue if we are not the only element
|
||||
@ -2000,7 +2000,7 @@ static unsigned int get_rr_interval_rt(struct rq *rq, struct task_struct *task)
|
||||
* Time slice is 0 for SCHED_FIFO tasks
|
||||
*/
|
||||
if (task->policy == SCHED_RR)
|
||||
return DEF_TIMESLICE;
|
||||
return RR_TIMESLICE;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -36,11 +36,7 @@ extern __read_mostly int scheduler_running;
|
||||
|
||||
/*
|
||||
* These are the 'tuning knobs' of the scheduler:
|
||||
*
|
||||
* default timeslice is 100 msecs (used only for SCHED_RR tasks).
|
||||
* Timeslices get refilled after they expire.
|
||||
*/
|
||||
#define DEF_TIMESLICE (100 * HZ / 1000)
|
||||
|
||||
/*
|
||||
* single value that denotes runtime == period, ie unlimited time.
|
||||
|
Loading…
Reference in New Issue
Block a user