The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Dec. 21, 1999

Filed:

Feb. 27, 1997
Applicant:
Inventors:

Luke Matthew Browning, Austin, TX (US);

Jeffrey Scott Peek, Austin, TX (US);

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F / ;
U.S. Cl.
CPC ...
709102 ;
Abstract

A method and system are disclosed for handling exceptions generated by a particular processor among a number of processors within a multiprocessor data processing system. The data processing system includes a global queue from which threads are dispatched in a priority order for execution by the processors and a number of local dispatch flags, which are each associated with one of the processors. In response to an occurrence of an exception during execution of a particular thread by a particular processor, a state of the particular thread, which is at least partially defined by volatile data within the particular processor, is saved. A selected exception handler associated with the exception is then executed. Next, a determination is made whether resumption of the particular thread depends upon an occurrence of a specified event. In response to determining that resumption of the particular thread depends upon an occurrence of the specified event, the local dispatch flag associated with the particular processor is set. Thereafter, a determination is made whether the particular thread can be interrupted by another thread. In response to the local dispatch flag associated with the particular processor not being set or in response to determining that the particular thread cannot be interrupted by another thread, the particular thread is resumed. In response to the local dispatch flag associated with the particular processor being set and a determination that the particular thread can be interrupted by another thread, a thread is selected from the global queue for execution by the particular processor.


Find Patent Forward Citations

Loading…