Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit d72b10e3ca2f7e3b7ef4e54ea98e4e964a67192d:

  fio: add FIO_RO_NEEDS_RW_OPEN ioengine flag (2023-02-03 13:26:32 -0500)

are available in the Git repository at:

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

for you to fetch changes up to 6d7f8d9a31f9ecdeab0eed8f23c63b9a94ec61f6:

  engines/libzbc: set FIO_RO_NEEDS_RW_OPEN engine flag (2023-02-06 12:36:37 -0700)

----------------------------------------------------------------
Horshack (1):
      Improve IOPs 50% by avoiding clock sampling when rate options not used

Jens Axboe (2):
      Merge branch 'perf-Avoid_Clock_Check_For_No_Rate_Check' of https://github.com/horshack-dpreview/fio
      engines/libzbc: set FIO_RO_NEEDS_RW_OPEN engine flag

 engines/libzbc.c |  3 ++-
 io_u.c           | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

---

Diff of recent changes:

diff --git a/engines/libzbc.c b/engines/libzbc.c
index 2b63ef1a..dae4fe16 100644
--- a/engines/libzbc.c
+++ b/engines/libzbc.c
@@ -469,7 +469,8 @@ FIO_STATIC struct ioengine_ops ioengine = {
 	.get_max_open_zones	= libzbc_get_max_open_zones,
 	.finish_zone		= libzbc_finish_zone,
 	.queue			= libzbc_queue,
-	.flags			= FIO_SYNCIO | FIO_NOEXTEND | FIO_RAWIO,
+	.flags			= FIO_SYNCIO | FIO_NOEXTEND | FIO_RAWIO |
+				  FIO_RO_NEEDS_RW_OPEN,
 };
 
 static void fio_init fio_libzbc_register(void)
diff --git a/io_u.c b/io_u.c
index 8035f4b7..eb617e64 100644
--- a/io_u.c
+++ b/io_u.c
@@ -785,7 +785,15 @@ static enum fio_ddir get_rw_ddir(struct thread_data *td)
 	else
 		ddir = DDIR_INVAL;
 
-	td->rwmix_ddir = rate_ddir(td, ddir);
+	if (!should_check_rate(td)) {
+		/*
+		 * avoid time-consuming call to utime_since_now() if rate checking
+		 * isn't being used. this imrpoves IOPs 50%. See:
+		 * https://github.com/axboe/fio/issues/1501#issuecomment-1418327049
+		 */
+		td->rwmix_ddir = ddir;
+	} else
+		td->rwmix_ddir = rate_ddir(td, ddir);
 	return td->rwmix_ddir;
 }
 



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux