Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jun 2002 09:07:19 -0700
From:      Luigi Rizzo <rizzo@icir.org>
To:        Lars Eggert <larse@ISI.EDU>
Cc:        net@FreeBSD.ORG
Subject:   Re: Dummynet WFQ
Message-ID:  <20020604090719.A88701@iguana.icir.org>
In-Reply-To: <3CFCE1CF.2070001@isi.edu>; from larse@ISI.EDU on Tue, Jun 04, 2002 at 08:50:39AM -0700
References:  <3CFB9BC4.9080506@isi.edu> <20020603122913.A78688@iguana.icir.org> <3CFCE101.3040108@isi.edu> <3CFCE1CF.2070001@isi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Most device drivers batch transmissions, but if you use the interface
as a clock for the pipe, dummynet will only send a single packet
at a time to the device, so you won't have to bother about the
batching.

The overhead is in the fact that if_tx_rdy() has to scan all pipes
to find the one who needs the signal. Polling won't help on this,
whereas it would to have a direct pointer from the interface to the pipe
(but we'd need to extend the struct ifnet, and do the appropriate
garbage collection when interfaces and/or pipes are added/deleted).

BTW if you use polling, you have to be careful in the place where you
put the call to if_tx_rdy() to make sure that it catches the tx queue
becoming empty only once and not at every polling cycle.

	cheers
	luigi

p.s. the soekris boxes are becoming popular, aren't they!


On Tue, Jun 04, 2002 at 08:50:39AM -0700, Lars Eggert wrote:
> Lars Eggert wrote:
> > I'm trying to merge this into the sis driver, which seems to batch 
> > transmissions together. For clarification, do you expect one if_tx_rdy() 
> >  call per packet or one per batch? Per packet may result in a burst of 
> > these calls, does dummynet handle this?
> 
> Oh, I'm also using your "polling" version of the sis driver - maybe 
> that'd reduce the overhead of if_tx_rdy() you mentioned?
> 
> Lars
> -- 
> Lars Eggert <larse@isi.edu>           USC Information Sciences Institute



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020604090719.A88701>