Karmic I/O scheduler issues

Tim Gardner tim.gardner at canonical.com
Fri Oct 2 18:14:04 UTC 2009


Tim Gardner wrote:
> Tim Gardner wrote:
>> I've been messing with I/O scheduler settings in the last couple of
>> uploads. We found that CFQ has some serious issues that contributed to
>> delayed boot times, so I changed the default to Deadline in
>> 2.6.31-10.35. Scott Remnant reported that changing to Deadline shaved 40
>> seconds off his boot.
>>
>> Since then I found this info: http://bugs.launchpad.net/bugs/436342
>>
>> I've been running a kernel with this patch and CFQ enabled. Perhaps some
>> other folks could compare and contrast Deadline v.s. CFQ using their
>> workloads. I find that CFQ is working a bit better then Deadline. I can
>> run a 'make -j8' kernel build and still watch video while also playing
>> music and reading email (without _too_ much stalling). Deadline is
>> noticeably less smooth when the load average approaches 8.
>>
>> Adventurous types can try this kernel from
>>
>> http://kernel.ubuntu.com/~rtg/2.6.31-11-NEW_FAIR_SLEEPERS
>> (when its done copying)
>>
>> You can swizzle your I/O scheduler settings thusly:
>>
>> YOUR_BLOCK_DEVICE=sda
>> cat /sys/block/$YOUR_BLOCK_DEVICE/queue/schedule
>> echo cfq | sudo tee /sys/block/$YOUR_BLOCK_DEVICE/queue/scheduler
>>
>> rtg
> 
> There is some good discussion about I/O scheduling and SSDs from Colin King:
> 
> http://smackerelofopinion.blogspot.com/2009/09/using-noop-io-scheduler.html
> 
> rtg

Ok, all you I/O scheduler crack-heads (myself included), I've reverted
the -generic flavour to CFQ as the default and placed the resulting
kernels at http://kernel.ubuntu.com/~rtg/2.6.31-11.38-Desktop-CFQ.
You'll note from the
https://edge.launchpad.net/ubuntu/+source/linux/2.6.31-11.38 changelog
that 'sched: Disable NEW_FAIR_SLEEPERS for now' is now committed.

I've tested this on a Dell mini-9 (35 second auto-login boot, same as
deadline), and on my Nehalem hyper-threaded quad core (my dev box).
While I don't really care about boot times on my dev box, I _do_ care
about interactive latencies while building kernels and such. There is a
big difference in behavior between DEADLINE and CFQ when under load,
e.g., the same workload using DEADLINE is quite jerky compared to the
same workload with CFQ. I realize that its quite a subjective judgment.

So, what I'm looking for is a little feedback about how this treats you.
Does it make a difference whether you have spinning media v.s. SSD?

I've already heard from Scott Remnant that he is _not_ in favor of
changing the default I/O scheduler setting. (actually a bit of an
understatement)

rtg
-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list