I can now confirm that this bug is caused by the TV Card. Once I blacklisted the cx8800 and cx88xx modules, the problem went away:
$ cat /etc/modprobe.d/blacklist | tail -2 blacklist cx8800 blacklist cx88xx
$ uname -a Linux unix 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux
$ top
top - 10:07:00 up 1:05, 3 users, load average: 0.00, 0.00, 0.00 Tasks: 151 total, 1 running, 150 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.1%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2075944k total, 682880k used, 1393064k free, 16736k buffers Swap: 3911788k total, 0k used, 3911788k free, 446616k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 18 0 2948 1856 532 S 0 0.1 0:01.31 init 2 root 12 -5 0 0 0 S 0 0.0 0:00.00 kthreadd 3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0 4 root 34 19 0 0 0 S 0 0.0 0:00.13 ksoftirqd/0 5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0 6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1 7 root 39 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1 8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1 9 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/0 10 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/1 11 root 20 -5 0 0 0 S 0 0.0 0:00.00 khelper 31 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/0 32 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/1
I can now confirm that this bug is caused by the TV Card. Once I blacklisted the cx8800 and cx88xx modules, the problem went away:
$ cat /etc/modprobe. d/blacklist | tail -2
blacklist cx8800
blacklist cx88xx
$ uname -a
Linux unix 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux
$ top
top - 10:07:00 up 1:05, 3 users, load average: 0.00, 0.00, 0.00
Tasks: 151 total, 1 running, 150 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.1%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2075944k total, 682880k used, 1393064k free, 16736k buffers
Swap: 3911788k total, 0k used, 3911788k free, 446616k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 18 0 2948 1856 532 S 0 0.1 0:01.31 init
2 root 12 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 34 19 0 0 0 S 0 0.0 0:00.13 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 39 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1
9 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/0
10 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/1
11 root 20 -5 0 0 0 S 0 0.0 0:00.00 khelper
31 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/0
32 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/1