What does Fedora Workstation 29 use as the default I/O scheduler?
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
Background information
The Fedora 29 release includes a Linux kernel from the 4.19 series. EDIT: The initial Fedora 29 release installs a kernel from the 4.18 series. However, a subsequent software update installs a 4.19 kernel.
Starting in version 4.19, the mainline kernel has CONFIG_SCSI_MQ_DEFAULT
as default y
. This means SCSI devices, including SATA, will use the new multi-queue (MQ) block layer.
(Linux treats SATA devices as being SCSI, using a translation like the SAT standard).
Block devices using the new MQ system use a new set of I/O schedulers. These include none
, mq-deadline
, bfq
.
The mainline 4.19 kernel initializes the I/O scheduler to mq-deadline
for all MQ devices. https://elixir.bootlin.com/linux/v4.19/source/block/elevator.c#L970
The default scheduler for the legacy SQ block layer is CFQ, which BFQ was based on. A suggestion has been made to automatically switch the I/O scheduler to BFQ, for block devices which use MQ but only have a single hardware queue. This suggestion was not accepted for 4.19.
=> The kernel's default I/O scheduler can vary, depending on the type of device: SCSI/SATA, MMC/eMMC, etc.
CFQ attempts to support some level of "fairness" and I/O priorities (ionice
). It has various complexities. BFQ is even more complex; it supports ionice
but also has heuristics to classify and prioritize some I/O automatically. deadline
style scheduling is simpler; it does not support ionice
at all.
=> Users with the Linux default kernel configuration, SATA devices, and no additional userspace policy (e.g. no udev
rules), will be subject to a change in behaviour in 4.19. Where ionice
used to work, it will no longer have any effect.
However Fedora includes specific kernel patches / configuration. Fedora also includes userspace policies such as default udev
rules.
What does Fedora Workstation 29 use as the default I/O scheduler? If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
fedora linux-kernel io scsi
add a comment |
up vote
2
down vote
favorite
If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
Background information
The Fedora 29 release includes a Linux kernel from the 4.19 series. EDIT: The initial Fedora 29 release installs a kernel from the 4.18 series. However, a subsequent software update installs a 4.19 kernel.
Starting in version 4.19, the mainline kernel has CONFIG_SCSI_MQ_DEFAULT
as default y
. This means SCSI devices, including SATA, will use the new multi-queue (MQ) block layer.
(Linux treats SATA devices as being SCSI, using a translation like the SAT standard).
Block devices using the new MQ system use a new set of I/O schedulers. These include none
, mq-deadline
, bfq
.
The mainline 4.19 kernel initializes the I/O scheduler to mq-deadline
for all MQ devices. https://elixir.bootlin.com/linux/v4.19/source/block/elevator.c#L970
The default scheduler for the legacy SQ block layer is CFQ, which BFQ was based on. A suggestion has been made to automatically switch the I/O scheduler to BFQ, for block devices which use MQ but only have a single hardware queue. This suggestion was not accepted for 4.19.
=> The kernel's default I/O scheduler can vary, depending on the type of device: SCSI/SATA, MMC/eMMC, etc.
CFQ attempts to support some level of "fairness" and I/O priorities (ionice
). It has various complexities. BFQ is even more complex; it supports ionice
but also has heuristics to classify and prioritize some I/O automatically. deadline
style scheduling is simpler; it does not support ionice
at all.
=> Users with the Linux default kernel configuration, SATA devices, and no additional userspace policy (e.g. no udev
rules), will be subject to a change in behaviour in 4.19. Where ionice
used to work, it will no longer have any effect.
However Fedora includes specific kernel patches / configuration. Fedora also includes userspace policies such as default udev
rules.
What does Fedora Workstation 29 use as the default I/O scheduler? If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
fedora linux-kernel io scsi
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
Background information
The Fedora 29 release includes a Linux kernel from the 4.19 series. EDIT: The initial Fedora 29 release installs a kernel from the 4.18 series. However, a subsequent software update installs a 4.19 kernel.
Starting in version 4.19, the mainline kernel has CONFIG_SCSI_MQ_DEFAULT
as default y
. This means SCSI devices, including SATA, will use the new multi-queue (MQ) block layer.
(Linux treats SATA devices as being SCSI, using a translation like the SAT standard).
Block devices using the new MQ system use a new set of I/O schedulers. These include none
, mq-deadline
, bfq
.
The mainline 4.19 kernel initializes the I/O scheduler to mq-deadline
for all MQ devices. https://elixir.bootlin.com/linux/v4.19/source/block/elevator.c#L970
The default scheduler for the legacy SQ block layer is CFQ, which BFQ was based on. A suggestion has been made to automatically switch the I/O scheduler to BFQ, for block devices which use MQ but only have a single hardware queue. This suggestion was not accepted for 4.19.
=> The kernel's default I/O scheduler can vary, depending on the type of device: SCSI/SATA, MMC/eMMC, etc.
CFQ attempts to support some level of "fairness" and I/O priorities (ionice
). It has various complexities. BFQ is even more complex; it supports ionice
but also has heuristics to classify and prioritize some I/O automatically. deadline
style scheduling is simpler; it does not support ionice
at all.
=> Users with the Linux default kernel configuration, SATA devices, and no additional userspace policy (e.g. no udev
rules), will be subject to a change in behaviour in 4.19. Where ionice
used to work, it will no longer have any effect.
However Fedora includes specific kernel patches / configuration. Fedora also includes userspace policies such as default udev
rules.
What does Fedora Workstation 29 use as the default I/O scheduler? If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
fedora linux-kernel io scsi
If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
Background information
The Fedora 29 release includes a Linux kernel from the 4.19 series. EDIT: The initial Fedora 29 release installs a kernel from the 4.18 series. However, a subsequent software update installs a 4.19 kernel.
Starting in version 4.19, the mainline kernel has CONFIG_SCSI_MQ_DEFAULT
as default y
. This means SCSI devices, including SATA, will use the new multi-queue (MQ) block layer.
(Linux treats SATA devices as being SCSI, using a translation like the SAT standard).
Block devices using the new MQ system use a new set of I/O schedulers. These include none
, mq-deadline
, bfq
.
The mainline 4.19 kernel initializes the I/O scheduler to mq-deadline
for all MQ devices. https://elixir.bootlin.com/linux/v4.19/source/block/elevator.c#L970
The default scheduler for the legacy SQ block layer is CFQ, which BFQ was based on. A suggestion has been made to automatically switch the I/O scheduler to BFQ, for block devices which use MQ but only have a single hardware queue. This suggestion was not accepted for 4.19.
=> The kernel's default I/O scheduler can vary, depending on the type of device: SCSI/SATA, MMC/eMMC, etc.
CFQ attempts to support some level of "fairness" and I/O priorities (ionice
). It has various complexities. BFQ is even more complex; it supports ionice
but also has heuristics to classify and prioritize some I/O automatically. deadline
style scheduling is simpler; it does not support ionice
at all.
=> Users with the Linux default kernel configuration, SATA devices, and no additional userspace policy (e.g. no udev
rules), will be subject to a change in behaviour in 4.19. Where ionice
used to work, it will no longer have any effect.
However Fedora includes specific kernel patches / configuration. Fedora also includes userspace policies such as default udev
rules.
What does Fedora Workstation 29 use as the default I/O scheduler? If it depends on the exact type of block device, then what is the default I/O scheduler for each type of device?
fedora linux-kernel io scsi
fedora linux-kernel io scsi
edited Nov 24 at 16:22
asked Nov 24 at 15:47
sourcejedi
22.1k43397
22.1k43397
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
3
down vote
accepted
Fedora 29 ships with the 4.18.16 kernel. It appears that CFQ is the default.
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
As of this writing (November 24, 2018), 4.19.3 is available as update for F29. But, the config options do not appear to have changed.
4.20.0 (RC1) is in the "Rawhide" devel tree. In that devel-tree kernel, CFQ is still the default, and CONFIG_SCSI_MQ_DEFAULT
is still unset. The Fedora Kernel list at https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/ is the best place to discuss whether this should change.
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
Fedora 29 ships with the 4.18.16 kernel. It appears that CFQ is the default.
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
As of this writing (November 24, 2018), 4.19.3 is available as update for F29. But, the config options do not appear to have changed.
4.20.0 (RC1) is in the "Rawhide" devel tree. In that devel-tree kernel, CFQ is still the default, and CONFIG_SCSI_MQ_DEFAULT
is still unset. The Fedora Kernel list at https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/ is the best place to discuss whether this should change.
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
add a comment |
up vote
3
down vote
accepted
Fedora 29 ships with the 4.18.16 kernel. It appears that CFQ is the default.
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
As of this writing (November 24, 2018), 4.19.3 is available as update for F29. But, the config options do not appear to have changed.
4.20.0 (RC1) is in the "Rawhide" devel tree. In that devel-tree kernel, CFQ is still the default, and CONFIG_SCSI_MQ_DEFAULT
is still unset. The Fedora Kernel list at https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/ is the best place to discuss whether this should change.
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
Fedora 29 ships with the 4.18.16 kernel. It appears that CFQ is the default.
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
As of this writing (November 24, 2018), 4.19.3 is available as update for F29. But, the config options do not appear to have changed.
4.20.0 (RC1) is in the "Rawhide" devel tree. In that devel-tree kernel, CFQ is still the default, and CONFIG_SCSI_MQ_DEFAULT
is still unset. The Fedora Kernel list at https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/ is the best place to discuss whether this should change.
Fedora 29 ships with the 4.18.16 kernel. It appears that CFQ is the default.
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
As of this writing (November 24, 2018), 4.19.3 is available as update for F29. But, the config options do not appear to have changed.
4.20.0 (RC1) is in the "Rawhide" devel tree. In that devel-tree kernel, CFQ is still the default, and CONFIG_SCSI_MQ_DEFAULT
is still unset. The Fedora Kernel list at https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/ is the best place to discuss whether this should change.
edited Nov 24 at 16:22
answered Nov 24 at 16:07
mattdm
27.7k1172111
27.7k1172111
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
add a comment |
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
I don't think we have any udev rules to change this; there'd need to be a special circumstance for us to do it that way rather than with kernel config, I think.
– mattdm
Nov 24 at 16:10
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
Thanks again! I asked because I have a spinning HDD and was not really convinced about the upstream default of mq-deadline :-). I'm not hoping for Fedora to change - yet. Because I haven't tried BFQ yet. That might change soon :-).
– sourcejedi
Nov 24 at 16:26
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f483881%2fwhat-does-fedora-workstation-29-use-as-the-default-i-o-scheduler%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown