Re: [PATCH 4/8] random: remove unused branch in hot code path
From: Theodore Ts'o
Date: Tue Jan 17 2017 - 23:35:57 EST
On Tue, Dec 27, 2016 at 11:40:23PM +0100, Stephan Müller wrote:
> The variable ip is defined to be a __u64 which is always 8 bytes on any
> architecture. Thus, the check for sizeof(ip) > 4 will always be true.
>
> As the check happens in a hot code path, remove the branch.
The fact that it's a hot code path means the compiler will optimize it
out, so the fact that it's on the hot code path is irrelevant. The
main issue is that on platforms with a 32-bit IP's, ip >> 32 will
always be zero. It might be that we can just do this via
#if BITS_PER_LONG == 32
...
#else
...
#endif
I'm not sure that works for all platforms, though. More research is
needed...
- Ted