Re: General question about queuing on hardware devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Henrik Nordstrom wrote:

On Wed, 12 May 2004, Pantelis Antoniou wrote:


I believe that throttling is achieved by netif_stop_queue
when no more hardware buffers are available.

But netif_start_queue is only called on the open driver method.

When is the transmition restarted?


By the driver calling netif_wake_queue() whenever there is buffer space availabe. There is no need to first verify that the queue is stopped as this is explicitly verified by netif_wake_queue().



I see.

By looking at netif_wake_queue I see that a soft irq is scheduled which
will finally call hard_start_xmit.

This brings me to my next question...

I believe that there is some significant latency between the time that
the transmit interrupt signalled the buffer-space-is-available condition
and the time that the hardware buffers are refilled.

Is there a mechanism that I get retreive packets already pending in the
transmit queue so that I can fill the free hardware buffer from within the
transmit interrupt handler?

Regards
Henrik



Regards

Pantelis



-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux