Messages in this thread | | | Date | Mon, 10 May 1999 16:55:17 -0400 | From | Hugo Varotto <> | Subject | End 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/
| |