A combination of techniques to prevent deadlocks and livelocks in a
computer system having a dispatcher and multiple downstream command
queues. In one embodiment, a broadcast transaction that requires
simultaneously available space in all the affected downstream command
queues becomes a delayed transaction, so that the command queues are
reserved and other transactions are retried until the broadcast
transaction is completed. In another embodiment, a bail-out timer is used
to defer a transaction if the transaction does not complete within a
predetermined time. In yet another embodiment, a locked transaction that
potentially addresses memory space controlled by a programmable attribute
map is handled as a delayed transaction if there is less than a
predetermined amount of downstream buffer space available for the
transaction.
Комбинация методов для того чтобы предотвратить deadlocks и livelocks в системе компьютера имея dispatcher и косы команды многократной цепи downstream. В одном воплощении, заново попытаны трудыы передачи которые требуют одновременно имеющегося космоса в всех повлиянных на downstream косах команды будут задержанными трудыами, так, что косы команды будут reserved и другие трудыы до тех пор пока трудыы передачи не завершить. В другом воплощении, отметчик времени выкупа использован для того чтобы отложить трудыы если трудыы не завершают в пределах предопределенного времени. В yet another воплощении, locked трудыы которые потенциальн адресуют области памяти контролируемый programmable картой атрибута отрегулированы как задержанные трудыы если, то чем предопределенное количество downstream космоса буфера имеющегося для трудыов.