Browse Prior Art Database

System Performance Improvement Using Staged Interrupt Handling

IP.com Disclosure Number: IPCOM000235873D
Publication Date: 2014-Mar-28
Document File: 1 page(s) / 24K

Publishing Venue

The IP.com Prior Art Database

Abstract

HW uses interrupt mechanism to inform Firmware about events happening on it. These interrupts are processed by Firmware at higher priority then other tasks. All events on HW are not of equal priority. These can be from just informational events to critical events. Generally HW provides priority information when it sends the interrupt to FW. This priority information is generally used by FW to decide the order in which these interrupts should be processed.The problem with existing approaches is that priority information of a interrupt is used only in context of interrupt preemption. Before raising interrupt on FW, No distinction is based upon the urgency for interrupt handling. There can be events which does not need immediate service from FW. Though these events are informational only, they can interrupt the high priority tasks running on FW. Also when FW is serving a low priority interrupt and high priority interrupt comes, even in preemptive interrupt handlers, the context saving time increases the response time for high priority interrupts.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 72% of the total text.

Page 01 of 1

System Performance Improvement Using Staged Interrupt Handling

This article devises approach and methods to divide the events in categories as per their impact on system, collate the events based on category and define a criteria which will be used to determine whether FW should handle this even now or later. We will use the categories to decide whether the event needs immediate service from FW or we can use a delayed service. The proposal suggest interrupt handling as suggested below.

1. Threshold : When number of events crosses a threshold, Direct the FW to process the interrupts.

2. Time window: If time window expires ( time since the first event happened ) even if threshold is not crossed , direct the FW to handle interrupts.

3. Interrupt Piggybacking: If high priority interrupt has happened, piggy bank the low priority interrupts also and process them also. This piggybacking can be FRU specific. So we can do piggybacking for all memory related events and can define separate piggybacking rules for processor related events.

4. Provide a mechanism, so that it can work in virtual as well as non virtual environment. Specifically in case of Virtual environment, there must be support for interrupt virtualization technology employed by machine.

Each VM will register itself with Hypervisor with the type of events its interested in.

Each VM should provide the group number / priority in which this event should fall. This group can tell firmware about time window which...