From: Steven Rostedt (VMware) Date: Tue, 6 Oct 2020 00:21:14 +0000 (-0400) Subject: ftrace: Simplify the hash calculation X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=be49313273211c47d1b317d6b2dbe02637c2794c;p=linux.git ftrace: Simplify the hash calculation No need to add a check to subtract the number of bits if bits is zero after fls(). Just divide the size by two before calling it. This does give the same answer for size of 0 and 1, but that's fine. Signed-off-by: Steven Rostedt (VMware) --- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 5633d37d88065..c51a91aea1fd9 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -1368,11 +1368,10 @@ static struct ftrace_hash *dup_hash(struct ftrace_hash *src, int size) int i; /* - * Make the hash size about 1/2 the # found + * Use around half the size (max bit of it), but + * a minimum of 2 is fine (as size of 0 or 1 both give 1 for bits). */ - bits = fls(size); - if (bits) - bits--; + bits = fls(size / 2); /* Don't allocate too much */ if (bits > FTRACE_HASH_MAX_BITS)