What does Fedora Workstation 29 use as the default I/O scheduler?

The name of the pictureThe name of the pictureThe name of the pictureClash 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?










share|improve this question



























    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?










    share|improve this question

























      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?










      share|improve this question















      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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 at 16:22

























      asked Nov 24 at 15:47









      sourcejedi

      22.1k43397




      22.1k43397




















          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.






          share|improve this answer






















          • 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










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          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

























          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.






          share|improve this answer






















          • 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














          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.






          share|improve this answer






















          • 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












          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.






          share|improve this answer














          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.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          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
















          • 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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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






          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?