Deadlock avoidance skid buffer
First Claim
Patent Images
1. A method for avoiding deadlock during request processing, comprising:
- determining a deadlock condition exists that prevents processing of queued requests received from a first processing unit, wherein the first processing unit is configured to reflect requests that access an addressable location in a system memory to a second processing unit to produce at least a portion of the queued requests, wherein the first processing unit receives address translation information for the requests from the second processing unit;
enabling additional entries to accept additional requests from the first processing unit and remove the deadlock condition;
processing the queued requests; and
disabling the additional entries after the additional requests are output from the additional entries and the additional entries are empty.
1 Assignment
0 Petitions
Accused Products
Abstract
Under some conditions, requests transmitted between different devices in a computing system may be blocked in a way that prevents the request from being processed, resulting in a deadlock condition. A skid buffer is used to allow additional requests to be queued in order to remove the blockage and end the deadlock condition. Once the deadlock condition is removed, the requests are processed and the additional buffer entries in the skid buffer are disabled.
25 Citations
20 Claims
-
1. A method for avoiding deadlock during request processing, comprising:
-
determining a deadlock condition exists that prevents processing of queued requests received from a first processing unit, wherein the first processing unit is configured to reflect requests that access an addressable location in a system memory to a second processing unit to produce at least a portion of the queued requests, wherein the first processing unit receives address translation information for the requests from the second processing unit; enabling additional entries to accept additional requests from the first processing unit and remove the deadlock condition; processing the queued requests; and disabling the additional entries after the additional requests are output from the additional entries and the additional entries are empty. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for avoiding deadlock during request processing, comprising:
-
determining a deadlock condition exists that prevents processing of queued requests received from a first processing unit, wherein the deadlock condition exists when a video processing unit outputs a peer-to-peer request that accesses an addressable location in a system memory to the first processing unit and the peer-to-peer request is reflected by the first processing unit to a graphics processor for address translation; enabling additional entries to accept additional requests from the first processing unit and remove the deadlock condition; processing the queued requests; and disabling the additional entries after the additional requests are output from the additional entries and the additional entries are empty.
-
-
11. A system for avoiding deadlock during request processing, comprising:
-
a first processing unit configured to output requests; and a skid buffer coupled to the first processing unit and configured to receive the requests, the skid buffer comprising; an incoming request FIFO configured to store queued requests received from the first processing unit; skid FIFO entries coupled to the incoming request FIFO and configured to store additional requests received from the first processing unit and output the additional requests to the incoming request FIFO; and a deadlock detection unit coupled to the incoming request FIFO and the skid FIFO entries and configured to determine a deadlock condition exists that prevents the queued requests from being output, enable the skid FIFO entries to accept the additional requests and remove the deadlock condition, and disable the skid FIFO entries after the additional requests are output from the skid FIFO entries to the incoming request FIFO and the skid FIFO entries are empty. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification