mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
rtla/timerlat: Add auto-analysis core
Currently, timerlat displays a summary of the timerlat tracer results saving the trace if the system hits a stop condition. While this represented a huge step forward, the root cause was not that is accessible to non-expert users. The auto-analysis fulfill this gap by parsing the trace timerlat runs, printing an intuitive auto-analysis. Link: https://lkml.kernel.org/r/1ee073822f6a2cbb33da0c817331d0d4045e837f.1675179318.git.bristot@kernel.org Cc: Daniel Bristot de Oliveira <bristot@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt (Google)
parent
1fab1469b6
commit
27e348b221
990
tools/tracing/rtla/src/timerlat_aa.c
Normal file
990
tools/tracing/rtla/src/timerlat_aa.c
Normal file
File diff suppressed because it is too large
Load Diff
12
tools/tracing/rtla/src/timerlat_aa.h
Normal file
12
tools/tracing/rtla/src/timerlat_aa.h
Normal file
@@ -0,0 +1,12 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2023 Red Hat Inc, Daniel Bristot de Oliveira <bristot@kernel.org>
|
||||
*/
|
||||
|
||||
int timerlat_aa_init(struct osnoise_tool *tool, int nr_cpus, int dump_task);
|
||||
void timerlat_aa_destroy(void);
|
||||
|
||||
int timerlat_aa_handler(struct trace_seq *s, struct tep_record *record,
|
||||
struct tep_event *event, void *context);
|
||||
|
||||
void timerlat_auto_analysis(int irq_thresh, int thread_thresh);
|
||||
@@ -56,3 +56,6 @@ struct sched_attr {
|
||||
int parse_prio(char *arg, struct sched_attr *sched_param);
|
||||
int set_comm_sched_attr(const char *comm_prefix, struct sched_attr *attr);
|
||||
int set_cpu_dma_latency(int32_t latency);
|
||||
|
||||
#define ns_to_usf(x) (((double)x/1000))
|
||||
#define ns_to_per(total, part) ((part * 100) / (double)total)
|
||||
|
||||
Reference in New Issue
Block a user