lkml.org 
[lkml]   [1999]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectEnd of time-slice schedule() call

Hi to everybody,

I'm currently looking at the scheduler source code, trying to adapt some
research from our RT group, but I'm a little bit stucked with some items
in my comprehension of the scheduler ( I'm mainly looking to the SMP
code ).

It's my understanding that when a time-slice of a process has finished,
a timer interrupt arrives, and the schedule() function is called to get
the next process ( using the now famous goodness function ). So, my two
questions are,

- The function that actually calls schedule() at the end a time-slice,
is the function schedule_timeout() in the file kernel/sched.c ? If so,
could someone please post or direct me to a document that could give me
some light to the sequence of functions from the timer interrupt until
timeout_schedule ?

- It is my understanding that the timer interrupt is somehow able to
distinguish between different CPUs, meaning, somehow it is redirected to
a specific CPU. Could somebody shed some light to this part also ? I
found that in scheule_timeout() a timer is added with a certain deadline
( expire+jiffies ), but I don't see any sign that indicates to which CPU
should that timer be redirected.

I'm interested in this topics 'cause the research of my group focuses on
real time, and for adapting some of our algorithms, we'll need to be
able to arbitrarily set up specific timer in each CPU according to the
scheduled tasks, and I don't fully understand the full sequence of code
in the kernel.

Thanks in advance

Hugo

--
Hugo Varotto
Computer Science Dept.
University of Pittsburgh
hvarotto@cs.pitt.edu

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.157 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site