Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2018 13:30:51 -0400
From:      Patrick Kelsey <pkelsey@freebsd.org>
To:        se@freebsd.org
Cc:        svn-src-head@freebsd.org
Subject:   Re: svn commit: r338253 - head/sbin/pfctl
Message-ID:  <CAD44qMXFRQ9s8xJ5ONNDkFkP9a4qM5=kvmSnzahQq=UvyieQbg@mail.gmail.com>
In-Reply-To: <24fcddc1-5570-943b-c3d4-b712e3ca64e3@freebsd.org>
References:  <201808231610.w7NGASxr000790@repo.freebsd.org> <24fcddc1-5570-943b-c3d4-b712e3ca64e3@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 23, 2018 at 1:05 PM Stefan Esser <se@freebsd.org> wrote:

> Am 23.08.18 um 18:10 schrieb Patrick Kelsey:
> > Author: pkelsey
> > Date: Thu Aug 23 16:10:28 2018
> > New Revision: 338253
> > URL: https://svnweb.freebsd.org/changeset/base/338253
> >
> > Log:
> >   Extend tbrsize heuristic in pfctl(8) to provide a sensible value for
> >   higher bandwidth interfaces.  The new value is used above 2.5 Gbps,
> >   which is the highest standard rate that could be used prior to
> >   r338209, so the default behavior for all existing systems should
> >   remain the same.
> >
> >   The value of 128 chosen is a balance between being big enough to
> >   reduce potential precision/quantization effects stemming from frequent
> >   bucket refills over small time intervals and being small enough to
> >   prevent a greedy driver from burst dequeuing more packets than it has
> >   available hardware ring slots for whenever altq transitions from idle
> >   to backlogged.
> >
> >   Reviewed by:        jmallett, kp
> >   MFC after:  2 weeks
> >   Sponsored by:       RG Nets
> >   Differential Revision: https://reviews.freebsd.org/D16852
> >
> > Modified:
> >   head/sbin/pfctl/pfctl_altq.c
> >
> > Modified: head/sbin/pfctl/pfctl_altq.c
> >
> ==============================================================================
> > --- head/sbin/pfctl/pfctl_altq.c      Thu Aug 23 15:01:27 2018
> (r338252)
> > +++ head/sbin/pfctl/pfctl_altq.c      Thu Aug 23 16:10:28 2018
> (r338253)
> > @@ -299,8 +299,10 @@ eval_pfaltq(struct pfctl *pf, struct pf_altq *pa,
> stru
> >                       size = 4;
> >               else if (rate <= 200 * 1000 * 1000)
> >                       size = 8;
> > -             else
> > +             else if (rate <= 2500 * 1000 * 1000)
> >                       size = 24;
> > +             else
> > +                     size = 128;
> >               size = size * getifmtu(pa->ifname);
> >               pa->tbrsize = size;
> >       }
> >
>
> This breaks the build on my amd64 box:
>
> /usr/svn/base/head/sbin/pfctl/pfctl_altq.c:302:32: error: overflow in
> expression; result is -1794967296 with type 'int'
> [-Werror,-Winteger-overflow]
>                 else if (rate <= 2500 * 1000 * 1000)
>                                              ^
>
> While "rate" is unsigned long, the expression being calculated is not ...
>
> Regards, STefan
>

Will fix shortly...not sure why I did not encounter this error in my setup.

-Patrick



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD44qMXFRQ9s8xJ5ONNDkFkP9a4qM5=kvmSnzahQq=UvyieQbg>