X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=6ab0f4ada7229205d6a1774b0f56ff7cfb3fce1f;hp=ae62d23329839c1c9bc28c5f57a6a826cb42c6f1;hb=f5886fef7eb0c44ec854d00a70acc0dfc4975efa;hpb=61eb313e28c0f0ba8eb144c5b5f331b6b74c4fc8 diff --git a/fio.c b/fio.c index ae62d233..6ab0f4ad 100644 --- a/fio.c +++ b/fio.c @@ -142,17 +142,6 @@ static void sig_int(int sig) } } -static void sig_ill(int fio_unused sig) -{ - if (!threads) - return; - - log_err("fio: illegal instruction. your cpu does not support " - "the sse4.2 instruction for crc32c\n"); - terminate_threads(TERMINATE_ALL); - exit(4); -} - static void set_sig_handlers(void) { struct sigaction act; @@ -167,11 +156,6 @@ static void set_sig_handlers(void) act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); - memset(&act, 0, sizeof(act)); - act.sa_handler = sig_ill; - act.sa_flags = SA_RESTART; - sigaction(SIGILL, &act, NULL); - memset(&act, 0, sizeof(act)); act.sa_handler = sig_quit; act.sa_flags = SA_RESTART; @@ -847,6 +831,13 @@ static int init_io_u(struct thread_data *td) if (td_write(td) && !td->o.refill_buffers) io_u_fill_buffer(td, io_u, max_bs); + else if (td_write(td) && td->o.verify_pattern_bytes) { + /* + * Fill the buffer with the pattern if we are + * going to be doing writes. + */ + fill_pattern(td, io_u->buf, max_bs, io_u); + } } io_u->index = i; @@ -1193,6 +1184,13 @@ static void *thread_main(void *data) } else finish_log(td, td->ts.bw_log, "bw"); } + if (td->ts.lat_log) { + if (td->o.lat_log_file) { + finish_log_named(td, td->ts.lat_log, + td->o.lat_log_file, "lat"); + } else + finish_log(td, td->ts.lat_log, "lat"); + } if (td->ts.slat_log) { if (td->o.lat_log_file) { finish_log_named(td, td->ts.slat_log, @@ -1382,9 +1380,13 @@ static void *gtod_thread_main(void *data) static int fio_start_gtod_thread(void) { + pthread_attr_t attr; int ret; - ret = pthread_create(>od_thread, NULL, gtod_thread_main, NULL); + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN); + ret = pthread_create(>od_thread, &attr, gtod_thread_main, NULL); + pthread_attr_destroy(&attr); if (ret) { log_err("Can't create gtod thread: %s\n", strerror(ret)); return 1;