Public bug reported:

Ubuntu currently uses the kernel default i/o scheduler, CFQ. I strongly
believe that this is the wrong scheduler to use for the vast majority of
likely Ubuntu desktop installs because it causes huge lag in interactive
applications under the heavy kind of i/o typically experienced during a
file copy or backup operation.

DISCLAIMER: Of course it's always hard to justify these sorts of claims
because desktop responsiveness is a notoriously woolly and hard to
measure thing, but without at least suggesting some solutions I don't
see how we can improve it, hence this bug report.

With that said, I would politely request that the Ubuntu kernel team at
least examine the performance, and very importantly, the general desktop
responsiveness experienced when using a variety of different i/o
schedulers. I also think this could go a long way to solving bug no.
131094 , especially since numerous users in that bug thread have
reported significant improvements in responsiveness after changing i/o
schedulers.

To reproduce on a standard ubuntu desktop, open (for example) a music
player, firefox and/or any other slightly latency sensitive ui
applications. Now execute:

sudo dd if=/dev/$ROOTPARTITION of=/dev/zero bs=10M

where $ROOTPARTITION is your root partition eg sda1, hdb2 or whatever.
This should simulate the heavy i/o likely to be experienced whilst doing
a large file copy/backup or similar. Now go back to normal web
browsing/email writing/whatever and observe some truly horrible ui lag
and general unresponsiveness.

The current i/o scheduler for a particular partition can be changed on
the fly by editing /sys/block/$PARTITION/queue/scheduler. "cat
/sys/block/$PARTITION/queue/scheduler" will tell you the current i/o
scheduler in use as well as other possible other schedulers that can be
used. To change it, you must become root with sudo -s and then "echo
$SCHEDULER > /sys/block/sdx/queue/scheduler". The i/o scheduler can be
set to a different default globally by appending the elevator=$SCHEDULER
option to the grub kernel boot stanza.

Try changing the i/o scheduler for your root  partition to "deadline"
for example and repeat the test. I observed MASSIVELY improved ui
responsiveness during the heavy i/o test on my desktop, and several
others who I have discussed this with have seen similar improvements.
Now I'm certainly NOT saying "switch to the deadline i/o scheduler", but
I do think the ubuntu kernel devs should experiment a bit and see if
perhaps the current i/o scheduler is not the best option for desktop
responsiveness. After all, a scheduler that copes well with the typical
tasks a server has to deal with may not also cope as well with the tasks
a desktop has to deal with and vice versa. For Ubuntu Desktop, perceived
desktop performance and interactivity should come first, so perhaps the
kernel defaults here (which could possibly be tuned more for server-type
workloads) may not be the best option.

ProblemType: Bug
Architecture: amd64
DistroRelease: Ubuntu 9.04
MachineType: System manufacturer P5QL PRO
NonfreeKernelModules: nvidia
Package: linux-image-2.6.28-15-generic 2.6.28-15.49
ProcCmdLine: root=UUID=f9c198f6-df39-49bf-9444-a1ad71d16bf6 ro 
elevator=deadline quiet splash
ProcEnviron:
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.28-15.49-generic
SourcePackage: linux

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug

-- 
CFQ may not be the right choice of i/o scheduler for the most common desktop 
systems
https://bugs.launchpad.net/bugs/427210
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to