• George Spelvin's avatar
    Eliminate bad hash multipliers from hash_32() and hash_64() · ef703f49
    George Spelvin authored
    The "simplified" prime multipliers made very bad hash functions, so get rid
    of them.  This completes the work of 689de1d6.
    
    To avoid the inefficiency which was the motivation for the "simplified"
    multipliers, hash_64() on 32-bit systems is changed to use a different
    algorithm.  It makes two calls to hash_32() instead.
    
    drivers/media/usb/dvb-usb-v2/af9015.c uses the old GOLDEN_RATIO_PRIME_32
    for some horrible reason, so it inherits a copy of the old definition.
    Signed-off-by: default avatarGeorge Spelvin <linux@sciencehorizons.net>
    Cc: Antti Palosaari <crope@iki.fi>
    Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
    ef703f49
af9015.c 41.7 KB