Skip to contentSkip to conversation

Recent changes (master)

PATCH Jens Axboe 1 participant 1 message Jun 8, 2018

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

The following changes since commit a43f4461d5716c4c46018dd45cecf0a896d05dbd:

Fix variable shadowing (2018-06-05 13:44:47 -0600)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to 7ceefc0914b9ff721047b4dc8be54625d43f577c:

idle-prof: Fix segment fault issue when run with '--idle-prof' and multiple output format normal,json (2018-06-07 20:27:25 -0600)

----------------------------------------------------------------
[email protected] (1):
idle-prof: Fix segment fault issue when run with '--idle-prof' and multiple output format normal,json

 idletime.c | 8 +-------
 idletime.h | 2 ++
 stat.c     | 2 ++
 3 files changed, 5 insertions(+), 7 deletions(-)

---

Diff of recent changes:

idletime.c +1 -7
index 8762c85..2f59f51 100644
@@ -397,7 +397,7 @@ static double fio_idle_prof_cpu_stat(int cpu)
 	return p * 100.0;
 }
 
-static void fio_idle_prof_cleanup(void)
+void fio_idle_prof_cleanup(void)
 {
 	if (ipc.ipts) {
 		free(ipc.ipts);
@@ -471,10 +471,6 @@ void show_idle_prof_stats(int output, struct json_object *parent,
 			log_buf(out, " stddev=%3.2f\n", ipc.cali_stddev);
 		}
 
-		/* dynamic mem allocations can now be freed */
-		if (ipc.opt != IDLE_PROF_OPT_NONE)
-			fio_idle_prof_cleanup();
-
 		return;
 	}
 
@@ -498,7 +494,5 @@ void show_idle_prof_stats(int output, struct json_object *parent,
 
 		json_object_add_value_float(tmp, "unit_mean", ipc.cali_mean);
 		json_object_add_value_float(tmp, "unit_stddev", ipc.cali_stddev);
-		
-		fio_idle_prof_cleanup();
 	}
 }
idletime.h +2 -0
index 6c1161a..91ca95f 100644
@@ -58,4 +58,6 @@ extern void fio_idle_prof_stop(void);
 
 extern void show_idle_prof_stats(int, struct json_object *, struct buf_output *);
 
+extern void fio_idle_prof_cleanup(void);
+
 #endif
stat.c +2 -0
index 5b49ddd..58edf04 100644
@@ -1934,6 +1934,8 @@ void __show_run_stats(void)
 		buf_output_free(out);
 	}
 
+	fio_idle_prof_cleanup();
+
 	log_info_flush();
 	free(runstats);
 	free(threadstats);