Browse Prior Art Database

Method to provide a generalized external interrupt model in the EFI framework

IP.com Disclosure Number: IPCOM000016690D
Publication Date: 2003-Jul-09
Document File: 4 page(s) / 103K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to provide a generalized external interrupt model in the extensible firmware interface (EFI) framework. Benefits include improved performance, improved support for future technologies, and improved ease of implementation.

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

Method to provide a generalized external interrupt model in the EFI framework

Disclosed is a method to provide a generalized external interrupt model in the extensible firmware interface (EFI) framework. Benefits include improved performance, improved support for future technologies, and improved ease of implementation.

Background

              EFI services conventionally provide only a single timer-tick for use by the EFI core (see Figure 1). Any devices that service periodic phenomena or device interactions can poll the device in a blocking fashion or poll the hardware in a timer-callback. To provide a more timely response, the EFI timer-tick must be of a sufficiently high frequency. Users have complained about the poor network performance. The only tunable parameter has been the EFI timer tick to poll the network interface in a more timely fashion, which limits scalability.

              Platform developers are conventionally encouraged to use polling for device support. For a large server that has several devices, polling the hardware wastes computation time.

Description

              The disclosed method is a generalized device-interrupt model for the extensible firmware interface (EFI). The method includes a task priority level (TPL) structure, which prioritizes interrupt requests and enables boot-service agents to register for a device interrupt (see Figures 2 and 3).

              The disclosed method results in device performance that can reach the theoretical maxima of the device. EFI runs in physical mode with no table look-aside buffer (TLB) translations or page faults. As a result, the EFI performance with respect to the I/O device can exceed that of the performance drivers in the conventional operating system space.

              The steps to implement the disclosed method are described in a flow chart (see Figure 4).

Advantages

              The disclosed method provides advantages, including:
•             Improved performance due to running in physical mode

•             Improved performance due to improving boot time via local and remote means
•             Improved performance due to improving device responsiveness and scale for 10/100/1000 Ethernet devices
•             Improved support for future technologies due to a clean abstraction so that interrupt/driver migration can occur seamlessly in the platform.

•             Improved ease of implementation due to a clean abstraction that coexists with the  conventional priority model

Task Priority Level

Usage

TPL_APPLICATION

This is the lowest priority level. It is the level of execution that occurs when no event notifications are pending and that interacts with the user. User I/O (and blocking on user I/O) can be performed at this level. The boot manager executes at this level and passes control to other EFI applications at this level.

TPL_CALLBACK

Interrupts code executing below TPL_CALLBACK level. Long term operations (such as file system operations and disk I/O) can occur at this level.

TPL_NOTIFY

Interru...