Patent ID: 6651146
Filing Date: 2003-11-18
Classification: G06F,Y10S

Abstract:
A method of managing a linear list of data elements in a multiprocessor (MP) system without the use of locks comprising the step of:modifying said list, said step of modifying said list further comprising the steps: selectively invoking a first function for adding a data element to said list, said first function including an atomic operation for manipulating pointers of said list; and selectively invoking a second function for removing a data element from said list, said second function including said atomic operation for manipulating pointers of said list, wherein said atomic operation comprises a compare and swap operation on parameters of said list and said compare and swap operation sets a flag bit said flag bit indicating decision paths taken within said compare and swap when executed, and wherein said parameters comprise a plurality of pointer values of said list said plurality of pointer values comprising, data element pointers; a first_ptr, last_ptr, a next_ptr, a block_ptr, a cur_first pointer, and a cur_last pointer, and whereby contention for access to said list is managed without locks if each of a multiplicity of processors of said MP system invoke concurrently a corresponding one of said first function or said second function.