[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120517145550.GA6501@1984>
Date: Thu, 17 May 2012 16:55:50 +0200
From: Pablo Neira Ayuso <pablo@...filter.org>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: David Laight <David.Laight@...LAB.COM>,
netfilter-devel@...r.kernel.org, davem@...emloft.net,
netdev@...r.kernel.org
Subject: Re: [PATCH 3/7] netfilter: xt_HMARK: modulus is expensive for hash
calculation
On Thu, May 17, 2012 at 10:39:28AM +0200, Eric Dumazet wrote:
> On Thu, 2012-05-17 at 09:16 +0100, David Laight wrote:
> > > From: Pablo Neira Ayuso <pablo@...filter.org>
> > >
> > > Use:
> > >
> > > ((u64)(HASH_VAL * HASH_SIZE)) >> 32
> > >
> > > as suggested by David S. Miller.
> >
> > That (u64) cast is very unlikely to have any effect.
> > If you want a 64 bit result from the product of two
> > 32 bit values, you have to cast one of the 32 bit values
> > prior to the multiply - as in the patch below.
>
> Hey, Changelog is a bit wrong (for several reasons) but code is correct.
>
> return (((u64)hash * info->hmodulus) >> 32) + info->hoffset;
Sorry, for the mistake in the changelog. I copied & pasted it from the
mailing list discussion.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists