Date: Sun, 06 Jul 2003 17:59:18 +0300 From: Petri Helenius <pete@he.iki.fi> To: Eugene Grosbein <eugen@kuzbass.ru> Cc: net@freebsd.org Subject: Re: ipprecedence Message-ID: <3F083946.9020706@he.iki.fi> In-Reply-To: <3F07EEE6.1E4EBE41@kuzbass.ru> References: <20030703002247.A2097@grosbein.pp.ru> <3F0310CE.5070302@tenebras.com> <3F03867A.79F82968@kuzbass.ru> <20030705123332.A60972@xorpc.icir.org> <3F078E39.ABC0822F@kuzbass.ru> <20030706002402.A58528@xorpc.icir.org> <3F07D3CD.4CC3B317@kuzbass.ru> <20030706021404.A94750@xorpc.icir.org> <3F07EEE6.1E4EBE41@kuzbass.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Eugene Grosbein wrote: >Luigi Rizzo wrote: > > > >> >>How could the scheduler decide when to drain the queue ? >> >> > >It should move packets from zero-bw WFQ pipe the interface FIFO >as soon as possible but should consider weights >(100 packets from one queue then 1 from another and so on). > > > That would not be right because packets that need priority might arrive later than you move non-priority packets into the interface FIFO. The "right" way to do this is like Luigi mentioned, you have a rather short (a few packets, depending on interface/pipe bandwidth) hardware queue and then fill the hardware queue from your scheduling algorithm. If you're lucky enough to have more than one hardware queues, then it becomes an issue of doing the same thing but you can stuff the "bulk" data into the low-priority queue with larger hardware window. Any decent piece of hardware has at least 256 if not 1024 or 4096 transmit and receive descriptors, which is quite a long queue even at 100Mbps. Pete
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F083946.9020706>