unsigned int sqpoll_set;
unsigned int sqpoll_cpu;
unsigned int nonvectored;
+ unsigned int uncached;
unsigned int nowait;
unsigned int force_async;
unsigned int md_per_io_size;
{
.name = "uncached",
.lname = "Uncached",
- .type = FIO_OPT_SOFT_DEPRECATED,
+ .type = FIO_OPT_INT,
+ .off1 = offsetof(struct ioring_options, uncached),
+ .help = "Use RWF_DONTCACHE for buffered read/writes",
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_IOURING,
},
{
.name = "nowait",
}
}
sqe->rw_flags = 0;
+ if (!td->o.odirect && o->uncached)
+ sqe->rw_flags |= RWF_DONTCACHE;
if (o->nowait)
sqe->rw_flags |= RWF_NOWAIT;
if (td->o.oatomic && io_u->ddir == DDIR_WRITE)
sqe->fd = f->fd;
}
sqe->rw_flags = 0;
+ if (!td->o.odirect && o->uncached)
+ sqe->rw_flags |= RWF_DONTCACHE;
if (o->nowait)
sqe->rw_flags |= RWF_NOWAIT;
void *pad;
unsigned int hipri;
unsigned int hipri_percentage;
+ unsigned int uncached;
unsigned int nowait;
};
{
.name = "uncached",
.lname = "Uncached",
- .type = FIO_OPT_SOFT_DEPRECATED,
+ .type = FIO_OPT_INT,
+ .off1 = offsetof(struct psyncv2_options, uncached),
+ .help = "Use RWF_DONTCACHE for buffered read/writes",
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_INVALID,
},
{
.name = "nowait",
if (o->hipri &&
(rand_between(&sd->rand_state, 1, 100) <= o->hipri_percentage))
flags |= RWF_HIPRI;
+ if (!td->o.odirect && o->uncached)
+ flags |= RWF_DONTCACHE;
if (o->nowait)
flags |= RWF_NOWAIT;
#define RWF_ATOMIC 0x00000040
#endif
+#ifndef RWF_DONTCACHE
+#define RWF_DONTCACHE 0x00000080
+#endif
+
#ifndef RWF_WRITE_LIFE_SHIFT
#define RWF_WRITE_LIFE_SHIFT 4
#define RWF_WRITE_LIFE_SHORT (1 << RWF_WRITE_LIFE_SHIFT)
specific_options=ime_psync ime_psyncv
[ioengine_io_uring]
-specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async atomic
+specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async atomic uncached
[ioengine_io_uring_cmd]
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async cmd_type md_per_io_size pi_act pi_chk apptag apptag_mask
specific_options=hipri readfua writefua sg_write_mode stream_id
[ioengine_pvsync2]
-specific_options=hipri hipri_percentage nowait sync psync vsync pvsync atomic
+specific_options=hipri hipri_percentage nowait sync psync vsync pvsync atomic uncached
[ioengine_xnvme]
specific_options=hipri sqthread_poll xnvme_be xnvme_async xnvme_sync xnvme_admin xnvme_dev_nsid xnvme_iovec