Re: changing timeslice in linux

From: Xin Tong
Date: Tue Aug 28 2012 - 16:16:00 EST


i changed the TIMESLICE defined in the sched.c

109 /*
110 * These are the 'tuning knobs' of the scheduler:
111 *
112 * default timeslice is 100 msecs (used only for SCHED_RR tasks).
113 * Timeslices get refilled after they expire.
114 */
115 #define DEF_TIMESLICE (20 * HZ / 1000)


I compiled and installed the modified kernel, but when i looked at the
, i get a different number

root@elm:~# cat /proc/sys/kernel/sched_rt_period_us
1000000


Xin

On Mon, Aug 20, 2012 at 5:16 PM, Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> On Mon, 20 Aug 2012 07:51:52 -0700, Xin Tong wrote:
>> On Sun, Aug 19, 2012 at 10:54 PM, Mike Galbraith <efault@xxxxxx> wrote:
>>> On Sun, 2012-08-19 at 11:58 -0700, Xin Tong wrote:
>>>> I have 2 questions about linux 2.6 x86_64 scheduler.
>>>>
>>>> 1. is the default scheduling algorithm SCHED_NORMAL in linux ?
>>>
>>> Yes.
>> Is there any document describing what the sched_normal is ? it is more
>> difficult than SCHED_RR to infer its meaning just based on its name ?
>>>
>>>> 2. how do i change the time slice in linux source code ?
>>>
>>> You shouldn't need to. You can tune "slice" by adjusting
>>> sched_latency_ns and sched_min_granularity_ns, but note that "slice" is
>>> not a fixed quantum. Also note that CFS preemption decisions are based
>>> upon instantaneous state. A task may have received a full (variable)
>>> "slice" of CPU time, but preemption will be triggered only if a more
>>> deserving task is available, so a "slice" is not the "max uninterrupted
>>> CPU time" that you may expect it to be.. but it is somewhat similar.
>>>
>>> -Mike
>>>
>> This can be done without recompiling and reinstalling the kernel ?
>> maybe one simply needs to write to a device file under /dev ?
>
> You can find those files under /proc/sys/kernel/.
>
> Thanks,
> Namhyung
--
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/