aboutsummaryrefslogtreecommitdiff
path: root/kernel/trace/ftrace.c
diff options
context:
space:
mode:
authorGravatar Steven Rostedt (VMware) <rostedt@goodmis.org> 2021-04-01 16:40:32 -0400
committerGravatar Steven Rostedt (VMware) <rostedt@goodmis.org> 2021-04-01 16:56:47 -0400
commitceaaa12904df07d07ea8975abbf04c4d60e46956 (patch)
treeb04b3cd3a57af4d1eb370121572f3ded3665eed7 /kernel/trace/ftrace.c
parentftrace: Store the order of pages allocated in ftrace_page (diff)
downloadlinux-ceaaa12904df07d07ea8975abbf04c4d60e46956.tar.gz
linux-ceaaa12904df07d07ea8975abbf04c4d60e46956.tar.bz2
linux-ceaaa12904df07d07ea8975abbf04c4d60e46956.zip
ftrace: Simplify the calculation of page number for ftrace_page->records some more
Commit b40c6eabfcd40 ("ftrace: Simplify the calculation of page number for ftrace_page->records") simplified the calculation of the number of pages needed for each page group without having any empty pages, but it can be simplified even further. Link: https://lore.kernel.org/lkml/CAHk-=wjt9b7kxQ2J=aDNKbR1QBMB3Hiqb_hYcZbKsxGRSEb+gQ@mail.gmail.com/ Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r--kernel/trace/ftrace.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index f7bef5a9ada9..057e962ca5ce 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3156,15 +3156,9 @@ static int ftrace_allocate_records(struct ftrace_page *pg, int count)
if (WARN_ON(!count))
return -EINVAL;
+ /* We want to fill as much as possible, with no empty pages */
pages = DIV_ROUND_UP(count, ENTRIES_PER_PAGE);
- order = get_count_order(pages);
-
- /*
- * We want to fill as much as possible. No more than a page
- * may be empty.
- */
- if (!is_power_of_2(pages))
- order--;
+ order = fls(pages) - 1;
again:
pg->records = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, order);