Announcement

Collapse
No announcement yet.

BFQ Is One Step Closer To Being Merged Into The Linux Kernel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BFQ Is One Step Closer To Being Merged Into The Linux Kernel

    Phoronix: BFQ Is One Step Closer To Being Merged Into The Linux Kernel

    For years the BFQ I/O scheduler has been trying to get in the mainline kernel and it looks like they have an action plan for getting accepted upstream...

    http://www.phoronix.com/scan.php?pag...er-Step-1-Of-3

  • #2
    Yay good news

    Comment


    • #3
      BFQ vs CFQ?
      Which is better? Which is better for what? Which is better under what conditions?
      How do they differ?
      How do they conceptually work?

      Comment


      • #4
        Originally posted by uid313 View Post
        BFQ vs CFQ?
        Which is better? Which is better for what? Which is better under what conditions?
        How do they differ?
        How do they conceptually work?
        BFQ because B is before C.

        Comment


        • #5
          Michael, how hard would it be to run a few BFQ vs CFQ benchmarks? Looking back through the archives, it seems that Phoronix has never done such comparisons. It would be really interesting to see if the mind-blowing improvements and benchmarks posted on the BFQ website can be independently validated by an impartial evaluator like yourself.
          Last edited by stan; 06-08-2015, 09:54 AM.

          Comment


          • #6
            Originally posted by uid313 View Post
            BFQ vs CFQ?
            Which is better? Which is better for what? Which is better under what conditions?
            How do they differ?
            How do they conceptually work?
            Here a comparison with the BFQ-v7r4, CFQ, DEADLINE and NOOP, under kernel3.14 :

            http://algo.ing.unimo.it/people/paol...ed/results.php

            Comment


            • #7
              Originally posted by uid313 View Post
              BFQ vs CFQ?
              Which is better? Which is better for what? Which is better under what conditions?
              How do they differ?
              How do they conceptually work?

              CFQ scales better and works well for severs, typically has better troughput and good enough properties for desktop.
              BFQ is simple, it doesn't scale too well, is oriented on desktops/mobile platform, has superior interactivity (which is better for desktop use, typically).

              BFQ is sometimes used on android phones (cyanogen comes to mind), but Google (or somebody, don't remember exactly) did double blind test CFQ vs BFQ and results were inconclusive (e.g. users haven't noticed the difference between the two). Also, BFQ is less tested, potentially buggy and doesn't perform too well outside it's intended workloads.
              I dare to say that BFQ makes sense on desktop and one can really notice the difference when doing batch IO opperations and still being able to use a webbrowser which doesn't get stuck waiting on some small IO transaction, write to database or read from cache).

              Comment


              • #8
                Originally posted by phoronix View Post
                Phoronix: BFQ Is One Step Closer To Being Merged Into The Linux Kernel

                ...it appears BFQ getting accepted is becoming quite close.
                Unfortunately, no. Steps 2 and 3 basically amount to the BFQ developers coming up with a patch set to turn CFQ into BFQ, and this is a big job. Jens Axboe has unreasonably stated that BFQ will never be accepted as an alternate I/O scheduler in the linux kernel. His demand is that BFQ replace CFQ, even though the two schedulers are quite different. The reasonable thing to do would be to accept BFQ as an additional I/O scheduler, and then as people use it and it continues to be developed, if it obsoletes CFQ then CFQ could be removed at a later date. It makes no sense to force BFQ to replace CFQ from the start, when linux already has an architecture that supports multiple I/O schedulers.

                Comment


                • #9
                  Originally posted by tpruzina View Post
                  BFQ is sometimes used on android phones (cyanogen comes to mind), but Google (or somebody, don't remember exactly) did double blind test CFQ vs BFQ and results were inconclusive (e.g. users haven't noticed the difference between the two).
                  Are you sure about it?
                  I think you are making confusion with the test relating CK's BFS and CFS, the process CPU schedulers.

                  Comment


                  • #10
                    Originally posted by jwilliams View Post

                    Unfortunately, no. Steps 2 and 3 basically amount to the BFQ developers coming up with a patch set to turn CFQ into BFQ, and this is a big job. Jens Axboe has unreasonably stated that BFQ will never be accepted as an alternate I/O scheduler in the linux kernel. His demand is that BFQ replace CFQ, even though the two schedulers are quite different. The reasonable thing to do would be to accept BFQ as an additional I/O scheduler, and then as people use it and it continues to be developed, if it obsoletes CFQ then CFQ could be removed at a later date. It makes no sense to force BFQ to replace CFQ from the start, when linux already has an architecture that supports multiple I/O schedulers.
                    Can't someone just fork BFQ to "AFQ" and then submit that to the kernel?

                    Comment

                    Working...
                    X