summaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2020-10-05 20:21:14 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2020-10-08 15:29:06 -0400
commitbe49313273211c47d1b317d6b2dbe02637c2794c (patch)
tree0387632d4bf0911a626e423e6c2abcc445069a55 /kernel/trace
parent59e65b3358f44d4d0134eca3b6c269f359f21cd5 (diff)
downloadlinux-be49313273211c47d1b317d6b2dbe02637c2794c.tar.bz2
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) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/ftrace.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 5633d37d8806..c51a91aea1fd 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)