Date: Fri, 14 Jun 2013 15:05:16 +0200 From: =?ISO-8859-1?Q?Ermal_Lu=E7i?= <eri@freebsd.org> To: Andre Oppermann <andre@freebsd.org> Cc: freebsd-net <freebsd-net@freebsd.org> Subject: Re: [PATH] ALTQ(9) codel algorithm implementation Message-ID: <CAPBZQG1H1aSmaQo0gh%2B86_rirRwVBRZABsqsJr9UMUnMMCZiAA@mail.gmail.com> In-Reply-To: <51BAF1BA.8000603@freebsd.org> References: <CAPBZQG0XDmybC5tzchFrcf3TZC7uJ0VcKSX-cVMJ%2BsMZUUqWVg@mail.gmail.com> <20130614095125.GQ12443@FreeBSD.org> <51BAF1BA.8000603@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 14, 2013 at 12:34 PM, Andre Oppermann <andre@freebsd.org> wrote: > On 14.06.2013 11:51, Gleb Smirnoff wrote: > >> Ermal, >> >> On Mon, Jun 10, 2013 at 03:43:12PM +0200, Ermal Lu?i wrote: >> E> at location [1] can be found a patch for Codel[3] algorithm >> implementation. >> E> >> E> Triggered by a mail to the mailing lists[2] of OpenBSD i completed the >> E> implementation for FreeBSD. >> E> >> E> It allows to use codel as the single configured discipline on an >> interface. >> E> Also it can be used as a sub discipline of existing queueing >> disciplines >> E> already present. >> E> >> E> The work has been tested and confirmed working without issues in >> pfSense. >> E> >> E> Any objections on pushing this into FreeBSD? >> E> >> E> [1] >> E> https://github.com/pfsense/**pfsense-tools/blob/master/** >> patches/RELENG_10_0/altq_**codel.diff<https://github.com/pfsense/pfsense-tools/blob/master/patches/RELENG_10_0/altq_codel.diff> >> E> [2] http://permalink.gmane.org/**gmane.os.openbsd.tech/29745<http://permalink.gmane.org/gmane.os.openbsd.tech/29745> >> E> [3] http://www.bufferbloat.net/**projects/codel/wiki<http://www.bufferbloat.net/projects/codel/wiki> >> >> I'm afraid we can't grow mbuf packet header with 8 bytes just to satisfy >> the ALTQ codel algo, which would definitely have a limited usage among >> FreeBSD users. Thus, "enqueue_time" should go into mbuf_tags(9) not into >> mbuf packet header. >> > > Agreed. We don't have space for that in the mbuf header. There's some > other > fields that may be repurposed though, the header pointer for example which > is > almost entirely unused. With some updates to the TSO and Checksum offload > mechanism I have in the pipeline the "header" field can be easily > repurposed. > > Though I'm against an "obscure" ALTQ mechanism having its own mbuf header > field > as such. It must be a generic field that can be used by others as well. > > -- > Andre > > Yeah i forgot to clarify that. The initial implementation had the added field in tag of pf but for some reason i did not investigate, and this can be a more deep problem the tag not always made it up to ALTQ. Hence it was put in the mbuf header. I did not find a direct way on why the mbuf tag was lost. Also with codel this does give lots of dropped packet hence i choose this way. I do not like to grow the mbuf tag as well but that was the only consistent way to get this to work reliably. -- Ermal
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPBZQG1H1aSmaQo0gh%2B86_rirRwVBRZABsqsJr9UMUnMMCZiAA>