Priority Inheritance in Multithreaded Systems
First Claim
Patent Images
1. A method, comprising:
- at a multithreaded processor, determining that a first task having a first priority is blocked from execution by a second task having a second priority that is lower than the first priority; and
setting a temporary priority of the second task to be equal to an elevated priority that is higher than the second priority, such that in response to the second task being preempted from execution at the multithreaded processor by another task, the second task is rescheduled for execution based on the elevated priority identified by the temporary priority.
2 Assignments
0 Petitions
Accused Products
Abstract
A method includes determining that a first task having a first priority is blocked from execution at a multithreaded processor by a second task having a second priority that is lower than the first priority. A temporary priority of the second task is set to be equal to an elevated priority, such that in response to the second task being preempted from execution by another task, the second task is rescheduled for execution based on the elevated priority identified by the temporary priority.
-
Citations
25 Claims
-
1. A method, comprising:
-
at a multithreaded processor, determining that a first task having a first priority is blocked from execution by a second task having a second priority that is lower than the first priority; and setting a temporary priority of the second task to be equal to an elevated priority that is higher than the second priority, such that in response to the second task being preempted from execution at the multithreaded processor by another task, the second task is rescheduled for execution based on the elevated priority identified by the temporary priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
a multithreaded processor; a memory; and an operating system executable by the multithreaded processor to; determine that a first task having a first priority is blocked from execution at the multithreaded processor by a second task having a second priority that is lower than the first priority; and set a temporary priority of the second task to be equal to an elevated priority that is higher than the second priority, such that in response to the second task being preempted from execution at the multithreaded processor by another task, the second task is rescheduled for execution based on the elevated priority identified by the temporary priority. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An electronic device, comprising:
-
means for scheduling tasks for execution; means for storing scheduling data associated with the scheduled tasks; means for determining that a first task having a first priority is blocked from execution by a second task having a second priority that is lower than the first priority; and means for setting a temporary priority of the second task to be equal to an elevated priority that is higher than the second priority, such that in response to the second task being preempted from execution by another task, the means for scheduling tasks reschedules the second task for execution based on the elevated priority identified by the temporary priority. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-readable non-transitory storage medium comprising instructions that, when executed by a computer, cause the computer to:
-
determine that a first task having a first priority is blocked from execution at a multithreaded processor by a second task having a second priority that is lower than the first priority; and set a temporary priority of the second task to be equal to an elevated priority that is higher than the second priority, such that in response to the second task being preempted from execution at the multithreaded processor by another task, the second task is rescheduled for execution based on the elevated priority identified by the temporary priority. - View Dependent Claims (22, 23, 24, 25)
-
Specification