Patent ID: 7917910
Filing Date: 2011-03-29
Classification: G06F

Abstract:
1. A method comprising: interrupting a thread with an interrupt routine during a first critical region; and setting the thread to restart at a beginning of the first critical region in response to an indication that the thread is working in a critical region, wherein the thread is to avoid disabling all interrupts before it enters the first critical region and avoid re-enabling the interrupts after exiting the first critical region, wherein setting the thread to start at the beginning of the first critical region comprises setting a stack pointer and program counter so that the interrupted thread restarts at the beginning of the first critical region, incrementing a count of a number of times the first critical region has been interrupted in response to the first critical region having been previously interrupted, saving program stack conditions of the interrupted thread in response to the thread not having been interrupted during the first critical region more than a maximum permitted number of times, setting a flag to indicate that a critical region is entered, performing critical region interrupt recovery work in response to an indication that the first critical region was previously interrupted, and attempting to complete first critical region work.