Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output access regulation
Reexamination Certificate
2002-12-18
2004-09-07
Gaffin, Jeffrey (Department: 2182)
Electrical computers and digital data processing systems: input/
Input/output data processing
Input/output access regulation
C710S260000, C710S266000
Reexamination Certificate
active
06789142
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method, system, and program for method, system, and program for handling interrupt requests.
2. Description of the Related Art
In many operating systems, such as Microsoft Windows®, Linux®, Unix®, etc. multiple devices may communicate over a bus interface with the operating system interrupt service routine (ISR) using a single interrupt line. (Microsoft and Windows are registered trademarks of Microsoft Corporation, Linux is a registered trademark of Linus Torvalds, UNIX is a registered trademark of The Open Group). One of multiple devices using an interrupt line, would assert an interrupt on the bus to the interrupt line assigned to that device to request or transmit data to the operating system. The operating system would further execute various device driver programs that provide a software interface between the operating system and the device. A device driver includes device specific commands to communicate with and control one attached device. Upon receiving a device interrupt, the operating system ISR would poll each device driver interrupt service routine (ISR) running in the operating system to identify the device driver ISR associated with the device that asserted the interrupt.
In response to receiving the polling request from the operating system ISR asking the device driver ISR whether the interrupt is from the device driver's device, the device driver ISR communicates with the associated device and reads an interrupt status register in the device to determine whether the driver's device sent the interrupt request.
In the Microsoft® Windows® operating system (Microsoft and Windows are registered trademarks of Microsoft Corporation), if the device status registers indicate that the device did send an interrupt request, then the device driver ISR responds to the operating system ISR by claiming the interrupt and requesting a deferred procedure call (DPC) to use to process the device request that is the subject of the interrupt request. If a device driver ISR responds that the interrupt is not from the device associated with the driver, then the operating system ISR determines a next device driver in a chain of device drivers to poll and sends the request to the next device driver ISR in the chain. The operating system ISR continues polling device driver ISRs in the list until one device driver ISR claims the interrupt and requests resources to run the DPC. In non-Windows operating systems, such as Linux or Unix, the interrupt device driver would just perform the interrupt related work; no DPC is involved.
The device driver ISRs will set the value for two flags when called by the operating system ISR. One flag indicates whether the device driver ISR claims the interrupt and another flag indicates whether the device driver is requesting a DPC to handle the interrupt. In the prior art, the device driver ISR will set both flags to either “on” or “off”. Thus, if the device driver ISR determines that the interrupt request is from the driver's device, then the device driver sets the flag to indicate claiming the interrupt and sets the DPC flag to indicate a request for a DPC resource to process interrupt related work. If the device driver ISR determines that the interrupt is not from the driver's device, then the device driver sets the flag to indicate that it is not claiming the interrupt and sets the DPC flag to indicate no request for a DPC resource to process interrupt related work.
After one device driver ISR claims the interrupt, the operating system ISR switches context and terminates interrupt service handling. Upon receiving a subsequent interrupt, the operating system ISR will have to switch context to interrupt service handling to locate the device driver to handle the interrupt request. This process to switch context between interrupt service handling and other states requires significant processing resources and time. As device bandwidth increases and as more devices are attached to a computer system, the number of interrupts generated has likewise increased significantly. This increase in the number of interrupts places increased burdens on the operating system because the operating system must repeatedly context switch in and out of interrupt service handling in response to each interrupt request.
For these reasons, there is a need in the art to provide improved techniques for handling device interrupt requests.
REFERENCES:
patent: 5530872 (1996-06-01), Smeltzer et al.
patent: 5708814 (1998-01-01), Short et al.
patent: 6052739 (2000-04-01), Bopardikar et al.
patent: 6539447 (2003-03-01), Sawada
Brooks, Lame. “RE: Message Signalled Interrupt Support”. [online], Mar. 24, 2000. [Retrieved on Nov. 26, 2002]. Retrieved from the Internet at <URL: http://www.pcisig.com/reflector/msg02868.html>.
Motorolla, “Interrupt Controller”,MCF5307 User's Manual. Chapter 9, pp. 9-1—9-8.
PCI Special Interest Group, “PCI Local Bus Specification”, © 2002 PCI Special Interest Group. Revision 2.3, Mar. 29, 2002, pp. 218-225.
U.S. patent application for Intel Case No. P14968, filed Dec. 18, 2002, entitled “Method, System, and Program for Handling Device Interrupts”, invented by N. Diamant.
Venturcom, “Tech Notes Detail: PCI/CompactPCI Interrupt Routing Impacting RTX”. © 2002 Venturcom, Inc. [online], [Retrieved on Nov. 26, 2002]. Retrieved from the Internet at <URL: http://support.vci.com/support/Technotes/technotes_detail.asp?TechNoteID=78>.
Gaffin Jeffrey
Intel Corporation
Konrad Raynes & Victor LLP
Schneider Joshua
Victor David W.
LandOfFree
Method, system, and program for handling interrupt requests does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method, system, and program for handling interrupt requests, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, system, and program for handling interrupt requests will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3195137