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