Scheduling execution contexts with critical regions
First Claim
Patent Images
1. A method performed by a scheduler of a process executing on a computer system, the method comprising:
- detecting that a first execution context preempted and blocked by an entity other than the scheduler in a first critical region while executing on a processing resource of the scheduler, the first critical region is a set of instructions in the first execution context whose execution becomes contingent on data corresponding to the processing resource; and
ensuring that the first execution context resumes execution on the processing resource in response to an indication to the scheduler from the entity that caused the block indicating the first execution context becoming unblocked and without the scheduler providing any knowledge of the preemption to the first execution context.
2 Assignments
0 Petitions
Accused Products
Abstract
A scheduler in a process of a computer system detects an execution context that blocked from outside of the scheduler while in a critical region. The scheduler ensures that the execution context resumes execution on the processing resource of the scheduler on which the execution context blocked when the execution context becomes unblocked. The scheduler also prevents another execution context from entering a critical region on the processing resource prior to the blocked execution context becoming unblocked and exiting the critical region.
13 Citations
20 Claims
-
1. A method performed by a scheduler of a process executing on a computer system, the method comprising:
-
detecting that a first execution context preempted and blocked by an entity other than the scheduler in a first critical region while executing on a processing resource of the scheduler, the first critical region is a set of instructions in the first execution context whose execution becomes contingent on data corresponding to the processing resource; and ensuring that the first execution context resumes execution on the processing resource in response to an indication to the scheduler from the entity that caused the block indicating the first execution context becoming unblocked and without the scheduler providing any knowledge of the preemption to the first execution context. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable storage medium storing computer-executable instructions that, when executed by a computer system, perform a method comprising:
-
entering a critical region of a first execution context executing on a first processing resource of a scheduler in a process of the computer system, the critical region is a set of instructions in the first execution context whose execution becomes contingent on data corresponding to the first processing resource; setting a first indicator corresponding to the first execution context in response to entering the critical region; blocking in response to a preemption and block by an entity other than the scheduler subsequent to setting the first indicator; and ensuring that the first execution context resumes execution on the first processing resource in response to an indication to the scheduler from the entity that caused the block indicating the first execution context has become unblocked and without the scheduler providing any knowledge of the preemption to the first execution context. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method performed by a scheduler of a process executing on a computer system, the method comprising:
-
identifying a first execution context that preempted and blocked by an entity other than the scheduler in a first critical region while executing on a processing resource of the scheduler, the first critical region is a set of instructions in the first execution context whose execution becomes contingent on data corresponding to the processing resource; and resuming execution of the first execution context on the processing resource in response to an indication to the scheduler from the entity that caused the block indicating the first execution context has become unblocked and without the scheduler providing any knowledge of the preemption to the first execution context and prior to allowing a second critical region of a second execution context to execute on the processing resource, the second critical region is a set of instructions in the second execution context whose execution becomes contingent on data corresponding to the processing resource. - View Dependent Claims (17, 18, 19, 20)
-
Specification