Very poor desktop response (high latency) during I/O-load with SATA+NCQ
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-image-
I run Ubuntu on a moderately powerful quad-core x86-64 system and the desktop response is basically crippled whenever something is reading or writing large files as fast as it can (at normal priority).
As an example scenario:
1) Do: $ cat /path/to/LARGE_FILE > /dev/null
This will start a process reading a large file as fast as it can.
2) Everything else gets completely unusable because of the I/O latency. Opening a new Firefox tab takes seconds,
loading a web page takes ages, reading email with Evolution is extremely slow, etc. Basically anything that needs
to read or write something to disk, other than the cat process, is slowed down to a crawl (I/O-starved). Forget about starting up new programs, they will only appear after the process started in 1) has finished completely with dumping the entire file to /dev/null. As an example here, I launched 'gedit' as soon as I had started 1), and it appeared only after cat exited.
3) As soon as the cat-process is finished, everything gets back to normal and system is fine and snappy again.
4) The throughput itself is good, but the problem is that it completely starves the rest of the system I/O-wise, using only Ubuntu default settings.
It shouldn't be like this for a deskop-oriented distro on relatively powerful hardware (quad-core CPU, 64bit, 8GM RAM).
Disabling NCQ, by doing:
$ echo 1 > /sys/block/
improves the situation quite a bit, but it is still painful, and not as fair as one would like when using "Completely Fair Queuing" I/O-scheduler under read-load. Write load is also painful, i.e. when copying large files from a different drive to the main SATA drive, or copy from drive to itself. Except for the issue at hand, there are no problems with hard drive performance or system stability in general.
System summary:
Ubuntu Intrepid x86-64 (using kernel 2.6.27-13)
Disk mount options at defaults, I/O-scheduler is default CFQ.
The main hard drive holds both root partition and /home-partition. All relevant
file systems are EXT3 with Ubuntu default mount options (ordered, relatime).
NCQ is enabled for this particular drive (libata reports depth 31/32 at boot).
Hardware:
ASUS P5E WS Pro, Intel X38 Express / Intel ICH9R
Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz
8 GB RAM
Main SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller (rev 02)
Main hard drive: Western Digial WD5000AACS-00ZUB0, SATA NCQ enabled.
I will attach:
1) Output of command 'lspci -vv', run as root
2) Kernel log from boot
Changed in linux (Ubuntu): | |
assignee: | Jim Lieb (lieb) → nobody |
Thank you for reporting this problem. It helps us make Ubuntu better. Would you please follow this link (http:// www.howtoforge. com/measuring- linux-latency- with-latencytop -on-ubuntu- 8.10-and- debian- lenny) and give us the results? It could be very useful info to help us help you.