METHOD AND APPARATUS TO IMPLEMENT SOFTWARE TO HARDWARE THREAD PRIORITY
First Claim
1. A method for execution scheduling of a program thread of an application program and executing the scheduled program thread on a data processing system, the method comprising:
- providing an application program thread priority to a thread execution scheduler;
normalizing the application program thread priority using an increment function, wherein the increment function is executed by the thread execution scheduler;
decoding the normalized application program thread priority into a data processor priority count using a decoder, wherein the decoder is programmable to achieve a desired thread performance;
inserting the program thread into a thread execution queue within the thread execution scheduler, wherein the program thread is inserted into the thread execution queue based on the data processor priority count;
setting a program thread bit in the thread execution queue, wherein the program thread bit is uniquely associated with the program thread;
selecting for execution the program thread from a plurality of program threads inserted into the thread execution queue, wherein the program thread is selected for execution using a round-robin selection scheme, and wherein the round-robin selection scheme selects the program thread based on an execution priority associated with the program thread bit;
placing the program thread in a data processing execution queue within the data processing system; and
removing the program thread from the thread execution queue after a successful execution of the program thread by the data processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a method and apparatus for execution scheduling of a program thread of an application program and executing the scheduled program thread on a data processing system. The method includes: providing an application program thread priority to a thread execution scheduler; selecting for execution the program thread from a plurality of program threads inserted into the thread execution queue, wherein the program thread is selected for execution using a round-robin selection scheme, and wherein the round-robin selection scheme selects the program thread based on an execution priority associated with the program thread bit; placing the program thread in a data processing execution queue within the data processing system; and removing the program thread from the thread execution queue after a successful execution of the program thread by the data processing system.
16 Citations
1 Claim
-
1. A method for execution scheduling of a program thread of an application program and executing the scheduled program thread on a data processing system, the method comprising:
-
providing an application program thread priority to a thread execution scheduler; normalizing the application program thread priority using an increment function, wherein the increment function is executed by the thread execution scheduler; decoding the normalized application program thread priority into a data processor priority count using a decoder, wherein the decoder is programmable to achieve a desired thread performance; inserting the program thread into a thread execution queue within the thread execution scheduler, wherein the program thread is inserted into the thread execution queue based on the data processor priority count; setting a program thread bit in the thread execution queue, wherein the program thread bit is uniquely associated with the program thread; selecting for execution the program thread from a plurality of program threads inserted into the thread execution queue, wherein the program thread is selected for execution using a round-robin selection scheme, and wherein the round-robin selection scheme selects the program thread based on an execution priority associated with the program thread bit; placing the program thread in a data processing execution queue within the data processing system; and removing the program thread from the thread execution queue after a successful execution of the program thread by the data processing system.
-
Specification