Messages in this thread | | | From | "Arun Srinivas" <> | Subject | Re: sched /HT processor | Date | Mon, 04 Apr 2005 04:22:13 +0530 |
| |
>From: Steven Rostedt <rostedt@goodmis.org> >To: Jesper Juhl <juhl-lkml@dif.dk> >CC: Arun Srinivas <getarunsri@hotmail.com>, LKML ><linux-kernel@vger.kernel.org> >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. http://www.msn.co.in/Cinema/ Get it all at MSN Cinema!
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |