From 9759d4d5a31079fdfc8815efc235ab9e72c63120 Mon Sep 17 00:00:00 2001 From: xiazhonglin Date: Wed, 17 May 2023 20:28:25 +0800 Subject: [PATCH] trace test Signed-off-by: xiazhonglin Change-Id: Ie11de737490fa7bd221cb1843450fe1d48d0b7a2 --- kernel/trace/trace.c | 2 +- kernel/trace/trace.h | 1 + kernel/trace/trace_output.c | 10 +++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 146771d6d007..b27223cd57f0 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -6694,7 +6694,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, int len; /* Used in tracing_mark_raw_write() as well */ -#define FAULTED_STR "" +#define FAULTED_STR "?" #define FAULTED_SIZE (sizeof(FAULTED_STR) - 1) /* '\0' is already accounted for */ if (tracing_disabled) diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 8d67f7f44840..33058de6c63c 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1348,6 +1348,7 @@ extern int trace_get_user(struct trace_parser *parser, const char __user *ubuf, C(STOP_ON_FREE, "disable_on_free"), \ C(IRQ_INFO, "irq-info"), \ C(MARKERS, "markers"), \ + C(MARKERS_PRUNE, "markers_prune"), \ C(EVENT_FORK, "event-fork"), \ C(PAUSE_ON_TRACE, "pause-on-trace"), \ FUNCTION_FLAGS \ diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 000e9dc224c6..55f3663e492f 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -1304,10 +1304,18 @@ static enum print_line_t trace_print_print(struct trace_iterator *iter, struct print_entry *field; struct trace_seq *s = &iter->seq; + struct trace_entry *entry = iter->ent; + struct trace_array *tr = iter->tr; + trace_assign_type(field, iter->ent); seq_print_ip_sym(s, field->ip, flags); - trace_seq_printf(s, ": %s", field->buf); + if (tr->trace_flags & TRACE_ITER_MARKERS_PRUNE) { + char * buffer = (char *)(&(field->buf)); + trace_seq_printf(s, ": new %c|%d%s", buffer[0], trace_find_tgid(entry->pid), buffer + 1); + } else { + trace_seq_printf(s, ": zlxia %s", field->buf); + } return trace_handle_return(s); } -- Gitee