2015-02-14 0:47 GMT+03:00 Johannes Berg <johannes@xxxxxxxxxxxxxxxx>: > We currently have a hand-rolled table with 256 entries and are > using the last byte of the MAC address as the hash. This hash > is obviously very fast, but collisions are easily created and > we waste a lot of space in the common case of just connecting > as a client to an AP where we just have a single station. The > other common case of an AP is also suboptimal due to the size > of the hash table and the ease of causing collisions. > > Convert all of this to use rhashtable with jhash, which gives > us the advantage of a far better hash function (with random > perturbation to avoid hash collision attacks) and of course > that the hash table grows and shrinks dynamically with chain > length, improving both cases above. > A nice change! Couple of years ago I did some tests with real sets of MACs and jhash gives a better distribution than usage of a last octet. BTW, why do you use full address and generic jhash? Hashing of two least significant words could be faster. Isn't it? -- Sergey -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html