[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
[rtl] question about the linux scheduler
Hello,
I have a question about the points where schedule() is called in normal
linux:
I know the following points:
1) by "return_from_syscall", if "need_resched" is set
2) by "calling sleep()", "nanosleep()" etc
3) explicit calling: "schedule()"
4) idle process calls "schedule()"
But there must be another point where "schedule()" is called.
For example: A user process with an endless loop: while(1) {;} doesn't
call a system call. So no "return_from_syscall" can start the scheduler.
When it gets the cpu the process runs. How is the process preempted by
the scheduler?
The timer interrupt occurs while the endless loop, but within the
interrupt service routine of the timer the scheduler isn't allowed to be
called.
Any ideas why the endless loop is preempted?
TIA
S. Heursch
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/