Method for assigning a multiplicity of interrupt vectors in a symmetric multi-processor computing environment
First Claim
1. In a multi-processor computer system having a multiplicity of peripherals coupled thereto, a method for assigning interrupt vectors from aid multiplicity of peripherals, said method comprising the steps of:
- a. determining if an interrupt resource from a given peripheral has already been assigned, and if not;
b. assigning an affinity and vector to said interrupt resource comprising;
(b1) determining if said interrupt resource is reserved, and if not;
(b2) obtaining an affinity for said interrupt resource from a variable rotating destination set comprising;
(b21) shifting said affinity to the left;
(b22) detecting where said affinity shifts off the end;
(b23) determining the next processor in series available for an interrupt; and
, (b24) returning a value representing the next processor available for an interrupt; and
(b3) obtaining a vector for said interrupt resource from an available vector array;
c. determining if the affinity and vector assigned in the previous step are within an operational characteristic of said multi-processor computer system.
12 Assignments
0 Petitions
Accused Products
Abstract
A method is disclosed for use in a multi-processor computer system having a multiplicity of peripherals coupled thereto. The disclosed method assigns interrupt vectors from the multiplicity of peripherals, and includes the steps of determining if an interrupt resource from a given peripheral has already been assigned, and if not; assigning an affinity and vector to this interrupt resource. Moreover, a determination is made if the affinity and vector assigned in the previous step are within the operational characteristics of the multi-processor computer system.
44 Citations
12 Claims
-
1. In a multi-processor computer system having a multiplicity of peripherals coupled thereto, a method for assigning interrupt vectors from aid multiplicity of peripherals, said method comprising the steps of:
-
a. determining if an interrupt resource from a given peripheral has already been assigned, and if not;
b. assigning an affinity and vector to said interrupt resource comprising;
(b1) determining if said interrupt resource is reserved, and if not;
(b2) obtaining an affinity for said interrupt resource from a variable rotating destination set comprising;
(b21) shifting said affinity to the left;
(b22) detecting where said affinity shifts off the end;
(b23) determining the next processor in series available for an interrupt; and
,(b24) returning a value representing the next processor available for an interrupt; and
(b3) obtaining a vector for said interrupt resource from an available vector array;
c. determining if the affinity and vector assigned in the previous step are within an operational characteristic of said multi-processor computer system. - View Dependent Claims (2, 3, 4, 5, 6)
a. determining if out of vectors, and if not;
b. determining if a vector under consideration has been reserved, and if not;
c. determining if this vector has previously been used on this destination set, and if not;
d. returning this vector for use on this destination set and recording this fact.
-
-
5. The method as in claim 4, wherein it is determined that this vector has previously been used on this destination set, further including the steps of:
-
a. setting the vector to used to a variable, Vector[K];
b. setting a variable Procs[K] to (Procs[K] or Affinity); and
,c. returning this vector as the vector to use.
-
-
6. The method as in claim 1, wherein step c thereof further includes the steps of:
-
a. examining each assigned vector for having an affinity for a given destination set and being at a required level;
b. counting how many assigned vectors are at a given level for a specific destination set;
c. if the count of assigned vectors exceeds a threshold of operational characteristics of said computer system, issuing a warning signal to a user thereof.
-
-
7. A storage medium encoded with machine-readable computer program code for use in a multi-processor system having a multiplicity of peripherals coupled thereto, a method for assigning interrupt vectors from said multiplicity of peripherals, wherein, when the computer program code is executed by a computer, the computer performs the steps of:
-
a. determining if an interrupt resource from a given peripheral has already been assigned, and if not;
b. assigning an affinity and vector to said interrupt resource comprising;
(b1) determining if said interrupt resource is reserved, and if not;
(b2) obtaining an affinity for said interrupt resource from a variable rotating destination set comprising;
(b21) shifting said affinity to the left;
(b22) detecting where said affinity shifts off the end;
(b23) determining the next processor in series available for an interrupt; and
,(b24) returning a value representing the next processor available for an interrupt; and
(b3) obtaining a vector for said interrupt resource from an available vector array;
c. determining if the affinity and vector assigned in the previous step are within an operational characteristic of said multi-processor computer system. - View Dependent Claims (8, 9, 10, 11, 12)
a. determining if out of vectors, and if not;
b. determining if a vector under consideration has been reserved, and if not;
c. determining if this vector has previously been used on this destination set, and if not;
d. returning this vector for use on this destination set and recording this fact.
-
-
11. The storage medium as in claim 10, wherein it is determined that this vector has previously been used on this destination set, further including the steps of:
-
a. setting the vector to used to a variable, Vector[K];
b. setting a variable Procs[K] to (Procs[K] or Affinity); and
,c. returning this vector as the vector to use.
-
-
12. The storage medium as in claim 7, wherein step c thereof further includes the steps of:
-
a. examining each assigned vector for having an affinity for a given destination set and being at a required level;
b. counting how many assigned vectors are at a given level for a specific destination set;
d. if the count of assigned vectors exceeds a threshold of operational characteristics of said computer system, issuing a warning signal to a user thereof.
-
Specification