Skip to content

Commit

Permalink
net_sched: sch_fq: use hash_ptr()
Browse files Browse the repository at this point in the history
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 <[email protected]>
Cc: Hugh Dickins <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Eric Dumazet authored and davem330 committed Nov 17, 2016
1 parent d30d9cc commit 29c5847
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/sched/sch_fq.c
Original file line number Diff line number Diff line change
@@ -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;

0 comments on commit 29c5847

Please sign in to comment.