mtd_cpl question

Matthew Dillon dillon at
Thu Jun 2 10:54:26 PDT 2005

:"hard-realtime" routines in the kernel context with
:minimal context-switch overhead (pretty much the 
:entire kernel/SVC functionality can be implemented 
:this way; essentially the kernel become a real-time 
:_routine_ dispatcher; processes are scheduled/dispatched
:after no more kernel routines can be run).
:DEC called such real-time kernel routines "fork
:routines" (executed by a "fork dispatcher" processing
:a "fork queue"). Presumably this comes about from
:the fork-join concurrent program notation that goes   
:back at least to AOSP around 1960.
:Microsoft today uses "deferred procedure" (or DPC, 
:for Deferred Procedure Call).
:IBM called such routines SLIH (Second Level Interrupt 
:Handler). (I think one of their Unix OSes (probably
:running on a VM) also used SLIH routines.
:Other names for this technique include "task" (a 
:horribly confusing term used by Wirth in one of his
:experimental systems) and "continuation", used in a 
:number of systems with a number of slightly different
:conotations, some connected to the theoretical notion
:more than others.
:The very succesful Japanese micro-ITRON systems use 
:this technique (called "delayed execution service 
:routine/call", I believe). It's interesting that they
:first tried not to use this technique, but got forced
:into it somewhere along the line...
: - bruce

    Our IPI messaging works almost the same way, especially
    when the _passive calls are made to queue the function call
    (that do not generate an actual IPI interrupt).

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list