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:
Oct. 12, 1999

Filed:

Jun. 26, 1997
Applicant:
Inventors:

William H Hartner, Austin, TX (US);

David Medina, Austin, TX (US);

Mark A Peloquin, Austin, TX (US);

Charles R Schmitt, Austin, TX (US);

James F Macon, Jr, Apex, NC (US);

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F / ; G06F / ;
U.S. Cl.
CPC ...
395726 ; 395375 ; 395474 ; 395425 ; 395681 ; 395683 ; 395733 ; 395734 ; 395840 ; 395868 ; 3642281 ; 364230 ; 3642302 ; 364280 ; 3642808 ; 3642813 ; 3649754 ;
Abstract

A multiprocessor computing system has memory shared by all processors of the computing system and includes an symmetric multiprocessor (SMP) operating system and at least one external device controlled by a device driver. The device driver is typically written to run in a uniprocessor environment. A method for protecting the execution state of the device driver uses a pair of 'collaborative' spinlocks, an interrupt time spinlock and a task time spinlock. At task time, prior to calling the device driver, the task time spin lock is acquired by the operating system. The operating system then waits until the interrupt time spinlock is in an 'unowned' state before calling the device driver. Upon return from the device driver, the operating system releases the task time spinlock. At interrupt time, prior to calling the device driver's interrupt handler, the interrupt time spinlock is acquired by the operating system. The operating system then determines if the task time spinlock is owned. If it is owned, the operating system then issues an interprocessor interrupt (IPI) to the processor owning the task time spinlock, thus placing that processor into a predetermined 'spin' state. The receiving processor remains in the spinning state until return of the device driver execution.


Find Patent Forward Citations

Loading…