Ubuntu Sluggish or Slow

I was recently having a problem where my new computer was becoming extremely sluggish while running Ubuntu Linux 11.04.  The keyboard input was very delayed and slow.  The graphics were terribly slow.  Just about everything in the system became very slow.  I’ve heard reports from similar problems, of complete lockups.  It seemed to be linked to when the screensaver was activated, or power management was activated.  But, after having disabled both, and continuing to have problems, I realized that wasn’t it.  Keep reading for the solution to my problem; I hope it helps you too.

I searched Google to no avail.  I was completely unable to use the correct search terms to find anything relevant, except to find that others were having the same problems.  But, I found no solutions in any of the posts I found, or even hints of how to diagnose such a thing.  So, I finally decided that I should be a programmer instead of a user.  After all, I moved to Ubuntu so that I could be a user; I don’t really have the time to be tinkering with my system these days.

My new system is made up of the following core components

  • ASUS P8P67 EVO motherboard
  • I7 2600k
  • eVGA GeForce GTX 460 video card

So, after having put on my programmers cap, I decided to go fishing.  Obviously the first place I looked was /var/log/syslog.  In there, I found the following…

Jul 20 21:56:39 tda-desktop kernel: [ 9607.079961] eth0: no IPv6 routers present
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800384] irq 16: nobody cared (try booting with the "irqpoll" option)
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800386] Pid: 0, comm: swapper Tainted: P            2.6.38-10-generic #46-Ubuntu
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800387] Call Trace:
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800389]  <IRQ>  [<ffffffff810d51ab>] ? __report_bad_irq.clone.2+0x2b/0xa0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800395]  [<ffffffff810d55aa>] ? note_interrupt+0x19a/0x1e0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800396]  [<ffffffff810d649d>] ? handle_fasteoi_irq+0xdd/0x110
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800399]  [<ffffffff8100e9c2>] ? handle_irq+0x22/0x40
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800402]  [<ffffffff815cb33d>] ? do_IRQ+0x5d/0xe0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800404]  [<ffffffff815c3693>] ? ret_from_intr+0x0/0x15
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800405]  <EOI>  [<ffffffff81336c8a>] ? intel_idle+0xca/0x120
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800409]  [<ffffffff81336c69>] ? intel_idle+0xa9/0x120
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800411]  [<ffffffff814a3e5a>] ? cpuidle_idle_call+0xaa/0x1b0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800414]  [<ffffffff8100a266>] ? cpu_idle+0xa6/0xf0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800416]  [<ffffffff815a94d5>] ? rest_init+0x75/0x80
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800418]  [<ffffffff81acac90>] ? start_kernel+0x3f5/0x400
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800421]  [<ffffffff81aca388>] ? x86_64_start_reservations+0x132/0x136
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800423]  [<ffffffff81aca45d>] ? x86_64_start_kernel+0xd1/0xe0
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800424] handlers:
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800425] [<ffffffffa0698e90>] (nv_kern_isr+0x0/0x80 [nvidia])
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800526] [<ffffffffa0c66020>] (rtl8169_interrupt+0x0/0x250 [r8169])
Jul 20 21:57:06 tda-desktop kernel: [ 9633.800529] Disabling IRQ #16

As you can see, two drivers are in use on IRQ 16; the nvidia and rtl8169 drivers. I ended up doing some more analysis by running lspci -v, which resulted in finding that my USB 3.0 devices, my rtl8169 ethernet chip, and my nVidia GTX 460 were all using the same interrupt (IRQ 16).  Normally sharing IRQs isn’t so bad, so I’m thinking one or more of the drivers has a bug that occurs during idle times.

So, the thought came to me to restart my ethernet interface.  After doing that, my system was back to normal until the next time it happened.  Seeing that my motherboard has two ethernet interfaces, I plan on disabling the RealTek one, and activating the intel one, and see if that resolves it permanently.