Browse Prior Art Database

Dynamic Prioritization of Queued Interrupts

IP.com Disclosure Number: IPCOM000060476D
Original Publication Date: 1986-Apr-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 2 page(s) / 57K

Publishing Venue

IBM

Related People

Melville, HJ: AUTHOR

Abstract

This invention provides a method of prioritizing queued interrupts from multiple devices which use a single interrupt level. The frequency of interrupts for each line is the criterion used for establishing the priority. The more frequently a device causes interrupts, the higher priority it will receive. Fig. 1 shows the interrupt level code. The only overhead caused by the queueing routine is the increment of the interrupt counter. The action controller (Fig. 2) is altered to allow the prioritization routine to be executed any time there are no other actions required. Fig. 3 shows the queue prioritization routine. The numbers correspond to the notes given below. 1. The prioritization counter keeps track of the number of times the routine is accessed. It is used here to limit the frequency of re-prioritization. 2.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 91% of the total text.

Page 1 of 2

Dynamic Prioritization of Queued Interrupts

This invention provides a method of prioritizing queued interrupts from multiple devices which use a single interrupt level. The frequency of interrupts for each line is the criterion used for establishing the priority. The more frequently a device causes interrupts, the higher priority it will receive. Fig. 1 shows the interrupt level code. The only overhead caused by the queueing routine is the increment of the interrupt counter. The action controller (Fig. 2) is altered to allow the prioritization routine to be executed any time there are no other actions required. Fig. 3 shows the queue prioritization routine. The numbers correspond to the notes given below. 1. The prioritization counter keeps track of the number of times the routine is accessed. It is used here to limit the frequency of re-prioritization. 2. A snapshot of the interrupt counters is taken to eliminate any problems with counters changing during re-prioritization. 3. The prioritization counter is used to occasionally cut the values of all counters in half. This decreases the influence of past peak periods on each line, and keeps the counters from overflowing. 4. A new device address list is built by organizing the device addresses in order of decreasing values of the interrupt counters. Ties are resolved based on device address. 5. The device list pointer used by the interrupt level routine is changed to point to the new device address list. The old li...