[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120803.022240.1997423719431165575.davem@davemloft.net>
Date: Fri, 03 Aug 2012 02:22:40 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: sakiwit@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH] ipv4: remove parentheses in return statement
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Fri, 03 Aug 2012 11:19:44 +0200
> On Fri, 2012-08-03 at 01:43 -0600, Jean Sacren wrote:
>
>> @@ -106,8 +106,8 @@ static inline unsigned int inet_addr_hash(struct net *net, __be32 addr)
>> {
>> u32 val = (__force u32) addr ^ hash_ptr(net, 8);
>>
>> - return ((val ^ (val >> 8) ^ (val >> 16) ^ (val >> 24)) &
>> - (IN4_ADDR_HSIZE - 1));
>> + return (val ^ (val >> 8) ^ (val >> 16) ^ (val >> 24)) &
>> + (IN4_ADDR_HSIZE - 1);
>> }
>
> BTW This should use a faster implementation, I'll send a patch when
> net-next is opened.
There seems to be a few spots where we want the pointer "as a 32-bit
integer" for hashing. We were discussing arp_hashfn() and ndisc_hashfn()
the other day.
It should basically do something like:
(u32) ((u64)ptr >> 32 | ((u32) ptr))
on 64-bit and simply (u32)(ptr) on 32-bit.
--
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