Some comments:
A) secs_between_rehash is doubled every rehash, and never decreased
again. This looks broken. What's the rationale?
B) I despise the (1 << ...htable_bits) construct, used in several places.
It's nothing but obfuscation. Please reinstate ...htable_size, and
use that, the code will be more readable.
C) did you measure how much time the rehashing takes, for a single run
on a significant (2^16 buckets, at least) conntracking table?
D) did you run your hash_conntrack() against my cttest bucket occupation
simulator? Can we see comparing pictures?
To conclude, I agree with using a multiplicative hash, but I'm a bit nervous
about the rehashing thing. A single random hash_base call would be enough
to satisfy _my_ paranoia. IMHO the rehashing should be a compile/run time
"be more paranoid" option.
best regards
Patrick
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/