(12) United States Patent (io) Patent No.: US 6,834,385 B2
Bohm et al. (45) Date of Patent: Dec. 21,2004
(54) SYSTEM AND METHOD FOR UTILIZING
DISPATCH QUEUES IN A
MULTIPROCESSOR DATA PROCESSING
(75) Inventors: David Edward Bohm, Tucson, AZ
(US); Robert Gerard LaBrie, Tucson,
AZ (US); Daniel Eqidio Reyes,
Tuscon, AZ (US)
(73) Assignee: International Business Machines Corporation, Armonk, NY (US)
( * ) Notice: Subject to any disclaimer, the term ol this patent is extended or adjusted under 35 U.S.C. 154(b) by 938 days.
(21) Appl. No.: 09/754,703
(22) Filed: Jan. 4, 2001
(65) Prior Publication Data
US 2002/0087618 Al Jul. 4, 2002
(51) Int. C I. G06F 9/46
(52) U.S. CI 718/102; 712/203
(58) Field of Search 718/100-108;
709/201; 711/206; 712/28-31, 203, 219
(56) References Cited
U.S. PATENT DOCUMENTS
4,394,727 A 7/1983 Hoffman et al.
4,943,913 A * 7/1990 Clark
5,319,782 A * 6/1994 Goldberg et al. ...
5,333,319 A 7/1994 Silen
5,826,081 A 10/1998 Zolnowsky
5,848,257 A * 12/1998 Angle et al 712/219
5,872,972 A * 2/1999 Boland et al 718/102
6,779,182 Bl * 8/2004 Zolnowsky 718/103
"Creating a Process," robelle found at http://daffy.robelle, com/smugbook/process.html.
* cited by examiner
Primary Examiner—St. John Courtenay, III
(74) Attorney, Agent, or Firm—Dale M. Crockatt; Dillon &
A method for utilizing dispatch queues operates in a data processing system that has multiple processors, an operating system, and an application with multiple threads. According to that method, a dedicated dispatch queue and a general dispatch queue are created at an application level, with the dedicated dispatch queue being dedicated to a task control block (TCB) of the data processing system. In response to determining that the TCB is available and the dedicated dispatch queue is not empty, a thread is dispatched from the dedicated dispatch queue to the available TCB for execution. In response to determining that the TCB is available and the dedicated dispatch queue is empty, a thread is dispatched from the general dispatch queue to the available TCB for execution. In an illustrative embodiment, bound threads are distinguished from unbound threads, the bound threads are scheduled only on the dedicated dispatch queue, and the unbound threads are scheduled only on the general dispatch queue.
18 Claims, 6 Drawing Sheets