The invention is directed to techniques for moving data elements within a
data communications device which prioritizes handling transmit interrupts
over handling receive interrupts. Preferably, while attending to transmit
interrupts, the device gives priority to the "hungriest" interfaces. In
one arrangement, the device includes multiple network interfaces which are
capable of transmitting and receiving data elements with a network, and a
controller, coupled to the interfaces. The controller is configured to
perform a method comprising the steps of: assigning weights to the
interfaces based on interface transmission capacities and/or the number of
data elements ready for transmission through the interfaces; determining
which of the interfaces indicates readiness to transmit a data element to
the network and which of the interfaces indicates receipt of a data
element from the network; exclusively running, for each interface
indicating readiness to transmit a data element to the network, a transmit
interrupt handler to load that interface with a data element for
transmission if such a data element is available for transmission within
the data communications device (the handling order of the interfaces being
determined by the weights so that the "hungriest" interfaces are handled
first); and after the step of exclusively running transmit interrupt
handlers, running, for at least one interface which indicates receipt of a
data element from the network, a receive interrupt handler to process that
data element and restricting the amount of time consumed running the
receive interrupt handlers before handling transmit interrupts again.
Since the device prioritizes handling transmit interrupts over receive
interrupts in a weighted preferential manner, the device handles transmit
interrupts as early as possible to move data elements quickly to the
interfaces. Accordingly, it is less likely that interfaces will "starve"
for data elements.
L'invenzione è diretta verso le tecniche per lo spostamento degli elementi di dati all'interno di un dispositivo di comunicazioni di dati che dà la priorità al maneggiamento trasmette le interruzioni sopra il maneggiamento riceve le interruzioni. Preferibilmente, mentre assiste per trasmettere le interruzioni, il dispositivo dà la priorità alle interfacce "più affamate". In una disposizione, il dispositivo include le interfacce multiple della rete che sono capaci di trasmettere e di ricezione degli elementi di dati con una rete e un regolatore, accoppiato alle interfacce. Il regolatore è configurato per effettuare un metodo che contiene i punti: _ assegn peso interfaccia bas interfaccia trasmissione capienza e/o numero dato elemento aspettare per trasmissione attraverso interfaccia; determinando quale delle interfacce indicano la prontezza per trasmettere un elemento di dati alla rete e quale delle interfacce indicano la ricevuta di un elemento di dati dalla rete; esclusivamente funzionando, per ogni interfaccia che indica prontezza per trasmettere un elemento di dati alla rete, un alimentatore di interruzione di trasmett al carico che connette con un elemento di dati per la trasmissione se un tal elemento di dati è disponibile per la trasmissione all'interno del dispositivo di comunicazioni di dati (l'ordine di maneggiamento delle interfacce che sono determinate dai pesi in moda da maneggiare le interfacce "più affamate" in primo luogo); e dopo che il punto esclusivamente di funzionare trasmetta gli alimentatori di interruzione, funzionamento, per almeno un'interfaccia che indica la ricevuta di un elemento di dati dalla rete, un alimentatore di interruzione di ricezione al processo che l'elemento di dati e limitare il tempo hanno consumato funzionare gli alimentatori di interruzione di ricezione prima del maneggiamento trasmette ancora le interruzioni. Poiché il dispositivo dà la priorità al maneggiamento trasmetta le interruzioni che l'eccedenza riceve le interruzioni in un modo preferenziale appesantito, le maniglie del dispositivo trasmettono le interruzioni fin da possibile spostare rapidamente gli elementi di dati verso le interfacce. Di conseguenza, è meno probabile che le interfacce vogliono "starve" per gli elementi di dati.