The following changes since commit 2a26258077b987ddba0633d07aaec0abfb5462a2: ci: add containers for Alma, Oracle, and Rocky Linux (2024-08-27 18:29:54 +0000) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 00dc75d2f80fc130d2627ed4bb25548ba77e5fbc: Remove 'uncached' support (2024-08-29 07:22:17 -0600) ---------------------------------------------------------------- Jens Axboe (1): Remove 'uncached' support engines/io_uring.c | 11 +---------- engines/sync.c | 9 +-------- os/os-linux.h | 4 ---- tools/fiograph/fiograph.conf | 6 +++--- 4 files changed, 5 insertions(+), 25 deletions(-) --- Diff of recent changes: diff --git a/engines/io_uring.c b/engines/io_uring.c index bfbdc3b4..1d4a6118 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -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; @@ -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", @@ -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; @@ -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; diff --git a/engines/sync.c b/engines/sync.c index d1999122..b8be4eb3 100644 --- a/engines/sync.c +++ b/engines/sync.c @@ -39,7 +39,6 @@ struct psyncv2_options { void *pad; unsigned int hipri; unsigned int hipri_percentage; - unsigned int uncached; unsigned int nowait; }; @@ -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", @@ -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; diff --git a/os/os-linux.h b/os/os-linux.h index c5cd6515..4d150311 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -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) diff --git a/tools/fiograph/fiograph.conf b/tools/fiograph/fiograph.conf index 123c39ae..4621215c 100644 --- a/tools/fiograph/fiograph.conf +++ b/tools/fiograph/fiograph.conf @@ -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 @@ -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