发明名称 Adaptive handling of priority inversions using transactions
摘要 An operating system of a data processing system receives a request from a first process to acquire an exclusive lock for accessing a resource of the data processing system. A second priority of a second process is increased to reduce total execution time. The second process is currently in possession of the exclusive lock for performing a transactional operation with the resource. The second priority was lower than a first priority of the first process. The operating system notifies the second process to indicate that another process is waiting for the exclusive lock to allow the second process to complete or roll back the transactional operation and to release the exclusive lock thereafter.
申请公布号 US9400677(B2) 申请公布日期 2016.07.26
申请号 US201313893631 申请日期 2013.05.14
申请人 Apple Inc. 发明人 Trumbull Benjamin C.;Swift Adam C.;Blaine Russell A.;Nham Benjamin H.;Christianson Kari E.
分类号 G06F9/46;G06F9/52 主分类号 G06F9/46
代理机构 Blakely, Sokoloff, Taylor & Zafman LLP 代理人 Blakely, Sokoloff, Taylor & Zafman LLP
主权项 1. A computer-implemented method, comprising: receiving, at a resource manager of an operating system of a data processing system, a request from a first process to acquire an exclusive lock for accessing a resource of the data processing system, the first process having a first priority; increasing by a priority manager of the operating system a second priority of a second process to reduce total lock hold time of the second process, the second process currently in possession of the exclusive lock for performing a transactional operation with the resource, wherein the second priority was lower than the first priority of the first process, wherein the first process and the second process are running within the data processing system; notifying the second process by the resource manager to indicate that another process is waiting for the exclusive lock, including setting a flag to a predetermined value in a predetermined memory location accessible by the second process, wherein the second process is to periodically poll the predetermined memory location to determine whether another process is waiting for the exclusive lock, wherein in response to the notification, the second process can decide whether to complete or roll back the transactional operation and to release the exclusive lock thereafter; receiving, by the resource manager, an indication that the second process has released the lock in response to the notification; and allocating the lock to the first process to allow the first process to access the resource.
地址 Cupertino CA US