Messages in this thread | | | Subject | Re: [PATCH net-next 1/2] random32: add prandom_u32_lt_N and convert "misuses" of reciprocal_divide | From | Eric Dumazet <> | Date | Wed, 15 Jan 2014 19:14:10 -0800 |
| |
On Thu, 2014-01-16 at 00:23 +0100, Daniel Borkmann wrote:
> @@ -1220,7 +1219,7 @@ static unsigned int fanout_demux_hash(struct packet_fanout *f, > struct sk_buff *skb, > unsigned int num) > { > - return reciprocal_divide(skb->rxhash, num); > + return (u32)(((u64) skb->rxhash * num) >> 32); > } >
This is unfortunate.
(This reverts one of your patch : f55d112e529386 )
Please add a helper to explain what's going on here, and on many other spots we do this computation (as in get_rps_cpu()). Few people really understand this.
Or keep reciprocal_divide() as is, and introduce a new set of functions for people really wanting the precise divides.
| |