IP Library Granted Patent US 9,665,508
Granted Patent B2
US 9,665,508 · App. 14/140,585 · Granted May 30, 2017

Method and an apparatus for converting interrupts into scheduled events

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 9,665,508
App. No.
14/140,585
Granted
May 30, 2017
Kind
B2
Abstract

A method and an apparatus embodying the method for converting interrupts into scheduled events, comprising receiving an interrupt at an interrupt controller; determining a vector number for the interrupt; determining properties of an interrupt work in accordance with the vector number; and scheduling the interrupt work in accordance with the properties of the interrupt work, is disclosed.

Claims (36)

1. A method for converting interrupts into scheduled events, comprising:

receiving an interrupt at an interrupt controller;

determining a vector number for the interrupt;

determining a status associated with the vector number;

reading properties of an interrupt work from a table in accordance with the vector number when the determined status is waiting; and

scheduling by a scheduler engine the interrupt work in accordance with the properties of the interrupt work like any other requested work.

2. The method as claimed in claim 1 , further comprising:

delivering the interrupt work to at least one processor core assigned to handle the interrupt work according to the scheduling.

3. The method as claimed in claim 1 , wherein the determining a vector number for the interrupt comprises:

determining whether the interrupt comprises an interrupt number;

using the interrupt number as the vector number when the determining is positive; and

determining the vector number in accordance with a pre-determined processing when the determining is negative.

4. The method as claimed in claim 1 , further comprising:

discarding the interrupt when the status associated with the vector number is pending.

5. The method as claimed in claim 1 , wherein the reading the properties of the interrupt work from a table in accordance with the vector number when the status associated with the vector number is waiting comprises:

reading the properties of the interrupt work from a table located in a main memory.

6. The method as claimed in claim 5 , wherein reading the properties of the interrupt work from a table located in a main memory comprises:

calculating an address in accordance with a base address, a size of the properties of the interrupt work, and the vector number; and

reading the properties of the interrupt work from the table at the calculated address.

7. An apparatus for converting interrupts into scheduled events, comprising:

a hardware interrupt controller configured to receive an interrupt, to determine a vector number for the interrupt, to determine a status associated with the vector number;

a structure, communicatively coupled with the interrupt controller, configured to read properties of an interrupt work from a table in accordance with the vector number when the determined status is waiting; and

a scheduler engine, communicatively coupled to the structure, configured to schedule the interrupt work in accordance with the properties of the work like any other requested work.

8. The apparatus as claimed in claim 7 , further comprising:

at least one processor core, communicatively coupled to the scheduler, assigned to handle the interrupt work according to the schedule.

9. The apparatus as claimed in claim 7 , wherein the hardware interrupt controller determines a vector number for the interrupt by being configured to:

determine whether the interrupt comprises an interrupt number;

use the interrupt number as the vector number when the determining is positive; and

determine the vector number in accordance with a pre-determined processing when the determining is negative.

10. The apparatus as claimed in claim 7 , wherein the hardware interrupt controller is further configured to: discard the interrupt when the status associated with the vector number is pending.

11. The apparatus as claimed in claim 7 , further comprising:

an interface, communicatively coupled with the structure and a main memory; and

wherein the table is located in the main memory.

12. The apparatus as claimed in claim 11 , wherein the interface is configured to:

calculate an address in accordance with a base address, a size of the properties of the interrupt work, and the vector number; and

read the properties of the interrupt work from the table at the calculated address.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2013
From: SNYDER II, WILSON PARKHURST; TIAN, LEI
To: CAVIUM, INC.
Reel/Frame 031847/0029 →