| Held Lock | | Requested Lock | | Resulting Lock | | Description |
The held lock | IR | for the request of | IR | is replaced with | IR | This is correct. | The already held lock is requested again. |
The held lock | IR | for the request of | NR | is replaced with | NR | This is correct. | The resulting NR is stronger than the existing IR and requested NR.
|
The held lock | IR | for the request of | LR | is replaced with | LR | This is correct. | The resulting LR is stronger than the existing IR and requested LR.
|
The held lock | IR | for the request of | SR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing IR and requested SR.
|
The held lock | IR | for the request of | IX | is replaced with | IX | This is correct. | The resulting IX is stronger than the existing IR and requested IX.
|
The held lock | IR | for the request of | NRIX | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing IR and requested NRIX.
|
The held lock | IR | for the request of | CX | is replaced with | CX | This is correct. | The resulting CX is stronger than the existing IR and requested CX.
|
The held lock | IR | for the request of | NRCX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing IR and requested NRCX.
|
The held lock | IR | for the request of | NU | is replaced with | NU | This is correct. | The resulting NU is stronger than the existing IR and requested NU. The resulting lock NU can be graded down to NR (in case of a further NR request) but NR is still stronger than the existing IR. |
The held lock | IR | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing IR and requested NX.
|
The held lock | IR | for the request of | SU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing IR and requested SU. The resulting lock SU can be graded down to SR (in case of a further SR request) but SR is still stronger than the existing IR. |
The held lock | IR | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing IR and requested SX.
|
The held lock | NR | for the request of | IR | is replaced with | NR | This is correct. | The resulting NR is stronger than the existing NR and requested IR.
|
The held lock | NR | for the request of | NR | is replaced with | NR | This is correct. | The already held lock is requested again. |
The held lock | NR | for the request of | LR | is replaced with | LR | This is correct. | The resulting LR is stronger than the existing NR and requested LR.
|
The held lock | NR | for the request of | SR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing NR and requested SR.
|
The held lock | NR | for the request of | IX | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing NR and requested IX.
|
The held lock | NR | for the request of | NRIX | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing NR and requested NRIX.
|
The held lock | NR | for the request of | CX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NR and requested CX.
|
The held lock | NR | for the request of | NRCX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NR and requested NRCX.
|
The held lock | NR | for the request of | NU | is replaced with | NU | This is correct. | The resulting NU is stronger than the existing NR and requested NU. The resulting lock NU can be graded down to NR (in case of a further NR request) but NR is still stronger than the existing NR. |
The held lock | NR | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NR and requested NX.
|
The held lock | NR | for the request of | SU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing NR and requested SU. The resulting lock SU can be graded down to SR (in case of a further SR request) but SR is still stronger than the existing NR. |
The held lock | NR | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NR and requested SX.
|
The held lock | LR | for the request of | IR | is replaced with | LR | This is correct. | The resulting LR is stronger than the existing LR and requested IR.
|
The held lock | LR | for the request of | NR | is replaced with | LR | This is correct. | The resulting LR is stronger than the existing LR and requested NR.
|
The held lock | LR | for the request of | LR | is replaced with | LR | This is correct. | The already held lock is requested again. |
The held lock | LR | for the request of | SR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing LR and requested SR.
|
The held lock | LR | for the request of | IX | is replaced with | NRIXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: IX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | + | - | - | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: IX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | NRIX | is replaced with | NRIXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: NRIX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | - | - | - | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: NRIX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | CX | is replaced with | NRCXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: CX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | + | - | - | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: CX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | NRCX | is replaced with | NRCXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: NRCX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | - | - | - | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: NRCX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | NU | is replaced with | NUNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: NU on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Locks after conversion: NU on CO, NR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: NU on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NU on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | NX | is replaced with | NXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Requested lock before conversion: NX on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Locks after conversion: NX on CO, NR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Requested lock before conversion: NX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | LR | for the request of | SU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing LR and requested SU. The resulting lock SU can be graded down to SR (in case of a further SR request) but SR is still stronger than the existing LR. |
The held lock | LR | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing LR and requested SX.
|
The held lock | SR | for the request of | IR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing SR and requested IR.
|
The held lock | SR | for the request of | NR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing SR and requested NR.
|
The held lock | SR | for the request of | LR | is replaced with | SR | This is correct. | The resulting SR is stronger than the existing SR and requested LR.
|
The held lock | SR | for the request of | SR | is replaced with | SR | This is correct. | The already held lock is requested again. |
The held lock | SR | for the request of | IX | is replaced with | NRIXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: IX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | + | - | - | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: IX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | NRIX | is replaced with | NRIXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: NRIX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | - | - | - | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: NRIX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | CX | is replaced with | NRCXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: CX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | + | - | - | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: CX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | NRCX | is replaced with | NRCXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: NRCX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | - | - | - | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: NRCX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | NU | is replaced with | NUSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: NU on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Locks after conversion: NU on CO, SR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: NU on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NU on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | NX | is replaced with | NXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Requested lock before conversion: NX on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Locks after conversion: NX on CO, SR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Requested lock before conversion: NX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Locks after conversion: NX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | SR | for the request of | SU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing SR and requested SU. The resulting lock SU can be graded down to SR (in case of a further SR request) but SR is still stronger than the existing SR. |
The held lock | SR | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SR and requested SX.
|
The held lock | IX | for the request of | IR | is replaced with | IX | This is correct. | The resulting IX is stronger than the existing IX and requested IR.
|
The held lock | IX | for the request of | NR | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing IX and requested NR.
|
The held lock | IX | for the request of | LR | is replaced with | NRIXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: IX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | + | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: IX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | IX | for the request of | SR | is replaced with | NRIXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: IX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | + | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: IX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | IX | for the request of | IX | is replaced with | IX | This is correct. | The already held lock is requested again. |
The held lock | IX | for the request of | NRIX | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing IX and requested NRIX.
|
The held lock | IX | for the request of | CX | is replaced with | CX | This is correct. | The resulting CX is stronger than the existing IX and requested CX.
|
The held lock | IX | for the request of | NRCX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing IX and requested NRCX.
|
The held lock | IX | for the request of | NU | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing IX and requested NU.
|
The held lock | IX | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing IX and requested NX.
|
The held lock | IX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing IX and requested SU.
|
The held lock | IX | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing IX and requested SX.
|
The held lock | NRIX | for the request of | IR | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing NRIX and requested IR.
|
The held lock | NRIX | for the request of | NR | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing NRIX and requested NR.
|
The held lock | NRIX | for the request of | LR | is replaced with | NRIXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRIX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | - | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRIX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NRIX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | NRIX | for the request of | SR | is replaced with | NRIXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRIX on CO, no lock on CH | + | + | + | - | + | + | + | + | + | - | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRIX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NRIX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | NRIX | for the request of | IX | is replaced with | NRIX | This is correct. | The resulting NRIX is stronger than the existing NRIX and requested IX.
|
The held lock | NRIX | for the request of | NRIX | is replaced with | NRIX | This is correct. | The already held lock is requested again. |
The held lock | NRIX | for the request of | CX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRIX and requested CX.
|
The held lock | NRIX | for the request of | NRCX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRIX and requested NRCX.
|
The held lock | NRIX | for the request of | NU | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NRIX and requested NU.
|
The held lock | NRIX | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NRIX and requested NX.
|
The held lock | NRIX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NRIX and requested SU.
|
The held lock | NRIX | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NRIX and requested SX.
|
The held lock | CX | for the request of | IR | is replaced with | CX | This is correct. | The resulting CX is stronger than the existing CX and requested IR.
|
The held lock | CX | for the request of | NR | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing CX and requested NR.
|
The held lock | CX | for the request of | LR | is replaced with | NRCXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: CX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | + | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: CX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | CX | for the request of | SR | is replaced with | NRCXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: CX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | + | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: CX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | CX | for the request of | IX | is replaced with | CX | This is correct. | The resulting CX is stronger than the existing CX and requested IX.
|
The held lock | CX | for the request of | NRIX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing CX and requested NRIX.
|
The held lock | CX | for the request of | CX | is replaced with | CX | This is correct. | The already held lock is requested again. |
The held lock | CX | for the request of | NRCX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing CX and requested NRCX.
|
The held lock | CX | for the request of | NU | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing CX and requested NU.
|
The held lock | CX | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing CX and requested NX.
|
The held lock | CX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing CX and requested SU.
|
The held lock | CX | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing CX and requested SX.
|
The held lock | NRCX | for the request of | IR | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRCX and requested IR.
|
The held lock | NRCX | for the request of | NR | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRCX and requested NR.
|
The held lock | NRCX | for the request of | LR | is replaced with | NRCXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRCX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | - | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Ok | +
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRCX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NRCX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | NRCX | for the request of | SR | is replaced with | NRCXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRCX on CO, no lock on CH | + | + | - | - | + | + | + | + | + | - | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRIX results from conversion: IR and NRIX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NR and IX: | NR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRIX: | NR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | LR and IX: | LR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRIX: | LR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | SR and IX: | SR on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRIX: | SR on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | IX and LR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | IX and SR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRIX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IR: | NRIX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRIX and NR: | NRIX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and LR: | NRIX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and SR: | NRIX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and IX: | NRIX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRIX: | NRIX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | +
Acceptable ? NRCX results from conversion: IR and NRCX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NR and CX: | NR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NR and NRCX: | NR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | LR and CX: | LR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | LR and NRCX: | LR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | SR and CX: | SR on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | SR and NRCX: | SR on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | IX and NRCX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRIX and CX: | NRIX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRIX and NRCX: | NRIX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | CX and LR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | CX and SR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRIX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | CX and NRCX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IR: | NRCX on CO requested from
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | NRCX and NR: | NRCX on CO requested from
All blocked.
| NR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and LR: | NRCX on CO requested from
All blocked.
| LR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and SR: | NRCX on CO requested from
All blocked.
| SR on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and IX: | NRCX on CO requested from
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRIX: | NRCX on CO requested from
All blocked.
| NRIX on CO requested from
All blocked.
| | At least one completely blocked. | NRCX and CX: | NRCX on CO requested from
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | NRCX and NRCX: | NRCX on CO requested from
All blocked.
| NRCX on CO requested from
All blocked.
| | At least one completely blocked. |
Ok | +
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NRCX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NRCX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | NRCX | for the request of | IX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRCX and requested IX.
|
The held lock | NRCX | for the request of | NRIX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRCX and requested NRIX.
|
The held lock | NRCX | for the request of | CX | is replaced with | NRCX | This is correct. | The resulting NRCX is stronger than the existing NRCX and requested CX.
|
The held lock | NRCX | for the request of | NRCX | is replaced with | NRCX | This is correct. | The already held lock is requested again. |
The held lock | NRCX | for the request of | NU | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NRCX and requested NU.
|
The held lock | NRCX | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NRCX and requested NX.
|
The held lock | NRCX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NRCX and requested SU.
|
The held lock | NRCX | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NRCX and requested SX.
|
The held lock | NU | for the request of | IR | is replaced with | NU | This is correct. | The resulting NU is stronger than the existing NU and requested IR. The resulting lock NU can be graded down to NR (in case of a further NR request), NR is not stronger than the existing NU but this is an intended downgrade. |
The held lock | NU | for the request of | NR | is replaced with | NR | This is correct. | Although the resulting lock NR is not stronger than the held lock NU, this lock conversion is correct because this situation is a intended downgrade from NU to NR. |
The held lock | NU | for the request of | LR | is replaced with | NUNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NU on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NU on CO, NR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NU on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NU on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | NU | for the request of | SR | is replaced with | NUSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NU on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NU on CO, SR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NU on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NU on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | NU | for the request of | IX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NU and requested IX.
|
The held lock | NU | for the request of | NRIX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NU and requested NRIX.
|
The held lock | NU | for the request of | CX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NU and requested CX.
|
The held lock | NU | for the request of | NRCX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NU and requested NRCX.
|
The held lock | NU | for the request of | NU | is replaced with | NU | This is correct. | The already held lock is requested again. |
The held lock | NU | for the request of | NX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NU and requested NX.
|
The held lock | NU | for the request of | SU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing NU and requested SU. The resulting lock SU can be graded down to SR (in case of a further SR request), SR is not stronger than the existing NU but this is an intended downgrade. |
The held lock | NU | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NU and requested SX.
|
The held lock | NX | for the request of | IR | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested IR.
|
The held lock | NX | for the request of | NR | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested NR.
|
The held lock | NX | for the request of | LR | is replaced with | NXNR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NX on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | - | - | + | - | + | - | Locks after conversion: NX on CO, NR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH unblocked NRIX on CH unblocked CX on CH unblocked NRCX on CH unblocked
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: LR on CO, no lock on CH | + | + | + | + | + | + | + | + | + | - CX on CO for NX on CH incomp. to LR on CO | + | - CX on CO for SX on CH incomp. to LR on CO | Locks after conversion: NX on CO, NR on CH | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | +
Ok | - NX on CH incomp. to NR on CH
Ok | +
Ok | - SX on CH incomp. to NR on CH
Ok |
|
The held lock | NX | for the request of | SR | is replaced with | NXSR | This is correct. | Lock request on CO | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NX on CO, no lock on CH | + | - | - | - | + | - | + | - | - | - | - | - | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - | - | - | - | + | - | + | - | Locks after conversion: NX on CO, SR on CH | +
Ok | -
Ok | -
Ok | -
Ok | +
Acceptable ? IX results from conversion: IR and IX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | IX and IR: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | IX and IX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | +
Acceptable ? CX results from conversion: IR and CX: | IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | IX and CX: | IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. | CX and IR: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IR on CO requested from IR on CH unblocked NR on CH unblocked LR on CH unblocked SR on CH unblocked NU on CH unblocked SU on CH unblocked
| | At least one completely blocked. | CX and IX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| IX on CO requested from IX on CH blocked NRIX on CH blocked CX on CH blocked NRCX on CH blocked
All blocked.
| | At least one completely blocked. | CX and CX: | CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| CX on CO requested from NX on CH blocked SX on CH blocked
All blocked.
| | At least one completely blocked. |
Ok | -
Ok | -
Ok | -
Ok | -
Ok | -
Ok |
Lock request on CH | IR | NR | LR | SR | IX | NRIX | CX | NRCX | NU | NX | SU | SX | Held lock before conversion: NX on CO, no lock on CH | + | + | + | + | + | + | + | + | + | + | + | + | Requested lock before conversion: SR on CO, no lock on CH | + | + | + | + | - IX on CO for IX on CH incomp. to SR on CO | - IX on CO for NRIX on CH incomp. to SR on CO | - IX on CO for CX on CH incomp. to SR on CO | - IX on CO for NRCX on CH incomp. to SR on CO | + | - CX on CO for NX on CH incomp. to SR on CO | + | - CX on CO for SX on CH incomp. to SR on CO | Locks after conversion: NX on CO, SR on CH | +
Ok | +
Ok | +
Ok | +
Ok | - IX on CH incomp. to SR on CH
Ok | - NRIX on CH incomp. to SR on CH
Ok | - CX on CH incomp. to SR on CH
Ok | - NRCX on CH incomp. to SR on CH
Ok | +
Ok | - NX on CH incomp. to SR on CH
Ok | +
Ok | - SX on CH incomp. to SR on CH
Ok |
|
The held lock | NX | for the request of | IX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested IX.
|
The held lock | NX | for the request of | NRIX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested NRIX.
|
The held lock | NX | for the request of | CX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested CX.
|
The held lock | NX | for the request of | NRCX | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested NRCX.
|
The held lock | NX | for the request of | NU | is replaced with | NX | This is correct. | The resulting NX is stronger than the existing NX and requested NU.
|
The held lock | NX | for the request of | NX | is replaced with | NX | This is correct. | The already held lock is requested again. |
The held lock | NX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NX and requested SU.
|
The held lock | NX | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing NX and requested SX.
|
The held lock | SU | for the request of | IR | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing SU and requested IR. The resulting lock SU can be graded down to SR (in case of a further SR request), SR is not stronger than the existing SU but this is an intended downgrade. |
The held lock | SU | for the request of | NR | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing SU and requested NR. The resulting lock SU can be graded down to SR (in case of a further SR request), SR is not stronger than the existing SU but this is an intended downgrade. |
The held lock | SU | for the request of | LR | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing SU and requested LR. The resulting lock SU can be graded down to SR (in case of a further SR request), SR is not stronger than the existing SU but this is an intended downgrade. |
The held lock | SU | for the request of | SR | is replaced with | SR | This is correct. | Although the resulting lock SR is not stronger than the held lock SU, this lock conversion is correct because this situation is a intended downgrade from SU to SR. |
The held lock | SU | for the request of | IX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested IX.
|
The held lock | SU | for the request of | NRIX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested NRIX.
|
The held lock | SU | for the request of | CX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested CX.
|
The held lock | SU | for the request of | NRCX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested NRCX.
|
The held lock | SU | for the request of | NU | is replaced with | SU | This is correct. | The resulting SU is stronger than the existing SU and requested NU. The resulting lock SU can be graded down to SR (in case of a further SR request), SR is not stronger than the existing SU but this is an intended downgrade. |
The held lock | SU | for the request of | NX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested NX.
|
The held lock | SU | for the request of | SU | is replaced with | SU | This is correct. | The already held lock is requested again. |
The held lock | SU | for the request of | SX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SU and requested SX.
|
The held lock | SX | for the request of | IR | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested IR.
|
The held lock | SX | for the request of | NR | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested NR.
|
The held lock | SX | for the request of | LR | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested LR.
|
The held lock | SX | for the request of | SR | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested SR.
|
The held lock | SX | for the request of | IX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested IX.
|
The held lock | SX | for the request of | NRIX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested NRIX.
|
The held lock | SX | for the request of | CX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested CX.
|
The held lock | SX | for the request of | NRCX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested NRCX.
|
The held lock | SX | for the request of | NU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested NU.
|
The held lock | SX | for the request of | NX | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested NX.
|
The held lock | SX | for the request of | SU | is replaced with | SX | This is correct. | The resulting SX is stronger than the existing SX and requested SU.
|
The held lock | SX | for the request of | SX | is replaced with | SX | This is correct. | The already held lock is requested again. |