trace_osnoise.c (ca31fef11dc83e672415d5925a134749761329bd) | trace_osnoise.c (d03721a6e7e8c04261873b3840daa3ce2c5b0543) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * OS Noise Tracer: computes the OS Noise suffered by a running thread. 4 * Timerlat Tracer: measures the wakeup latency of a timer triggered IRQ and thread. 5 * 6 * Based on "hwlat_detector" tracer by: 7 * Copyright (C) 2008-2009 Jon Masters, Red Hat, Inc. <jcm@redhat.com> 8 * Copyright (C) 2013-2016 Steven Rostedt, Red Hat, Inc. <srostedt@redhat.com> --- 239 unchanged lines hidden (view full) --- 248#endif 249}; 250 251/* 252 * Boolean variable used to inform that the tracer is currently sampling. 253 */ 254static bool osnoise_busy; 255 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * OS Noise Tracer: computes the OS Noise suffered by a running thread. 4 * Timerlat Tracer: measures the wakeup latency of a timer triggered IRQ and thread. 5 * 6 * Based on "hwlat_detector" tracer by: 7 * Copyright (C) 2008-2009 Jon Masters, Red Hat, Inc. <jcm@redhat.com> 8 * Copyright (C) 2013-2016 Steven Rostedt, Red Hat, Inc. <srostedt@redhat.com> --- 239 unchanged lines hidden (view full) --- 248#endif 249}; 250 251/* 252 * Boolean variable used to inform that the tracer is currently sampling. 253 */ 254static bool osnoise_busy; 255 |
256#ifdef CONFIG_PREEMPT_RT |
|
256/* 257 * Print the osnoise header info. 258 */ 259static void print_osnoise_headers(struct seq_file *s) 260{ 261 if (osnoise_data.tainted) 262 seq_puts(s, "# osnoise is tainted!\n"); 263 | 257/* 258 * Print the osnoise header info. 259 */ 260static void print_osnoise_headers(struct seq_file *s) 261{ 262 if (osnoise_data.tainted) 263 seq_puts(s, "# osnoise is tainted!\n"); 264 |
265 seq_puts(s, "# _-------=> irqs-off\n"); 266 seq_puts(s, "# / _------=> need-resched\n"); 267 seq_puts(s, "# | / _-----=> need-resched-lazy\n"); 268 seq_puts(s, "# || / _----=> hardirq/softirq\n"); 269 seq_puts(s, "# ||| / _---=> preempt-depth\n"); 270 seq_puts(s, "# |||| / _--=> preempt-lazy-depth\n"); 271 seq_puts(s, "# ||||| / _-=> migrate-disable\n"); 272 273 seq_puts(s, "# |||||| / "); 274 seq_puts(s, " MAX\n"); 275 276 seq_puts(s, "# ||||| / "); 277 seq_puts(s, " SINGLE Interference counters:\n"); 278 279 seq_puts(s, "# ||||||| RUNTIME "); 280 seq_puts(s, " NOISE %% OF CPU NOISE +-----------------------------+\n"); 281 282 seq_puts(s, "# TASK-PID CPU# ||||||| TIMESTAMP IN US "); 283 seq_puts(s, " IN US AVAILABLE IN US HW NMI IRQ SIRQ THREAD\n"); 284 285 seq_puts(s, "# | | | ||||||| | | "); 286 seq_puts(s, " | | | | | | | |\n"); 287} 288#else /* CONFIG_PREEMPT_RT */ 289static void print_osnoise_headers(struct seq_file *s) 290{ 291 if (osnoise_data.tainted) 292 seq_puts(s, "# osnoise is tainted!\n"); 293 |
|
264 seq_puts(s, "# _-----=> irqs-off\n"); 265 seq_puts(s, "# / _----=> need-resched\n"); 266 seq_puts(s, "# | / _---=> hardirq/softirq\n"); 267 seq_puts(s, "# || / _--=> preempt-depth "); 268 seq_puts(s, " MAX\n"); 269 270 seq_puts(s, "# || / "); 271 seq_puts(s, " SINGLE Interference counters:\n"); 272 273 seq_puts(s, "# |||| RUNTIME "); 274 seq_puts(s, " NOISE %% OF CPU NOISE +-----------------------------+\n"); 275 276 seq_puts(s, "# TASK-PID CPU# |||| TIMESTAMP IN US "); 277 seq_puts(s, " IN US AVAILABLE IN US HW NMI IRQ SIRQ THREAD\n"); 278 279 seq_puts(s, "# | | | |||| | | "); 280 seq_puts(s, " | | | | | | | |\n"); 281} | 294 seq_puts(s, "# _-----=> irqs-off\n"); 295 seq_puts(s, "# / _----=> need-resched\n"); 296 seq_puts(s, "# | / _---=> hardirq/softirq\n"); 297 seq_puts(s, "# || / _--=> preempt-depth "); 298 seq_puts(s, " MAX\n"); 299 300 seq_puts(s, "# || / "); 301 seq_puts(s, " SINGLE Interference counters:\n"); 302 303 seq_puts(s, "# |||| RUNTIME "); 304 seq_puts(s, " NOISE %% OF CPU NOISE +-----------------------------+\n"); 305 306 seq_puts(s, "# TASK-PID CPU# |||| TIMESTAMP IN US "); 307 seq_puts(s, " IN US AVAILABLE IN US HW NMI IRQ SIRQ THREAD\n"); 308 309 seq_puts(s, "# | | | |||| | | "); 310 seq_puts(s, " | | | | | | | |\n"); 311} |
312#endif /* CONFIG_PREEMPT_RT */ |
|
282 283/* 284 * osnoise_taint - report an osnoise error. 285 */ 286#define osnoise_taint(msg) ({ \ 287 struct trace_array *tr = osnoise_trace; \ 288 \ 289 trace_array_printk_buf(tr->array_buffer.buffer, _THIS_IP_, msg); \ --- 1770 unchanged lines hidden --- | 313 314/* 315 * osnoise_taint - report an osnoise error. 316 */ 317#define osnoise_taint(msg) ({ \ 318 struct trace_array *tr = osnoise_trace; \ 319 \ 320 trace_array_printk_buf(tr->array_buffer.buffer, _THIS_IP_, msg); \ --- 1770 unchanged lines hidden --- |