tcp: replace ehash_size by ehash_mask
Storing the mask (size - 1) instead of the size allows fast path to be a bit faster. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
c3faca053d
commit
f373b53b5f
@@ -2865,11 +2865,10 @@ void __init tcp_init(void)
|
||||
(totalram_pages >= 128 * 1024) ?
|
||||
13 : 15,
|
||||
0,
|
||||
&tcp_hashinfo.ehash_size,
|
||||
NULL,
|
||||
&tcp_hashinfo.ehash_mask,
|
||||
thash_entries ? 0 : 512 * 1024);
|
||||
tcp_hashinfo.ehash_size = 1 << tcp_hashinfo.ehash_size;
|
||||
for (i = 0; i < tcp_hashinfo.ehash_size; i++) {
|
||||
for (i = 0; i <= tcp_hashinfo.ehash_mask; i++) {
|
||||
INIT_HLIST_NULLS_HEAD(&tcp_hashinfo.ehash[i].chain, i);
|
||||
INIT_HLIST_NULLS_HEAD(&tcp_hashinfo.ehash[i].twchain, i);
|
||||
}
|
||||
@@ -2878,7 +2877,7 @@ void __init tcp_init(void)
|
||||
tcp_hashinfo.bhash =
|
||||
alloc_large_system_hash("TCP bind",
|
||||
sizeof(struct inet_bind_hashbucket),
|
||||
tcp_hashinfo.ehash_size,
|
||||
tcp_hashinfo.ehash_mask + 1,
|
||||
(totalram_pages >= 128 * 1024) ?
|
||||
13 : 15,
|
||||
0,
|
||||
@@ -2933,8 +2932,8 @@ void __init tcp_init(void)
|
||||
sysctl_tcp_rmem[2] = max(87380, max_share);
|
||||
|
||||
printk(KERN_INFO "TCP: Hash tables configured "
|
||||
"(established %d bind %d)\n",
|
||||
tcp_hashinfo.ehash_size, tcp_hashinfo.bhash_size);
|
||||
"(established %u bind %u)\n",
|
||||
tcp_hashinfo.ehash_mask + 1, tcp_hashinfo.bhash_size);
|
||||
|
||||
tcp_register_congestion_control(&tcp_reno);
|
||||
}
|
||||
|
Reference in New Issue
Block a user