Patent ID: 8006013
Filing Date: 2011-08-23
Classification: G06F

Abstract:
1. A method for preventing livelock in a system having a plurality of processors communicating respectively through a plurality of bus masters to a plurality of IO Controllers across a system bus, the method comprising: a. receiving at an MMIO state machine a plurality of snoop commands issued from the plurality of processors, the state machine having an input queue and an output queue for controlling communication with the system bus; b. identifying a first processor and a second processor from the plurality of processors, each of the first processor and the second processor respectively having a first number of snoop commands in the input queue and a second number of responses in the output queue, the first number and the second number exceeding a threshold for each of the first processor and the second processor; c. issuing a burst prevention response to the first processor and the second processor; d. entering into a backoff mode at each of the first processor and the second processor; and e. inserting a randomized time gap between sequential commands issued from each of the first processor and the second processor during the backoff mode, the randomized gap staggered to avoid concurrent messaging from the first processor and the second processor; f. wherein the threshold defines a snooping command issued between each two consecutive clock cycles of the processor.