mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-31 06:14:39 +01:00
perf debug: Expose debug file
Some dumping call backs need to be passed a FILE*. Expose debug file via an accessor API for a consistent way to do this. Catch the unlikely failure of it not being set. Switch two cases where stderr was being used instead of debug_file. Signed-off-by: Ian Rogers <[email protected]> Acked-by: Namhyung Kim <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Athira Rajeev <[email protected]> Cc: Changbin Du <[email protected]> Cc: Colin Ian King <[email protected]> Cc: Dmitrii Dolgov <[email protected]> Cc: German Gomez <[email protected]> Cc: Guilherme Amadio <[email protected]> Cc: Huacai Chen <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: James Clark <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: K Prateek Nayak <[email protected]> Cc: Kajol Jain <[email protected]> Cc: Kan Liang <[email protected]> Cc: Leo Yan <[email protected]> Cc: Li Dong <[email protected]> Cc: Liam Howlett <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Miguel Ojeda <[email protected]> Cc: Ming Wang <[email protected]> Cc: Nick Terrell <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ravi Bangoria <[email protected]> Cc: Sandipan Das <[email protected]> Cc: Sean Christopherson <[email protected]> Cc: Steinar H. Gunderson <[email protected]> Cc: Vincent Whitchurch <[email protected]> Cc: Wenyu Liu <[email protected]> Cc: Yang Jihong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
1 parent
8d5847a617
commit
ec49230cf6
2 files changed
+16
-7
No files matched your search
+15
-7
@@ -38,12 +38,21 @@ bool dump_trace = false, quiet = false;
|
||||
int debug_ordered_events;
|
||||
static int redirect_to_stderr;
|
||||
int debug_data_convert;
|
||||
static FILE *debug_file;
|
||||
static FILE *_debug_file;
|
||||
bool debug_display_time;
|
||||
|
||||
FILE *debug_file(void)
|
||||
{
|
||||
if (!_debug_file) {
|
||||
pr_warning_once("debug_file not set");
|
||||
debug_set_file(stderr);
|
||||
}
|
||||
return _debug_file;
|
||||
}
|
||||
|
||||
void debug_set_file(FILE *file)
|
||||
{
|
||||
debug_file = file;
|
||||
_debug_file = file;
|
||||
}
|
||||
|
||||
void debug_set_display_time(bool set)
|
||||
@@ -78,8 +87,8 @@ int veprintf(int level, int var, const char *fmt, va_list args)
|
||||
if (use_browser >= 1 && !redirect_to_stderr) {
|
||||
ui_helpline__vshow(fmt, args);
|
||||
} else {
|
||||
ret = fprintf_time(debug_file);
|
||||
ret += vfprintf(debug_file, fmt, args);
|
||||
ret = fprintf_time(debug_file());
|
||||
ret += vfprintf(debug_file(), fmt, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,9 +116,8 @@ static int veprintf_time(u64 t, const char *fmt, va_list args)
|
||||
nsecs -= secs * NSEC_PER_SEC;
|
||||
usecs = nsecs / NSEC_PER_USEC;
|
||||
|
||||
ret = fprintf(stderr, "[%13" PRIu64 ".%06" PRIu64 "] ",
|
||||
secs, usecs);
|
||||
ret += vfprintf(stderr, fmt, args);
|
||||
ret = fprintf(debug_file(), "[%13" PRIu64 ".%06" PRIu64 "] ", secs, usecs);
|
||||
ret += vfprintf(debug_file(), fmt, args);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ int eprintf_time(int level, int var, u64 t, const char *fmt, ...) __printf(4, 5)
|
||||
int veprintf(int level, int var, const char *fmt, va_list args);
|
||||
|
||||
int perf_debug_option(const char *str);
|
||||
FILE *debug_file(void);
|
||||
void debug_set_file(FILE *file);
|
||||
void debug_set_display_time(bool set);
|
||||
void perf_debug_setup(void);
|
||||
|
||||
Reference in new issue
Block a user