Browse Prior Art Database

Storage Interlock Recovery

IP.com Disclosure Number: IPCOM000041670D
Original Publication Date: 1984-Feb-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

McGilvray, BL: AUTHOR [+2]

Abstract

A multiple Central Processor (CP) system with store-in caches can create a deadlock if two CPs are requesting data locked in each other's caches. The system can detect, and recover from, a deadlock and continue processing. CP(A) will signal the Service Processor via an interrupt when it is suspected that the CP is hung waiting for data that is locked in CP(B). A true deadlock condition exists if CP(B) contains data that CP(A) is waiting for and CP(B) becomes hung waiting for data locked in CP(A). The Service Processor microcode, when it receives the soft interrupt, will test to see if another CP has an interrupt. If none exists, the first interrupt is ignored as a false signal. If another does exist, then the microcode will test the CPs to verify they are hung.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 66% of the total text.

Page 1 of 1

Storage Interlock Recovery

A multiple Central Processor (CP) system with store-in caches can create a deadlock if two CPs are requesting data locked in each other's caches. The system can detect, and recover from, a deadlock and continue processing. CP(A) will signal the Service Processor via an interrupt when it is suspected that the CP is hung waiting for data that is locked in CP(B). A true deadlock condition exists if CP(B) contains data that CP(A) is waiting for and CP(B) becomes hung waiting for data locked in CP(A). The Service Processor microcode, when it receives the soft interrupt, will test to see if another CP has an interrupt. If none exists, the first interrupt is ignored as a false signal. If another does exist, then the microcode will test the CPs to verify they are hung. This is done by setting a hardware trigger ON in the CP which should cause the CP to return a NOT HUNG interrupt. If the NOT HUNG interrupt is not returned, the CP is hung. If the CP is not hung, the interrupt is ignored. If it is hung, the same test is applied to the other CP. If just one CP is stalled, it is handled as a stalled CP and the other CP interrupt is ignored as a false signal. If both CPs have an interrupt and are hung, the service processor then tests a trigger in the CP to see if the processor is retriable. If one of the CPs is retriable, that CP is stopped, brought back to a checkpoint and restarted. This process includes a purge of the cache to free data to main...