Recent changes (master)

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

 



The following changes since commit 052046a1e92bff19ecae277670a59fb726a66b86:

  binject: don't use void* for pointer arithmetic (gcc) (2017-06-12 14:51:01 -0600)

are available in the git repository at:

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

for you to fetch changes up to 72cd4146e538450b8789095b910ffce2b397a06c:

  sync: add support for write life time hint (2017-06-14 09:55:40 -0600)

----------------------------------------------------------------
Jens Axboe (1):
      sync: add support for write life time hint

 engines/sync.c | 26 ++++++++++++++++++++++++++
 os/os-linux.h  |  8 ++++++++
 2 files changed, 34 insertions(+)

---

Diff of recent changes:

diff --git a/engines/sync.c b/engines/sync.c
index e76bbbb..69d5e21 100644
--- a/engines/sync.c
+++ b/engines/sync.c
@@ -36,6 +36,7 @@ struct syncio_data {
 struct psyncv2_options {
 	void *pad;
 	unsigned int hipri;
+	unsigned int stream;
 };
 
 static struct fio_option options[] = {
@@ -49,6 +50,29 @@ static struct fio_option options[] = {
 		.group	= FIO_OPT_G_INVALID,
 	},
 	{
+		.name	= "stream",
+		.lname	= "Stream ID",
+		.type	= FIO_OPT_STR,
+		.off1	= offsetof(struct psyncv2_options, stream),
+		.help	= "Set expected write life time",
+		.category = FIO_OPT_C_ENGINE,
+		.group	= FIO_OPT_G_INVALID,
+		.posval = {
+			  { .ival = "short",
+			    .oval = RWF_WRITE_LIFE_SHORT,
+			  },
+			  { .ival = "medium",
+			    .oval = RWF_WRITE_LIFE_MEDIUM,
+			  },
+			  { .ival = "long",
+			    .oval = RWF_WRITE_LIFE_LONG,
+			  },
+			  { .ival = "extreme",
+			    .oval = RWF_WRITE_LIFE_EXTREME,
+			  },
+		},
+	},
+	{
 		.name	= NULL,
 	},
 };
@@ -134,6 +158,8 @@ static int fio_pvsyncio2_queue(struct thread_data *td, struct io_u *io_u)
 
 	if (o->hipri)
 		flags |= RWF_HIPRI;
+	if (o->stream)
+		flags |= o->stream;
 
 	iov->iov_base = io_u->xfer_buf;
 	iov->iov_len = io_u->xfer_buflen;
diff --git a/os/os-linux.h b/os/os-linux.h
index 008ce2d..09e7413 100644
--- a/os/os-linux.h
+++ b/os/os-linux.h
@@ -319,6 +319,14 @@ static inline int fio_set_sched_idle(void)
 #define RWF_SYNC	0x00000004
 #endif
 
+#ifndef RWF_WRITE_LIFE_SHIFT
+#define RWF_WRITE_LIFE_SHIFT		4
+#define RWF_WRITE_LIFE_SHORT		(1 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_MEDIUM		(2 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_LONG		(3 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_EXTREME		(4 << RWF_WRITE_LIFE_SHIFT)
+#endif
+
 #ifndef CONFIG_PWRITEV2
 #ifdef __NR_preadv2
 static inline void make_pos_h_l(unsigned long *pos_h, unsigned long *pos_l,
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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