Date: Thu, 23 Aug 2018 19:05:32 +0200 From: Stefan Esser <se@freebsd.org> To: Patrick Kelsey <pkelsey@FreeBSD.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@FreeBSD.org> Subject: Re: svn commit: r338253 - head/sbin/pfctl Message-ID: <24fcddc1-5570-943b-c3d4-b712e3ca64e3@freebsd.org> In-Reply-To: <201808231610.w7NGASxr000790@repo.freebsd.org> References: <201808231610.w7NGASxr000790@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?24fcddc1-5570-943b-c3d4-b712e3ca64e3>