random: help compiler out with fast_mix() by using simpler arguments
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 6 May 2022 21:19:43 +0000 (23:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Jun 2022 09:46:39 +0000 (11:46 +0200)
commiteb2fb9672be8334f828e732fe4b98e06f4ba03c5
treecde472ee4b6081c1a4a1c509aa95d3294b1ebbe6
parent18aa432eb1e04c9470df8ffa92d6bb290ecbc40e
random: help compiler out with fast_mix() by using simpler arguments

commit 791332b3cbb080510954a4c152ce02af8832eac9 upstream.

Now that fast_mix() has more than one caller, gcc no longer inlines it.
That's fine. But it also doesn't handle the compound literal argument we
pass it very efficiently, nor does it handle the loop as well as it
could. So just expand the code to spell out this function so that it
generates the same code as it did before. Performance-wise, this now
behaves as it did before the last commit. The difference in actual code
size on x86 is 45 bytes, which is less than a cache line.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c