Patent ID: 7487503

Claim:
A method of scheduling threads in a multiprocessor computer, the method comprising: selecting a thread in a ready queue; determining whether an interrupt mask flag is set in a thread control block associated with the thread; maintaining a count of the number of processors in the multiprocessor computer having a current processor priority register set to least favored; if the interrupt mask flag is set in the thread control block associated with the thread, selecting one of the processors of the multiprocessor computers including comparing the count of the number of processors having a current processor priority register set to least favored to a threshold value and if the count of the number of processors having said current processor priority register set to least favored is less than the threshold value, selecting one of the processors of the multiprocessor computers having said current processor priority register not set to least favored; dynamically updating the threshold value; setting said current processor priority register of the selected processor to least favored including storing a value associated with the highest interrupt priority in the current processor priority register; dispatching the thread from the ready queue to the selected processor; and setting the current processor priority register of the selected processor to a value other than least favored when the thread leaves the selected processor.