benchmark.h: use user-level buffer for trace points
diff --git a/libsel4utils/include/sel4utils/benchmark_track.h b/libsel4utils/include/sel4utils/benchmark_track.h index bb5d8b7..7efbb17 100644 --- a/libsel4utils/include/sel4utils/benchmark_track.h +++ b/libsel4utils/include/sel4utils/benchmark_track.h
@@ -30,7 +30,7 @@ */ FILE *fd = stdout; - while (logBuffer[index].start_time != 0 && (index + 1) * sizeof(benchmark_track_kernel_entry_t) <= logSize) { + while (logBuffer[index].start_time != 0 && (index * sizeof(benchmark_track_kernel_entry_t)) < logSize) { if (logBuffer[index].entry.path == Entry_Syscall) { syscall_entries++; } else if (logBuffer[index].entry.path == Entry_Interrupt) { @@ -63,7 +63,7 @@ "Invocation Tag", "Fastpath?"); fprintf(fd, "-----------------------------------------------------------------------------------------------------------------------------\n"); - while (logBuffer[index].start_time != 0 && (index + 1) * sizeof(benchmark_track_kernel_entry_t) <= logSize) { + while (logBuffer[index].start_time != 0 && (index * sizeof(benchmark_track_kernel_entry_t)) < logSize) { if (logBuffer[index].entry.path == Entry_Syscall) { fprintf(fd, "| %-15d| %-15d| %-15llu| %-15d| %-15d| %-15d| %-15d|\n", index, @@ -91,7 +91,7 @@ "Duration"); fprintf(fd, "-----------------------------------------------------------------------------------------------------------------------------\n"); - while (logBuffer[index].start_time != 0 && (index + 1) * sizeof(benchmark_track_kernel_entry_t) <= logSize) { + while (logBuffer[index].start_time != 0 && (index * sizeof(benchmark_track_kernel_entry_t)) < logSize) { if (logBuffer[index].entry.path == Entry_Interrupt) { fprintf(fd, "| %-15d| %-15d| %-15llu| %-15d|\n", \ index,