diff options
| author | Dan Williams <[email protected]> | 2019-03-11 12:37:55 -0700 | 
|---|---|---|
| committer | Dan Williams <[email protected]> | 2019-03-11 12:37:55 -0700 | 
| commit | 4083014e32699af04a8e6eaa4855b08dba36a47a (patch) | |
| tree | fa37f9f9691fe64ca8a3c0cdc0315dc12462e6e4 /tools/perf/builtin-script.c | |
| parent | 6fd96ff557963de8e62842a0dc360a6e3610d2bb (diff) | |
| parent | 78153dd45e7e0596ba32b15d02bda08e1513111e (diff) | |
Merge branch 'for-5.1/nfit/ars' into libnvdimm-for-next
Merge several updates to the ARS implementation. Highlights include:
* Support retrieval of short-ARS results if the ARS state is "requires
  continuation", and even if the "no_init_ars" module parameter is
  specified.
* Allow busy-polling of the kernel ARS state by allowing root to reset
  the exponential back-off timer.
* Filter potentially stale ARS results by tracking query-ARS relative to
  the previous start-ARS.
Diffstat (limited to 'tools/perf/builtin-script.c')
| -rw-r--r-- | tools/perf/builtin-script.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index d079f36d342d..ac221f137ed2 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -1681,13 +1681,8 @@ static void perf_sample__fprint_metric(struct perf_script *script,  		.force_header = false,  	};  	struct perf_evsel *ev2; -	static bool init;  	u64 val; -	if (!init) { -		perf_stat__init_shadow_stats(); -		init = true; -	}  	if (!evsel->stats)  		perf_evlist__alloc_stats(script->session->evlist, false);  	if (evsel_script(evsel->leader)->gnum++ == 0) @@ -1794,7 +1789,7 @@ static void process_event(struct perf_script *script,  		return;  	} -	if (PRINT_FIELD(TRACE)) { +	if (PRINT_FIELD(TRACE) && sample->raw_data) {  		event_format__fprintf(evsel->tp_format, sample->cpu,  				      sample->raw_data, sample->raw_size, fp);  	} @@ -2359,6 +2354,8 @@ static int __cmd_script(struct perf_script *script)  	signal(SIGINT, sig_handler); +	perf_stat__init_shadow_stats(); +  	/* override event processing functions */  	if (script->show_task_events) {  		script->tool.comm = process_comm_event;  |