Patent ID: 8549524

Claim:
A method for scheduling execution of tasks by a multi-core processor, the method comprising: popping tasks in a system in which a first queue for new tasks and a second queue for suspended tasks are related to a first core having an associated first scheduler, and a third queue for new tasks and a fourth queue for suspended tasks are related to a second core having an associated second scheduler, the tasks having instructions, the new tasks being tasks where none of the instructions have been executed by any of the cores, the suspended tasks being tasks where at least one of the instructions has been executed by any of the cores, including popping suspended tasks from the second queue with the first scheduler to the first core for the first core to execute the suspended tasks; popping new tasks from the first queue with the first scheduler to the first core for the first core to execute the new tasks; popping new tasks from the third queue with the second scheduler to the first core for the first core to execute the new tasks; and popping suspended tasks from the fourth queue with the second scheduler to the first core for the first core to execute the suspended tasks.