[PATCH] tracing: make dynamic types can use __TRACE_LAST_TYPE

From: Zhou Chengming
Date: Mon Aug 28 2017 - 00:57:59 EST


Obviously, trace_events that defined staticly in trace.h won't use
__TRACE_LAST_TYPE, so make dynamic types can use it. And some
minor changes to trace_search_list() to make code clearer.

Signed-off-by: Zhou Chengming <zhouchengming1@xxxxxxxxxx>
---
kernel/trace/trace_output.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index bac629a..dcb146f 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -19,7 +19,7 @@

static struct hlist_head event_hash[EVENT_HASHSIZE] __read_mostly;

-static int next_event_type = __TRACE_LAST_TYPE + 1;
+static int next_event_type = __TRACE_LAST_TYPE;

enum print_line_t trace_print_bputs_msg_only(struct trace_iterator *iter)
{
@@ -696,7 +696,7 @@ static int trace_search_list(struct list_head **list)

if (list_empty(&ftrace_event_list)) {
*list = &ftrace_event_list;
- return last + 1;
+ return last;
}

/*
@@ -704,17 +704,17 @@ static int trace_search_list(struct list_head **list)
* lets see if somebody freed one.
*/
list_for_each_entry(e, &ftrace_event_list, list) {
- if (e->type != last + 1)
+ if (e->type != last)
break;
last++;
}

/* Did we used up all 65 thousand events??? */
- if ((last + 1) > TRACE_EVENT_TYPE_MAX)
+ if (last > TRACE_EVENT_TYPE_MAX)
return 0;

*list = &e->list;
- return last + 1;
+ return last;
}

void trace_event_read_lock(void)
@@ -777,7 +777,7 @@ int register_trace_event(struct trace_event *event)

list_add_tail(&event->list, list);

- } else if (event->type > __TRACE_LAST_TYPE) {
+ } else if (event->type >= __TRACE_LAST_TYPE) {
printk(KERN_WARNING "Need to add type to trace.h\n");
WARN_ON(1);
goto out;
--
1.8.3.1