From: Eric Dumazet <eduma...@google.com>

When I wrote sch_fq.c, hash_ptr() on 64bit arches was awful,
and I chose hash_32().

Linus Torvalds and George Spelvin fixed this issue, so we can
use hash_ptr() to get more entropy on 64bit arches with Terabytes
of memory, and avoid the cast games.

Signed-off-by: Eric Dumazet <eduma...@google.com>
Cc: Hugh Dickins <hu...@google.com>
---
 net/sched/sch_fq.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sched/sch_fq.c b/net/sched/sch_fq.c
index 18e752439f6f..86309a3156a5 100644
--- a/net/sched/sch_fq.c
+++ b/net/sched/sch_fq.c
@@ -245,7 +245,7 @@ static struct fq_flow *fq_classify(struct sk_buff *skb, 
struct fq_sched_data *q)
                skb_orphan(skb);
        }
 
-       root = &q->fq_root[hash_32((u32)(long)sk, q->fq_trees_log)];
+       root = &q->fq_root[hash_ptr(sk, q->fq_trees_log)];
 
        if (q->flows >= (2U << q->fq_trees_log) &&
            q->inactive_flows > q->flows/2)
@@ -599,7 +599,7 @@ static void fq_rehash(struct fq_sched_data *q,
                                kmem_cache_free(fq_flow_cachep, of);
                                continue;
                        }
-                       nroot = &new_array[hash_32((u32)(long)of->sk, new_log)];
+                       nroot = &new_array[hash_ptr(of->sk, new_log)];
 
                        np = &nroot->rb_node;
                        parent = NULL;


Reply via email to