>However, if my program is also running disabled for external interrupts
and it uses CPU cycles heavily , how will the 
>system 'pre-empt' my TCB? Or it cannot and just let my TCB starve other
users? I cannot figure out.

Correct me if I'm wrong, but selective disablement is different than
preemptibility.  An interrupt handler will normally return control to
the dispatcher, which may reorder its queue and dispatch a task other
than the one which was interrupted.  However, that is not true if the
task is non-preemptible.  I.e., it will be immediately redispatched
after the interrupt is handled.

This behavior applies mainly to tasks running under SRB mode.
Subsystems like DB2 and HSM, which make heavy use of non-preemptible
SRBs used to have a tendency to monopolize processor resources, hence
the creation of preemptible-class SRBs.

Consider this:  zIIP and zAAPs, which run disabled for I/O interrupts,
process preemptible SRB work.  The work must be preemptible in order for
the dispatcher to honor priorities according to WLM service goals.

Another thing to consider is reduced preemption.  I think this strategy
came about in the latter days of MVS/ESA.  The idea was to delay
handling of interrupts at low utilization levels to allow otherwise
preemptible work to complete, thereby reducing the overhead of
reentering the dispatcher as often.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Johnny Luo
Sent: Tuesday, October 23, 2007 9:02 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: About dispatching process

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to