Messages in this thread | | | Date | Tue, 10 Apr 2012 15:56:39 +0200 | From | Jens Axboe <> | Subject | Re: [RFC PATCH] block: Change default IO scheduler to deadline except SATA |
| |
On 2012-04-10 15:37, Vivek Goyal wrote: > Hi, > > I am wondering if CFQ as default scheduler is still the right choice. CFQ > generally works well on slow rotational media (SATA?). But often > underperforms on faster storage (storage arrays, PCIE SSDs, virtualized > disk in linux guests etc). People often put logic in user space to tune their > systems and change IO scheduler to deadline to get better performance on > faster storage. > > Though there is not one good answer for all kind of storage and for all > kind of workloads, I am wondering if we can provide a better default and > that is change default IO scheduler to "deadline" except SATA. > > One can argue that some SAS disks can be slow too and benefit from CFQ. Yes, > but default IO scheduler choice is not perfect anyway. It just tries to > cater to a wide variety of use cases out of the box. > > So I am throwing this patch out see if it flies. Personally, I think it > might turn out to be a more reasonable default.
I think it'd be a lot more sane to just use CFQ on rotational single devices, and default to deadline on raid or non-rotational devices. This still isn't perfect, since less worthy SSDs still benefit from the read/write separation, and some multi device configs will be faster as well. But it's better.
The below patch is not a good idea. There's no clear distinction between on what CFQ is now the default.
-- Jens Axboe
| |