Patent ID: 8429658

Claim:
A method for managing performance of tasks of a thread associated with a processor, comprising the steps of: receiving a request to execute a. task of a first task type within the thread; determining whether the processor is currently executing a critical section of a task of a second task type within the thread; when it is determined that the processor is not executing a critical section of the second task type within the thread, executing the task of the first task type within the thread; and when it is determined that the processor is executing a critical section of the second task type within the thread, determining whether the request for execution of the task of the first task type within the thread is deferrable based on a prior execution of one or more units of the first task type; and suspending execution of the critical section of the second task type within the thread and executing the task of the first task type within the thread, if the request for execution of the task of the first task type within the thread is not deferrable.