UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
AG HIS
Jobs / Tasks
Courses
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Correctness of the Conversion Matrix for taDOM3

 Held
Lock
 Requested
Lock
 Resulting
Lock
 Description
The held lockIRfor the request ofIRis replaced withIRThis is correct.The already held lock is requested again.
The held lockIRfor the request ofNRis replaced withNRThis is correct.The resulting NR is stronger than the existing IR and requested NR.
The held lockIRfor the request ofLRis replaced withLRThis is correct.The resulting LR is stronger than the existing IR and requested LR.
The held lockIRfor the request ofSRis replaced withSRThis is correct.The resulting SR is stronger than the existing IR and requested SR.
The held lockIRfor the request ofIXis replaced withIXThis is correct.The resulting IX is stronger than the existing IR and requested IX.
The held lockIRfor the request ofNRIXis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing IR and requested NRIX.
The held lockIRfor the request ofCXis replaced withCXThis is correct.The resulting CX is stronger than the existing IR and requested CX.
The held lockIRfor the request ofNRCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing IR and requested NRCX.
The held lockIRfor the request ofNUis replaced withNUThis 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 lockIRfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing IR and requested NX.
The held lockIRfor the request ofSUis replaced withSUThis 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 lockIRfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing IR and requested SX.
The held lockNRfor the request ofIRis replaced withNRThis is correct.The resulting NR is stronger than the existing NR and requested IR.
The held lockNRfor the request ofNRis replaced withNRThis is correct.The already held lock is requested again.
The held lockNRfor the request ofLRis replaced withLRThis is correct.The resulting LR is stronger than the existing NR and requested LR.
The held lockNRfor the request ofSRis replaced withSRThis is correct.The resulting SR is stronger than the existing NR and requested SR.
The held lockNRfor the request ofIXis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing NR and requested IX.
The held lockNRfor the request ofNRIXis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing NR and requested NRIX.
The held lockNRfor the request ofCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NR and requested CX.
The held lockNRfor the request ofNRCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NR and requested NRCX.
The held lockNRfor the request ofNUis replaced withNUThis 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 lockNRfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing NR and requested NX.
The held lockNRfor the request ofSUis replaced withSUThis 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 lockNRfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing NR and requested SX.
The held lockLRfor the request ofIRis replaced withLRThis is correct.The resulting LR is stronger than the existing LR and requested IR.
The held lockLRfor the request ofNRis replaced withLRThis is correct.The resulting LR is stronger than the existing LR and requested NR.
The held lockLRfor the request ofLRis replaced withLRThis is correct.The already held lock is requested again.
The held lockLRfor the request ofSRis replaced withSRThis is correct.The resulting SR is stronger than the existing LR and requested SR.
The held lockLRfor the request ofIXis replaced withNRIXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofNRIXis replaced withNRIXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofCXis replaced withNRCXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofNRCXis replaced withNRCXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofNUis replaced withNUNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofNXis replaced withNXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockLRfor the request ofSUis replaced withSUThis 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 lockLRfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing LR and requested SX.
The held lockSRfor the request ofIRis replaced withSRThis is correct.The resulting SR is stronger than the existing SR and requested IR.
The held lockSRfor the request ofNRis replaced withSRThis is correct.The resulting SR is stronger than the existing SR and requested NR.
The held lockSRfor the request ofLRis replaced withSRThis is correct.The resulting SR is stronger than the existing SR and requested LR.
The held lockSRfor the request ofSRis replaced withSRThis is correct.The already held lock is requested again.
The held lockSRfor the request ofIXis replaced withNRIXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofNRIXis replaced withNRIXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofCXis replaced withNRCXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofNRCXis replaced withNRCXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofNUis replaced withNUSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofNXis replaced withNXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockSRfor the request ofSUis replaced withSUThis 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 lockSRfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing SR and requested SX.
The held lockIXfor the request ofIRis replaced withIXThis is correct.The resulting IX is stronger than the existing IX and requested IR.
The held lockIXfor the request ofNRis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing IX and requested NR.
The held lockIXfor the request ofLRis replaced withNRIXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockIXfor the request ofSRis replaced withNRIXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockIXfor the request ofIXis replaced withIXThis is correct.The already held lock is requested again.
The held lockIXfor the request ofNRIXis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing IX and requested NRIX.
The held lockIXfor the request ofCXis replaced withCXThis is correct.The resulting CX is stronger than the existing IX and requested CX.
The held lockIXfor the request ofNRCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing IX and requested NRCX.
The held lockIXfor the request ofNUis replaced withNXThis is correct.The resulting NX is stronger than the existing IX and requested NU.
The held lockIXfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing IX and requested NX.
The held lockIXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing IX and requested SU.
The held lockIXfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing IX and requested SX.
The held lockNRIXfor the request ofIRis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing NRIX and requested IR.
The held lockNRIXfor the request ofNRis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing NRIX and requested NR.
The held lockNRIXfor the request ofLRis replaced withNRIXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNRIXfor the request ofSRis replaced withNRIXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNRIXfor the request ofIXis replaced withNRIXThis is correct.The resulting NRIX is stronger than the existing NRIX and requested IX.
The held lockNRIXfor the request ofNRIXis replaced withNRIXThis is correct.The already held lock is requested again.
The held lockNRIXfor the request ofCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRIX and requested CX.
The held lockNRIXfor the request ofNRCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRIX and requested NRCX.
The held lockNRIXfor the request ofNUis replaced withNXThis is correct.The resulting NX is stronger than the existing NRIX and requested NU.
The held lockNRIXfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing NRIX and requested NX.
The held lockNRIXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing NRIX and requested SU.
The held lockNRIXfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing NRIX and requested SX.
The held lockCXfor the request ofIRis replaced withCXThis is correct.The resulting CX is stronger than the existing CX and requested IR.
The held lockCXfor the request ofNRis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing CX and requested NR.
The held lockCXfor the request ofLRis replaced withNRCXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockCXfor the request ofSRis replaced withNRCXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockCXfor the request ofIXis replaced withCXThis is correct.The resulting CX is stronger than the existing CX and requested IX.
The held lockCXfor the request ofNRIXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing CX and requested NRIX.
The held lockCXfor the request ofCXis replaced withCXThis is correct.The already held lock is requested again.
The held lockCXfor the request ofNRCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing CX and requested NRCX.
The held lockCXfor the request ofNUis replaced withNXThis is correct.The resulting NX is stronger than the existing CX and requested NU.
The held lockCXfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing CX and requested NX.
The held lockCXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing CX and requested SU.
The held lockCXfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing CX and requested SX.
The held lockNRCXfor the request ofIRis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRCX and requested IR.
The held lockNRCXfor the request ofNRis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRCX and requested NR.
The held lockNRCXfor the request ofLRis replaced withNRCXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNRCXfor the request ofSRis replaced withNRCXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNRCXfor the request ofIXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRCX and requested IX.
The held lockNRCXfor the request ofNRIXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRCX and requested NRIX.
The held lockNRCXfor the request ofCXis replaced withNRCXThis is correct.The resulting NRCX is stronger than the existing NRCX and requested CX.
The held lockNRCXfor the request ofNRCXis replaced withNRCXThis is correct.The already held lock is requested again.
The held lockNRCXfor the request ofNUis replaced withNXThis is correct.The resulting NX is stronger than the existing NRCX and requested NU.
The held lockNRCXfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing NRCX and requested NX.
The held lockNRCXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing NRCX and requested SU.
The held lockNRCXfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing NRCX and requested SX.
The held lockNUfor the request ofIRis replaced withNUThis 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 lockNUfor the request ofNRis replaced withNRThis 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 lockNUfor the request ofLRis replaced withNUNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNUfor the request ofSRis replaced withNUSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNUfor the request ofIXis replaced withNXThis is correct.The resulting NX is stronger than the existing NU and requested IX.
The held lockNUfor the request ofNRIXis replaced withNXThis is correct.The resulting NX is stronger than the existing NU and requested NRIX.
The held lockNUfor the request ofCXis replaced withNXThis is correct.The resulting NX is stronger than the existing NU and requested CX.
The held lockNUfor the request ofNRCXis replaced withNXThis is correct.The resulting NX is stronger than the existing NU and requested NRCX.
The held lockNUfor the request ofNUis replaced withNUThis is correct.The already held lock is requested again.
The held lockNUfor the request ofNXis replaced withNXThis is correct.The resulting NX is stronger than the existing NU and requested NX.
The held lockNUfor the request ofSUis replaced withSUThis 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 lockNUfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing NU and requested SX.
The held lockNXfor the request ofIRis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested IR.
The held lockNXfor the request ofNRis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested NR.
The held lockNXfor the request ofLRis replaced withNXNRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNXfor the request ofSRis replaced withNXSRThis is correct.
Lock request on COIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 CHIRNRLRSRIXNRIXCXNRCXNUNXSUSX
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 lockNXfor the request ofIXis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested IX.
The held lockNXfor the request ofNRIXis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested NRIX.
The held lockNXfor the request ofCXis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested CX.
The held lockNXfor the request ofNRCXis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested NRCX.
The held lockNXfor the request ofNUis replaced withNXThis is correct.The resulting NX is stronger than the existing NX and requested NU.
The held lockNXfor the request ofNXis replaced withNXThis is correct.The already held lock is requested again.
The held lockNXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing NX and requested SU.
The held lockNXfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing NX and requested SX.
The held lockSUfor the request ofIRis replaced withSUThis 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 lockSUfor the request ofNRis replaced withSUThis 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 lockSUfor the request ofLRis replaced withSUThis 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 lockSUfor the request ofSRis replaced withSRThis 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 lockSUfor the request ofIXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested IX.
The held lockSUfor the request ofNRIXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested NRIX.
The held lockSUfor the request ofCXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested CX.
The held lockSUfor the request ofNRCXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested NRCX.
The held lockSUfor the request ofNUis replaced withSUThis 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 lockSUfor the request ofNXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested NX.
The held lockSUfor the request ofSUis replaced withSUThis is correct.The already held lock is requested again.
The held lockSUfor the request ofSXis replaced withSXThis is correct.The resulting SX is stronger than the existing SU and requested SX.
The held lockSXfor the request ofIRis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested IR.
The held lockSXfor the request ofNRis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested NR.
The held lockSXfor the request ofLRis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested LR.
The held lockSXfor the request ofSRis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested SR.
The held lockSXfor the request ofIXis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested IX.
The held lockSXfor the request ofNRIXis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested NRIX.
The held lockSXfor the request ofCXis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested CX.
The held lockSXfor the request ofNRCXis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested NRCX.
The held lockSXfor the request ofNUis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested NU.
The held lockSXfor the request ofNXis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested NX.
The held lockSXfor the request ofSUis replaced withSXThis is correct.The resulting SX is stronger than the existing SX and requested SU.
The held lockSXfor the request ofSXis replaced withSXThis is correct.The already held lock is requested again.