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>
Mon, 30 May 2022 07:29:15 +0000 (09:29 +0200)
commit82caef84092e5d065932be53d6b341f22f68c649
treec0593fd29b22248a8e45a161a82178099826a2f6
parent4649394c4749d0318bc47ad59ee7cb4b3b2fdac2
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