Patent · US Expired

Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system

US5966543A · kind A · utility

26Cited by
14References
29Claims
0Family size

Assignee

Inventors

Key dates

Filing dateJun 26, 1997
Grant dateOct 12, 1999
Priority date
Expiry dateJun 26, 2017

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/52
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

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 rece…

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.