> It's been over 20 years since I had to deal with problems in this area > (MVS/ESA SP5.1), ... And UNIX Systems Services did not exist at the time.
It was MVS/ESA SP5.1 that actually gave birth to z/OS UNIX, which was called OpenEdition initially, ISTR. It was optional to start or not to start the UNIX kernel (OMVS) at that time. But the component was part of MVS/ESA. (With MVS/ESA SP4.3 OE was an optional add on, I think) Back to the OP's topic. I read in "z/OS V2R2 Programming: Assembler Services Guide", chapter "Chapter 3. Subtask creation and control", topic "Task Priority": "The dispatching priorities of the tasks in an address space do not affect the order in which the control program selects jobs for execution because that order is selected on the basis of address space dispatching priority. Once the control program selects an address space for dispatching, it selects from within the address space the highest priority task awaiting execution. Thus, task priorities may affect processing within an address space." This makes my wonder. My understanding, which maybe is not entirely correct, is that the dispatcher only looks at the work unit queue (WUQ) for the type of processor, when a processor needs new work. It picks the first work element block (WEB) form the queue and dispatches it. No need to perform an search in the ASCB anymore. That was the goal of the dispatcher redesign (MVS/ESA 5.1?): Improve dispatching performance by eliminating lengthy searches. Each TCB or SRB is represented by a WEB, which is placed on the WUQ when the TCB or SRB becomes ready (dispatchable). It is at this time where the ordering according to the dispatching priority takes place: o A Global SRB at the top of the WUQ (behind other Global SRBs already on the queue). o A Local SRB gets its place in the queue according to the AS's current dispatching priority and is placed ahead of any Preemptible SRB or TCB from that AS which may already be on the queue. o A Preemptible SRB or TCB gets its place in the queue according to the AS's current dispatching priority and is placed behind any WEB of any AS with equal dispatching which may already be on the queue. If this is all correct, the "Task Priority" must be considered when the WEB is placed on the WUQ. The system must look at all TCB WEBs whic may be on the WUQ for *that address space*, and insert the new TCB according to the "Task Priority". Remember that WLM may change the dispatching priority of a Service Class once every 10 seconds trying to help a Service Class missing its goal. All WEBs which have that Service Class assigned will get the new dispatching priority at time. And this may change the order of WEBs already on the WUQ. -- Peter Hunkeler ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
