IP Library Granted Patent US 10,664,425
Granted Patent B2
US 10,664,425 · App. 16/133,554 · Granted May 26, 2020

Adjusting interrupt priorities

Inventor: SampathKumar Malalangaradhos (Bangalore, IN)
Assignee: Intel Corporation
G06F13/26G06F16/23
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,664,425
App. No.
16/133,554
Granted
May 26, 2020
Kind
B2
Abstract

A processor may include a core to execute interrupt latency control unit (ILCU) software and an interrupt controller circuitry. The interrupt controller circuitry includes: a first register to store a first time value at which a first interrupt is received at the interrupt controller circuitry and a second register to store a second time value at which the first interrupt is delivered to the core. The ILCU software is to: read the first time value in the first register and the second time value in the second register; determine an amount of time the first interrupt was pending at the interrupt controller circuitry; determine interrupt configuration information that adjusts the first interrupt priority of a subsequent interrupt; and send the interrupt configuration information to the interrupt controller circuitry. The interrupt controller circuitry is to adjust the first interrupt priority of the subsequent interrupt to the second interrupt priority.

Claims (70)

1. A processor comprising:

a core to execute interrupt latency control unit (ILCU) software; and

interrupt controller circuitry coupled to the core, wherein the interrupt controller circuitry comprises:

a first register to store a first time value at which a first interrupt is received at the interrupt controller circuitry; and

a second register to store a second time value at which the first interrupt is delivered to the core by the interrupt controller circuitry, wherein the ILCU software is to:

read the first time value in the first register and the second time value in the second register in response to the core receiving the first interrupt, the first interrupt having a first interrupt priority for a first type of interrupt;

determine an amount of time the first interrupt was pending at the interrupt controller circuitry before the first interrupt was received by the core using the first time value and the second time value;

determine interrupt configuration information that adjusts the first interrupt priority of a subsequent interrupt of the first type to a second interrupt priority that is different than the first interrupt priority; and

send the interrupt configuration information to the interrupt controller circuitry, wherein the interrupt controller circuitry is to:

receive the subsequent interrupt of the first type; and

adjust the first interrupt priority of the subsequent interrupt to the second interrupt priority using the interrupt configuration information.

2. The processor of claim 1 , wherein the interrupt controller circuitry is to:

transmit the first interrupt having the first interrupt priority to the core; and

transmit the subsequent interrupt having the second interrupt priority to the core.

3. The processor of claim 2 , wherein the core is to:

receive the first interrupt having the first interrupt priority from the interrupt controller circuitry;

execute an interrupt service routine (ISR) associated with the first interrupt according to the first interrupt priority;

receive the subsequent interrupt having the second interrupt priority from the interrupt controller circuitry; and

execute the ISR associated with the subsequent interrupt according to the second interrupt priority.

4. The processor of claim 1 , wherein the ILCU software is further to:

store, in a data structure in memory, a corresponding first time value and a corresponding second time value of each interrupt of a plurality of interrupts received from the interrupt controller circuitry.

5. The processor of claim 4 , wherein the ILCU software is further to:

update, in the data structure, the corresponding first time value at which the subsequent interrupt, having the second interrupt priority, is received at the interrupt controller circuitry.

6. The processor of claim 4 , wherein the ILCU software is further to:

update, in the data structure, the corresponding second time value at which the subsequent interrupt, having the second interrupt priority, is delivered to the core by the interrupt controller circuitry.

7. The processor of claim 1 , wherein the second interrupt priority is greater than the first interrupt priority.

8. The processor of claim 1 , wherein the second interrupt priority is less than the first interrupt priority.

9. The processor of claim 1 , wherein the ILCU software is further to:

determine a second amount of time a second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core using a corresponding first time value and a corresponding second time value of the second interrupt, the second interrupt having the second interrupt priority for a second type of interrupt; and

generate second interrupt configuration information that adjusts the first interrupt priority of a corresponding subsequent interrupt of the first type to the second interrupt priority that is different than the first interrupt priority based on the second amount of time the second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core.

10. The processor of claim 1 , wherein the interrupt controller circuitry is further to:

transmit the subsequent interrupt having the second interrupt priority to a different core.

11. A system comprising:

a memory device;

