Skip to content

Commit

Permalink
Remove 'uncached' support
Browse files Browse the repository at this point in the history
Experimental kernel patches existed for this, usable via setting
RWF_UNCACHED for the IO. But they never made it into mainline, so
let's mark the option as deprecated and kill off the support for
now.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
axboe committed Aug 29, 2024
1 parent 2a26258 commit 00dc75d
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 25 deletions.
11 changes: 1 addition & 10 deletions engines/io_uring.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ struct ioring_options {
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;
Expand Down Expand Up @@ -244,11 +243,7 @@ static struct fio_option options[] = {
{
.name = "uncached",
.lname = "Uncached",
.type = FIO_OPT_INT,
.off1 = offsetof(struct ioring_options, uncached),
.help = "Use RWF_UNCACHED for buffered read/writes",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_IOURING,
.type = FIO_OPT_SOFT_DEPRECATED,
},
{
.name = "nowait",
Expand Down Expand Up @@ -395,8 +390,6 @@ static int fio_ioring_prep(struct thread_data *td, struct io_u *io_u)
}
}
sqe->rw_flags = 0;
if (!td->o.odirect && o->uncached)
sqe->rw_flags |= RWF_UNCACHED;
if (o->nowait)
sqe->rw_flags |= RWF_NOWAIT;

Expand Down Expand Up @@ -465,8 +458,6 @@ static int fio_ioring_cmd_prep(struct thread_data *td, struct io_u *io_u)
sqe->fd = f->fd;
}
sqe->rw_flags = 0;
if (!td->o.odirect && o->uncached)
sqe->rw_flags |= RWF_UNCACHED;
if (o->nowait)
sqe->rw_flags |= RWF_NOWAIT;

Expand Down
9 changes: 1 addition & 8 deletions engines/sync.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ struct psyncv2_options {
void *pad;
unsigned int hipri;
unsigned int hipri_percentage;
unsigned int uncached;
unsigned int nowait;
};

Expand Down Expand Up @@ -68,11 +67,7 @@ static struct fio_option options[] = {
{
.name = "uncached",
.lname = "Uncached",
.type = FIO_OPT_INT,
.off1 = offsetof(struct psyncv2_options, uncached),
.help = "Use RWF_UNCACHED for buffered read/writes",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_INVALID,
.type = FIO_OPT_SOFT_DEPRECATED,
},
{
.name = "nowait",
Expand Down Expand Up @@ -172,8 +167,6 @@ static enum fio_q_status fio_pvsyncio2_queue(struct thread_data *td,
if (o->hipri &&
(rand_between(&sd->rand_state, 1, 100) <= o->hipri_percentage))
flags |= RWF_HIPRI;
if (!td->o.odirect && o->uncached)
flags |= RWF_UNCACHED;
if (o->nowait)
flags |= RWF_NOWAIT;

Expand Down
4 changes: 0 additions & 4 deletions os/os-linux.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,10 +328,6 @@ static inline int fio_set_sched_idle(void)
#define RWF_NOWAIT 0x00000008
#endif

#ifndef RWF_UNCACHED
#define RWF_UNCACHED 0x00000040
#endif

#ifndef RWF_WRITE_LIFE_SHIFT
#define RWF_WRITE_LIFE_SHIFT 4
#define RWF_WRITE_LIFE_SHORT (1 << RWF_WRITE_LIFE_SHIFT)
Expand Down
6 changes: 3 additions & 3 deletions tools/fiograph/fiograph.conf
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ specific_options=https http_host http_user http_pass http_s3_key http_s3_ke
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 uncached nowait force_async
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async

[ioengine_io_uring_cmd]
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored uncached nowait force_async cmd_type md_per_io_size pi_act pi_chk apptag apptag_mask
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

[ioengine_libaio]
specific_options=userspace_reap cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit nowait
Expand Down Expand Up @@ -108,7 +108,7 @@ specific_options=hostname bindname port verb
specific_options=hipri readfua writefua sg_write_mode stream_id

[ioengine_pvsync2]
specific_options=hipri hipri_percentage uncached nowait sync psync vsync pvsync
specific_options=hipri hipri_percentage nowait sync psync vsync pvsync

[ioengine_xnvme]
specific_options=hipri sqthread_poll xnvme_be xnvme_async xnvme_sync xnvme_admin xnvme_dev_nsid xnvme_iovec

0 comments on commit 00dc75d

Please sign in to comment.