Patent ID: 8312224

Claim:
A computer usable program product comprising a computer usable storage medium including computer usable code for recovery in a shared memory data processing environment, the computer usable code comprising: computer usable code for designating a first core in a multi-core processor configuration as a user level core (ULC), wherein the ULC executes an instruction to modify a memory during the course of executing an instruction of an application; computer usable code for designating a second core in the multi-core processor configuration as a operating system core (OSC), wherein the OSC manages checkpointing of a plurality of segments of the shared memory; computer usable code for maintaining a set of flags, the set of flags being accessible to a memory controller, the memory controller managing access to a shared memory in the shared memory data processing environment, a flag in the set of flags corresponding to one segment in the plurality of segments of the shared memory; computer usable code for receiving a message for modification of a cache line in a segment in the plurality of segments; computer usable code for determining, forming a cache line tracking, whether a cache line to be used for the modification has already been used for a similar modification of the segment as requested by the message; computer usable code for sending, responsive to the cache line tracking being negative, an instruction to checkpoint an older version of the cache line in the segment; computer usable code for detecting a successful completion of checkpointing of the older version of the cache line in the segment; and computer usable code for sending an instruction to proceed with the modification requested in the message.