Browse Prior Art Database

Method Removing the Requirement of Interrupt Activated Code Having to Be Short

IP.com Disclosure Number: IPCOM000121051D
Original Publication Date: 1991-Jul-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 2 page(s) / 79K

Publishing Venue

IBM

Related People

Hoegh, BT: AUTHOR [+2]

Abstract

When an adapter generates an interrupt to a processor, usually there is some processing that needs to occur in the processor to acknowledge the interrupt. All interrupt levels of the same or lower priority are disabled during this processing. Therefore, not much processing can be done on the interrupt level without causing problems for adapters that use interrupt levels of lower priority. A method is described which removes this restriction from interrupt activated code without affecting other interrupt processing in the machine.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method Removing the Requirement of Interrupt Activated Code Having
to Be Short

      When an adapter generates an interrupt to a processor,
usually there is some processing that needs to occur in the processor
to acknowledge the interrupt.  All interrupt levels of the same or
lower priority are disabled during this processing.  Therefore, not
much processing can be done on the interrupt level without causing
problems for adapters that use interrupt levels of lower priority.  A
method is described which removes this restriction from interrupt
activated code without affecting other interrupt processing in the
machine.

      The normal processing when an interrupt occurs is to execute a
small amount of code to acknowledge the interrupt, reset the
interrupt controller as soon as possible to re-enable this interrupt
level and levels of lower priority, and finally return to the code
that was interrupted. Therefore, there is an inherent restriction on
the amount of time that can be spent processing an interrupt.
However, in a single-tasking operating system, there are occasions
when a program would like to use an interrupt to start/resume an
asynchronous task immediately.

      In order to make the function asynchronous, the interrupt is
required, but the large amount of code remaining to perform the
function needs to be executed to completion.  All of this has to be
done without disabling other interrupt levels for long periods of
time.

      In the method ...