Poor desktop responsiveness with background I/O-operations
From: Ulrich Lukas
Date: Sat Sep 19 2009 - 23:28:54 EST
Hi,
using a recent hard-/software setup, I observed that continuous
read/write operations severely degrade the overall system responsiveness
in typical desktop-PC use cases.
Merely doing write/read operations on a data volume leads to stuck text
and mouse cursors, seconds-long delays for simple window-context
switches in X11, dropouts in low-resolution video playback etc.
Test case:
- 64-bit dual-core PC, SATA harddrive, plenty of free RAM
- vanilla Linux 2.6.31, Kubuntu 9.10 packages, all software 64-bit
How to reproduce:
- start KDE/GNOME-session
- open a terminal window and do as a non-root user:
dd if=/dev/zero of=/home/john-doe/testfile
(or dd if=/home/john-doe/big-testfile of=/dev/null)
- a real use scenario would be a daily disk-backup or the
simple extraction of a tarball containing slightly bigger files
Observation:
- The system becomes _really_ slow as described above; unusable for
any multimedia tasks.
- Using an encrypted (dm-crypt/LUKS) /home (e.g. on mobile computers)
compounds the issue to a painful extent.
Possible culprits (I'm guessing) are the Linux I/O- or CPU scheduler.
I realize that a single heavyweight transfer slows down I/O for the
corresponding transactions/processes/volumes etc.
But there needs to be a fair distribution of I/O or CPU time which
leaves enough for other basic operations. And this doesn't seem to be
the case with recent Linux versions.
On a side note, I've tried the BFS-patches (bfs-221 on 2.6.31): This
yields significantly higher throughput when using disk encryption (50%
improvement with dm-crypt/LUKS, 512 bit aes-xts-plain cipher mode). But
with these patches, the responsiveness was even worse during my quick
test. Switching to a text-mode console: several /minutes/ delay...
I'm attaching my .config for linux 2.6.31 (grep ^C and bzip2-ed)
Attachment:
kernelconfig-linux-2.6.31.bz2
Description: Binary data