Skip site navigation (1)Skip section navigation (2)
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>