Messages in this thread | | | Date | Wed, 7 Jul 2004 08:52:58 -0700 | From | Elladan <> | Subject | Re: Maximum frequency of re-scheduling (minimum time quantum) que stio n |
| |
On Wed, Jul 07, 2004 at 05:48:17AM -0400, Povolotsky, Alexander wrote: > Thanks again (and sorry for annoying yet again)! > > >If an interrupt from some device, or the timer interrupt, causes a > >high-priority process to become runnable > > I guess, you are referring above to what is also called "process wake-up" or > "process awakening" ? > What are the specific means of effecting "process wake-up" (say at the > interrupt time) ?
If the high priority process was blocked waiting for something (eg., data from a device) and the interrupt causes data to be available on the object the process is blocked on, then the high priority process will be woken up and will then become runnable again.
> >All system calls execute schedule() before returning to user space, if > >schedule has been requested. It's done in the system call handler. An > >interrupt will also schedule if necessary. > > Does above suggest that OS calls (with the schedule NOT being requested) are > permissable to be executed from the ISR (Interrupt Service Routine)? > ... - I have been told that anything, that invokes the scheduler is not > callable from the ISR ...
The top half interrupt handler just basically puts the interrupt on a list. The bottom half handler then runs with a full context and can schedule.
If the current process was already executing in the kernel, then the bottom half is delayed until the end of the current call. Otherwise, it happens immediately afterward.
-J - 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/
| |