[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1225956167.4472.27.camel@chber1-10446x.ch.keymile.net>
Date: Thu, 06 Nov 2008 08:22:47 +0100
From: Andreas Huber <andreas.huber@...mile.com>
To: linux-kernel@...r.kernel.org
Subject: Scheduler RR, first time slice wrong?
Hi,
when starting a real-time process with the round-robin scheduler, the
first time slice is set to HZ (1 second).
When starting two such processes at the same time of the same static
priority, the second one started is first executed after 1 second.
(supposing the first process is heavy on cpu load).
After both have exhausted this first time slice, it is set to
DEF_TIMESLICE (which is 100ms).
Is this behavior as it is supposed to be?
Please add me in CC.
Regards,
Andreas
Relevant parts in the code:
include/linux/init_task.h
#define INIT_TASK(tsk) \
.rt = { \
.time_slice = HZ,
kernel/sched.c
#define DEF_TIMESLICE (100 * HZ / 1000)
kernel/sched_rt.c
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;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists