Add vdev property to disable vdev scheduler

Added vdev property to disable the vdev scheduler.
The intention behind this property is to improve IOPS
performance when using o_direct.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: MigeljanImeri <ImeriMigel@gmail.com>
Closes #17358
This commit is contained in:
MigeljanImeri
2026-02-23 12:34:33 -05:00
committed by GitHub
parent d2f5cb3a50
commit 4975430cf5
14 changed files with 206 additions and 2 deletions
+13
View File
@@ -389,9 +389,22 @@ typedef enum {
VDEV_PROP_SIT_OUT,
VDEV_PROP_AUTOSIT,
VDEV_PROP_SLOW_IO_EVENTS,
VDEV_PROP_SCHEDULER,
VDEV_NUM_PROPS
} vdev_prop_t;
/*
* Different scheduling behaviors for vdev scheduler property.
* VDEV_SCHEDULER_AUTO = Let ZFS decide - currently use scheduler on HDDs only.
* VDEV_SCHEDULER_ON = Always queue.
* VDEV_SCHEDULER_OFF = Never queue.
*/
typedef enum {
VDEV_SCHEDULER_AUTO,
VDEV_SCHEDULER_ON,
VDEV_SCHEDULER_OFF
} vdev_scheduler_type_t;
/*
* Dataset property functions shared between libzfs and kernel.
*/