A mechanism is provided for removal of instructions for context re-evaluation. The mechanism receives an external request to perform the instruction remove. In response to this external request, the mechanism next determines when the state of the
system is stable for allowing the instruction remove. Then the mechanism creates a first event to remove a current data instruction in a DMA, if present, and merge it back onto the
list of pending contexts from where it originated. The mechanism waits for feedback that the first event has completed. Then the mechanism creates a second event to remove a pending data instruction that was chosen to be next in the DMA, if present, and merge it back onto the
list of pending contexts from where it originated. Finally the mechanism waits for feedback that the second event has completed. The merging of contexts back onto the pending
list from where they originated aborts any activity related to preparing further data instructions and holds off further decisions about which context to DMA next until the instruction remove procedure is completed and a correct priority decision can be made again. The result of the ability to remove instructions is that the
system can respond to changing conditions on a protocol
bus and be capable of preparing the best DMA instructions possible for optimizing the performance on the protocol
bus.