Date: Sat, 29 Sep 2007 13:22:28 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: Kip Macy <kmacy@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 126950 for review Message-ID: <200709291322.28864.hselasky@c2i.net> In-Reply-To: <200709290521.l8T5LBlO020284@repoman.freebsd.org> References: <200709290521.l8T5LBlO020284@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 29 September 2007, Kip Macy wrote: > http://perforce.freebsd.org/chv.cgi?CH=126950 > > Change 126950 by kmacy@kmacy_home:ethng on 2007/09/29 05:20:19 > > fix ring count to correctly account for prod < cons > > Affected files ... > > .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#11 edit > > Differences ... > Just a nit. > ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#11 (text+ko) ==== > > @@ -72,7 +72,10 @@ > static __inline int > mbuf_ring_count(struct mbuf_ring *mr) > { > - return abs(mr->mr_cons - mr->mr_prod); > + int size = mr->mr_size; > + int mask = size - 1; > + > + return ((size + mr->mr_prod - mr->mr_cons) & mask); ^^^^ I don't think you need this, hence "(size & mask) == 0" I assume that size is a power of two. Maybe if you were using modulo and you are playing with signed numbers you would need it. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709291322.28864.hselasky>