System, method and program for implementing priority inheritance in an operating system
First Claim
Patent Images
1. A method for implementing priority inheritance in an operating system, comprising:
- receiving a request for a shared resource from a first thread executing at a first priority, wherein the shared resource is held by a second thread that is executing at a second priority, wherein the second priority is less than the first priority;
determining whether a list includes a boost request to boost the priority of the second thread;
generating a boost request to boost the priority of the second thread to the first priority after determining that the list does not include one boost request;
modifying one boost request in the list to boost the priority of the second thread to the first priority in response to determining that the list includes one boost request;
submitting the generated boost request in response to generating the boost request; and
submitting the modified boost request in response to modifying the boost request.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method, system, and program for implementing priority inheritance in an operating system. A first list includes a boost request to boost a priority of an indicated thread holding a shared resource to an indicated priority. Further included is a second list. The system processes the boost request in the first list to boost the priority of the indicated thread to the indicated priority. After boosting priority, the system removes the processed boost request from the first list and places the processed boost request in the second list.
73 Citations
21 Claims
-
1. A method for implementing priority inheritance in an operating system, comprising:
-
receiving a request for a shared resource from a first thread executing at a first priority, wherein the shared resource is held by a second thread that is executing at a second priority, wherein the second priority is less than the first priority;
determining whether a list includes a boost request to boost the priority of the second thread;
generating a boost request to boost the priority of the second thread to the first priority after determining that the list does not include one boost request;
modifying one boost request in the list to boost the priority of the second thread to the first priority in response to determining that the list includes one boost request;
submitting the generated boost request in response to generating the boost request; and
submitting the modified boost request in response to modifying the boost request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for implementing priority inheritance, comprising:
-
(a) a computer system including an operating system, wherein multiple processes including multiple threads are capable of executing within the operating system;
(b) a memory device accessible to the computer system, including a queue;
(c) program logic executed by the computer system to cause the computer system to perform;
(i) receiving a request for a shared resource from a first thread executing at a first priority, wherein the shared resource is held by a second thread that is executing at a second priority, wherein the second priority is less than the first priority;
(ii) determining whether a list includes a boost request to boost the priority of the second thread;
(iii) generating a boost request to boost the priority of the second thread to the first priority after determining that the list does not include one boost request;
(iv) modifying one boost request in the list to boost the priority of the second thread to the first priority in response to determining that the list includes the boost request;
(v) submitting the generated boost request in response to generating the boost request; and
(vi) submitting the modified boost request in response to modifying the boost request. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An article of manufacture for use in programming a computer to implement priority inheritance, the article of manufacture comprising computer usable media including at least one computer program embedded therein that causes the computer to perform:
-
receiving a request for a shared resource from a first thread executing at a first priority, wherein the shared resource is held by a second thread that is executing at a second priority, wherein the second priority is less than the first priority;
determining whether a list includes a boost request to boost the priority of the second thread;
generating a boost request to boost the priority of the second thread to the first priority after determining that the list does not include one boost request;
modifying one boost request in the list to boost the priority of the second thread to the first priority in response to determining that the list includes the boost request;
submitting the generated boost request in response to generating the boost request; and
submitting the modified boost request in response to modifying the boost request. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification