[PATCH v2] sched: Make initial SCHED_RR timeslace RR_TIMESLICE

From: Hiroshi Shimamoto
Date: Tue Feb 21 2012 - 02:30:48 EST


(2012/02/20 22:30), Peter Zijlstra wrote:
> On Thu, 2012-02-16 at 14:52 +0900, Hiroshi Shimamoto wrote:
>> From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
>>
>> 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@xxxxxxxxxxxxx>
>
> No real objection, should we take the opportunity to rename to
> RR_TIMESLICE or somesuch?
>

sounds reasonable.

===
From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>

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 the initial timeslice to the RR_TIMESLICE, which is renamed from
DEF_TIMESLICE to clarify it's for SCHED_RR.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
CC: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
---
include/linux/init_task.h | 2 +-
include/linux/sched.h | 6 ++++++
kernel/sched/sched.h | 4 ----
3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 9c66b1a..f994d51 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -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), \
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2df7646..ee882cb 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -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 {
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 8a2c768..c0660a1 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -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.
--
1.7.7.6


--
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/