[lkml]   [2005]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: sched /HT processor

>From: Steven Rostedt <>
>To: Jesper Juhl <>
>CC: Arun Srinivas <>, LKML
>Subject: Re: sched /HT processor
>Date: Sun, 03 Apr 2005 11:31:03 -0400
>On Sun, 2005-04-03 at 13:17 +0200, Jesper Juhl wrote:
> >
> > A reschedule can happen once every ms, but also upon returning to
> > userspace and when returning from an interrupt handler, and also when
> > something in the kernel explicitly calls schedule() or sleeps (which in
> > turn results in a call to schedule()). And each CPU runs schedule()
> > independently.
> > At least that's my understanding of it - if I'm wrong I hope someone on
> > the list will correct me.
>You're correct, but I'll add some more details here. The actual
>schedule happens when needed. A schedule may not take place at every
>ms, if the task running is not done with its time slice and no events
>happened where another task should preempt it. If an RT task is running
>in a FIFO policy, then it will continue to run until it calls schedule
>itself or another process of higher priority preempts it.
>Now if you don't have PREEMPT turned on, than the schedule won't take
>place at all while a task is in the kernel, unless the task explicitly
>calls schedule.
>What happens on a timer interrupt where a task is done with its time
>slice or another event where a schedule should take place, is just the
>need_resched flag is set for the task. On return from the interrupt the
>flag is checked, and if set a schedule is called.
>This is still a pretty basic description of what really happens, and if
>you want to learn more, just start searching the kernel code for
>schedule and need_resched. Don't forget to look in the asm code (ie
>entry.S, and dependent on your arch other *.S files).
>-- Steve

News, views and gossip. Get it all at MSN

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-04-06 13:31    [W:0.052 / U:9.124 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site