IP Library Granted Patent US 8,612,660
Granted Patent B2
US 8,612,660 · App. 13/044,137 · Granted Dec 17, 2013

Interrupt latency measurement

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 8,612,660
App. No.
13/044,137
Granted
Dec 17, 2013
Kind
B2
Abstract

A system and method for setting a first indicator indicating that interrupts are virtually locked, receiving a first interrupt at a processor of a computing device, setting a second indicator indicating the receipt of the first interrupt and recording a first timestamp based on the receipt of the first interrupt. The system and method further adapted to virtually execute a routine for the first interrupt that includes determining if the second indicator is set, record a second timestamp based on the virtual execution of the routine and determine an interrupt latency based on the first and second timestamp.

Claims (43)

1. A method, comprising:

setting a first indicator indicating that interrupts are virtually locked;

receiving a first interrupt at a processor of a computing device;

setting a second indicator indicating the receipt of the first interrupt, when the first indicator indicates that interrupts are virtually locked;

recording a first timestamp based on the receipt of the first interrupt;

virtually executing a routine for the first interrupt that includes determining if the second indicator is set;

recording a second timestamp based on the virtual execution of the routine; and

determining an interrupt latency based on the first and second timestamp.

2. The method of claim 1 , wherein the first interrupt is one of asynchronous, non-periodic, and unpredicted.

3. The method of claim 1 , further comprising:

recording a third timestamp when the first indicator is set.

4. The method of claim 3 , further comprising:

determining a maximum interrupt latency based on the second and third timestamp.

5. The method of claim 1 , further comprising:

storing information describing the first interrupt.

6. The method of claim 5 , further comprising:

performing an execution of the first interrupt using the stored information describing the first interrupt.

7. The method of claim 1 , further comprising:

locking the interrupts when the first interrupt is received.

8. The method of claim 1 , further comprising:

unlocking the interrupts after the virtual execution of the interrupt.

9. The method of claim 8 , further comprising:

receiving a second interrupt after the interrupts have been unlocked, wherein the second interrupt corresponds to the first interrupt; and

executing the second interrupt.

10. A computing device, comprising:

a hardware component generating an interrupt;

a processor executing an operating system configured to receive the interrupt, determine whether interrupts are virtually locked, virtually execute the interrupt when interrupts are virtually locked, and measure a latency of the interrupt for the hardware component by virtually executing the interrupt; and

a memory storing latency data.

11. The computing device of claim 10 , wherein the interrupt is one of asynchronous, non-periodic, and unpredicted.

12. The computing device of claim 10 , wherein the operating system sets a first indicator for indicating that further interrupts are virtually locked and records a first timestamp for setting the first indicator.

13. The computing device of claim 12 , wherein the operating system sets a second indicator for indicating the receiving of the interrupt when the first indicator is set.

14. The computing device of claim 13 , wherein the operating system records a second timestamp upon setting the second indicator.

15. The computing device of claim 14 , wherein the operating system records a third timestamp upon a completion of the virtual execution of the interrupt.

16. The computing device of claim 15 , wherein the interrupt latency is measured as a different between the second timestamp and the third timestamp.

17. The computing device of claim 10 , wherein the latency data includes an interrupt context used for an execution of the interrupt upon the measuring.

18. A non-transitory computer readable storage medium including a set of instructions executable by a processor, the set of instructions operable to:

set a first indicator indicating that interrupts are virtually locked;

receive a first interrupt at a processor of a computing device;

set a second indicator indicating the receipt of the first interrupt, when the first indicator indicates that interrupts are virtually locked;

record a first timestamp based on the receipt of the first interrupt;

virtually execute a routine for the first interrupt that includes determining if the second indicator is set;

record a second timestamp based on the virtual execution of the routine; and

determine an interrupt latency based on the first and second timestamp.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2022
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 062239/0590 →
PATENT SECURITY AGREEMENT Recorded Dec 24, 2018
From: WIND RIVER SYSTEMS, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 049148/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2011
From: KONING, MAARTEN; EVENSEN, TOMAS
To: WIND RIVER SYSTEMS, INC.
Reel/Frame 025953/0770 →