netdev
[Top] [All Lists]

Re: Tx queueing

To: Andrew Morton <andrewm@xxxxxxxxxx>
Subject: Re: Tx queueing
From: Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx>
Date: Fri, 19 May 2000 18:02:41 -0400
Cc: "netdev@xxxxxxxxxxx" <netdev@xxxxxxxxxxx>
Organization: MandrakeSoft
References: <392407D4.BE586507@xxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
Andrew Morton wrote:
> 
> A number of drivers do this:
> 
> start_xmit()
> {
>         netif_stop_queue()
>         ...
>         if (room for another packet)
>                 netif_wake_queue()
>         ...
> }

Which ones?  They need fixing..


> For devices which have a Tx packet ring or decent FIFO I don't expect
> this to be a problem, because the Tx ISR will call netif_wake_queue()
> and the subsequent BH run will keep stuffing packets into the Tx ring
> until it's full.  But for devices which have very limited Tx buffering
> there may be a lost opportunity to refill the Tx buffer earlier.  Seems
> unlikely to me.

If you do something like that, it seems like it should be dependent on
certain thresholds, not necessarily occurring all the time.  And you'd
want to sync with the Tx reaper called from the interrupt handler, too.

        Jeff




-- 
Jeff Garzik              | Liberty is always dangerous, but
Building 1024            | it is the safest thing we have.
MandrakeSoft, Inc.       |      -- Harry Emerson Fosdick

<Prev in Thread] Current Thread [Next in Thread>