Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: A Proposal To Change The Default I/O Scheduler

  1. #1
    Join Date
    Jan 2007
    Posts
    13,474

    Default A Proposal To Change The Default I/O Scheduler

    Phoronix: A Proposal To Change The Default I/O Scheduler

    A patch was volleyed into the Linux kernel development camp to change the default I/O scheduler for non-SATA disk drives...

    http://www.phoronix.com/vr.php?view=MTA4NTQ

  2. #2
    Join Date
    Dec 2011
    Posts
    1,936

    Default Sounds good

    Sounds good to me.
    CFQ shouldn't be used for PCI Express storage devices. It should be either deadline or noop.

    I love my SSD <3

  3. #3
    Join Date
    Jan 2009
    Posts
    459

    Default

    I wonder if IO-scheduler should be a mount option.

  4. #4
    Join Date
    Jan 2012
    Location
    Italy
    Posts
    52

    Default

    Can't the two schedulers coexist in some way? I'm ignorant about that, but it obviously would be the better solution, because penalizing HDD users (which are more than SSD users, not only in the desktop market) sounds like a bad idea.

  5. #5
    Join Date
    Oct 2010
    Posts
    371

    Default

    This will be only for non-SATA drives (pci-e SSD, etc.), so most rotating media should be unaffected.

    Shouldn't it say non-ATA, though? That should also exclude SATA, though I guess they could want to include ATA for some reason....
    Last edited by Nobu; 04-10-2012 at 07:27 PM. Reason: Added link for example

  6. #6
    Join Date
    Jan 2011
    Posts
    1,287

    Default

    Is the IO scheduler defined on build time or mount time (or any other criteria I can't think about)? How do I change it if it's not defined at build time?

  7. #7
    Join Date
    Jan 2011
    Posts
    180

    Default

    Quote Originally Posted by russofris View Post
    I wonder if IO-scheduler should be a mount option.
    No, because it is not a feature at the file-system level, also I would imagine the kernel only creates a per-disk queue, rather than a per-partition queue. If it were a mount option, you could get conflicts about what block on the device the kernel should access next. (It would require you write a scheduler to schedule each schedulers access to the block device, which is messy to say the least)

    Quote Originally Posted by mrugiero View Post
    Is the IO scheduler defined on build time or mount time (or any other criteria I can't think about)? How do I change it if it's not defined at build time?
    There is a sysFS interface for per-disk schedulers.

    echo the name of the scheduler you want into

    /sys/block/sd<X>/queue/scheduler

    i.e...
    echo "cfq" > /sys/block/sdb/queue/scheduler

    (running cat on that file will tell you the current selection and all valid options)

    Make it permanent by adding it to you local level rc or init file.

    You can set your default block device scheduler when configuring a custom kernel, or by passing a boot option.

    There first is permenant by itself, the second requires editing the grub defaults file.
    Last edited by WorBlux; 04-10-2012 at 08:00 PM.

  8. #8
    Join Date
    Jan 2011
    Posts
    1,287

    Default

    Thanks a lot, WorBlux.

  9. #9
    Join Date
    Nov 2011
    Location
    Orange County, CA
    Posts
    66

    Default Easily fixed

    Just start a little program that reads a few sectors across the LBA range. That'll tell you immediately if you have a slowpoke rotating drive or not.

  10. #10
    Join Date
    Jun 2010
    Location
    Italy
    Posts
    20

    Default Why not bfq?

    I have to say that cfq io scheduler has become a little bit slower in latest kernel compared to previous releases (using ata rotational disk).

    Only recently I discovered bfq io scheduler, and i have to say it gives a nice boost to latency.

    Why not planning a benchmark on most used io scheduler (cfq, deadline, bfq) on different disks (sata, ssd, raid..)?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •