Patent ID: 7614053

Claim:
A method of managing processor tasks in a multi-processor computing system, comprising: storing the processor tasks in a shared memory that is accessible by a plurality of processing units of the multi-processor computing system; permitting the processing units to determine which of the processor tasks should be executed based on priorities of the processor tasks, wherein the processor tasks that are executed are copied from the shared memory to the local memory of a processing unit; copying a task table from the shared memory to the local memory of a processing unit, the task table including a task table entry associated with each of the processor tasks; modifying the task table entry of a selected one of the processor tasks; linking at least some of the task table entries together to achieve at least one list of the processor tasks to be invoked in hierarchical order; and copying the task table from the local memory of a processing unit to the shared memory to include the modified task table entry in the task table; wherein each of the task table entries includes at least one of: (i) an indication as to whether the associated processor task is ready to be executed by one or more of the processing units; (ii) an indication as to a priority level of the associated processor task; (iii) a pointer to a previous task table entry in a list of task table entries (a previous pointer); and (iv) a pointer to a next task table entry in the list of task table entries.