Patent ID: 7159220
Filing Date: 2007-01-02
Classification: G06F

Abstract:
1. A method comprising: utilizing a monitor to control access by competing threads executed by a plurality of processors to a shared resource, said monitor having a data structure to process lock requests, said data structure comprises an extension field to keep a count of unique thread accesses in a given time period; storing a number of unique requests for a lock by contending threads in the given time period as said count; determining whether said count exceeds a threshold of contention to identify said lock as a “highly contended” lock; retaining said count if said count does not exceed said threshold; and setting a flag variable in memory accessible by a processor of the plurality of processors not gaining access to said lock, and subsequently modifying said flag variable during a bus snoop cycle to grant access to the processor that did not gain access when a prior processor of the plurality of processors releases said lock, wherein said processor that did not gain access remains in a spin loop and will not generate bus traffic until the subsequent modifying of said flag variable.