×

Efficient priority-aware thread scheduling

  • US 10,606,653 B2
  • Filed: 02/13/2017
  • Issued: 03/31/2020
  • Est. Priority Date: 05/31/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method of prioritizing a plurality of threads, including at least a first thread, a second thread, a third thread, and a fourth thread, each of which is owned by a process and available for being scheduled to be executed on a processor of a device and has a respective priority, the priority of the first thread being higher than the priority of the second thread, the priority of the second thread being higher than the priority of the third thread, and the priority of the third thread being higher than the priority of the fourth thread, the method comprising:

  • allocating a reservation of a first resource to the third thread;

    during the reservation of the first resource by the third thread, receiving a request from the fourth thread for the first resource;

    allocating a reservation of a second resource to the fourth thread;

    during the reservation of the second resource to the fourth thread, receiving a request from the first thread for the second resource;

    detecting a resource conflict comprising a delayed release of the reservation of the second resource by the execution of the fourth thread while the request for the second resource by the first thread is pending; and

    addressing the resource conflict by;

    temporarily elevating the priority of the third thread to a priority that is higher than the priority of the second thread, such that the third thread is scheduled to be executed prior to the second thread;

    in response to the third thread relinquishing the first resource, temporarily elevating the priority of the fourth thread to a priority that is higher than the priority of the second thread, such that the fourth thread is scheduled to be executed prior to the second thread; and

    in response to the fourth thread relinquishing the second resource, schedule the first thread to be executed prior to the second thread.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×