a core to execute interrupt latency control unit (ILCU) software, the core coupled to the memory device; and

interrupt controller circuitry coupled to the core and the memory device, wherein the interrupt controller circuitry comprises:

a first register to store a first time value at which a first interrupt is received at the interrupt controller circuitry; and

a second register to store a second time value at which the first interrupt is delivered to the core by the interrupt controller circuitry, wherein the ILCU software is to:

read the first time value in the first register and the second time value in the second register in response to the core receiving the first interrupt, the first interrupt having a first interrupt priority for a first type of interrupt;

determine an amount of time the first interrupt was pending at the interrupt controller circuitry before the first interrupt was received by the core using the first time value and the second time value;

determine interrupt configuration information that adjusts the first interrupt priority of a subsequent interrupt of the first type to a second interrupt priority that is different than the first interrupt priority; and

send the interrupt configuration information to the interrupt controller circuitry, wherein the interrupt controller circuitry is to:

receive the subsequent interrupt of the first type; and

adjust the first interrupt priority of the subsequent interrupt to the second interrupt priority using the interrupt configuration information.

12. The system of claim 11 , wherein the interrupt controller circuitry is to:

transmit the first interrupt having the first interrupt priority to the core; and

transmit the subsequent interrupt having the second interrupt priority to the core.

13. The system of claim 12 , wherein the core is to:

receive the first interrupt having the first interrupt priority from the interrupt controller circuitry;

execute an interrupt service routine (ISR) associated with the first interrupt according to the first interrupt priority;

receive the subsequent interrupt having the second interrupt priority from the interrupt controller circuitry; and

execute the ISR associated with the subsequent interrupt according to the second interrupt priority.

14. The system of claim 11 , wherein the second interrupt priority is greater than the first interrupt priority.

15. The system of claim 11 , wherein the second interrupt priority is less than the first interrupt priority.

16. The system of claim 11 , wherein the ILCU software is further to:

determine a second amount of time a second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core using a corresponding first time value and a corresponding second time value of the second interrupt, the second interrupt having the second interrupt priority for a second type of interrupt; and

determine second interrupt configuration information that adjusts the first interrupt priority of a corresponding subsequent interrupt of the first type to the second interrupt priority that is different than the first interrupt priority based on the second amount of time the second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core.

17. The system of claim 11 , wherein the interrupt controller circuitry is further to:

transmit the subsequent interrupt having the second interrupt priority to a different core.

18. A method comprising:

reading, by a core from a first register in interrupt controller circuitry, a first time value at which a first interrupt is received at the interrupt controller circuitry;

reading, by the core from a second register in the interrupt controller circuitry, a second time value at which the first interrupt is delivered to the core by the interrupt controller circuitry, the first interrupt having a first interrupt priority for a first type of interrupt;

determining, by the core, an amount of time the first interrupt was pending at the interrupt controller circuitry before the first interrupt was received by the core using the first time value and the second time value;

generating, by the core, interrupt configuration information to adjust the first interrupt priority of a subsequent interrupt of the first type to a second interrupt priority that is different than the first interrupt priority; and

sending, by the core, the interrupt configuration information to the interrupt controller circuitry, wherein the interrupt controller circuitry is to receive the subsequent interrupt of the first type and adjust the first interrupt priority of the subsequent interrupt to the second interrupt priority using the interrupt configuration information.

19. The method of claim 18 , further comprising:

updating, in a data structure in memory, a corresponding first time value at which the subsequent interrupt, having the second interrupt priority, is received at the interrupt controller circuitry, and a corresponding second time value at which the subsequent interrupt, having the second interrupt priority, is delivered to the core by the interrupt controller circuitry.

20. The method of claim 18 , further comprising:

determining a second amount of time a second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core using a corresponding first time value and a corresponding second time value of the second interrupt, the second interrupt having the second interrupt priority for a second type of interrupt; and

determining second interrupt configuration information that adjusts the first interrupt priority of a corresponding subsequent interrupt of the first type to the second interrupt priority that is different than the first interrupt priority based on the second amount of time the second interrupt was pending at the interrupt controller circuitry before the second interrupt was received by the core.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2018
From: MALALANGARADHOS, SAMPATHKUMAR
To: INTEL CORPORATION
Reel/Frame 046893/0198 →