×

Method and system for deadline inheritance for resource synchronization

  • US 10,628,221 B1
  • Filed: 09/30/2015
  • Issued: 04/21/2020
  • Est. Priority Date: 09/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method to prevent locking of a resource for a specific task comprising:

  • queuing a first task in a queue of tasks to be executed by at least one processor of a system, the first task having a first priority of execution time determined based at least in part on a first execution delay value associated with the first task;

    queuing a second task in the queue of tasks, the second task having a second priority of execution time determined based at least in part on a second execution delay value associated with the second task, the second priority of execution time being earlier than the first priority of execution time;

    queueing a third task in the queue of tasks, the third task having a third priority of execution time determined based at least in part on a third execution delay value associated with the third task, the third priority of execution time being earlier than the first priority of execution time and later than the second priority of execution time, wherein the time when the at least one processor of the system will execute each task is based at least in part on its respective priority of execution time, the respective priority of execution time of each task supplanting a priority associated with each task;

    executing the first task by the at least one processor of the system, wherein the execution of the first task locks a resource on the system;

    executing the second task by the at least one processor of the system, wherein the execution of the second task requires the resource on the system locked by the first task;

    determining that the resource required for execution of the second task is locked by the first task;

    responsive to determining that the resource required for execution of the second task is locked by the first task, promoting the first task having the first priority of execution time to a new priority of execution time at least as early as the second priority of execution time of the second task;

    re-inserting the second task into the queue to wait for the first task to unlock the resource, the re-inserted second task having the second priority of execution time; and

    continuing execution of the first task having the new priority of execution time by the at least one processor of the system, whereby promoting the first task having the first priority of execution time to the new priority of execution time at least as early as the second priority of execution time of the second task inhibits the third task having the third priority of execution time from executing and locking the resource prior to execution of the re-inserted second task having the second priority of execution time by the at least one processor of the system.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×