# Excessive Interrupts caused by sata controller?



## remi (Aug 31, 2010)

I'm getting an excessive amount of interrupts on irq23: uhci2 ehci1


```
$ uname -a
[FreeBSD atlas.redacted 8.1-RELEASE FreeBSD 8.1-RELEASE #1: Mon Aug 30 18:12:11 CDT 2010     root@atlas.redacted:/usr/obj/usr/src/sys/ATLAS  amd64
```


```
atlas# vmstat -i
interrupt                          total       rate
irq14: ata0                           35          0
irq19: uhci3+                       1531          0
irq21: uhci1+                     371570        161
irq23: uhci2 ehci1             295459342     128237
cpu0: timer                      4606599       1999
irq256: em0                      5446500       2363
cpu1: timer                      4606104       1999
Total                          310491681     134762
atlas# uptime
 7:46PM  up 39 mins, 2 users, load averages: 0.49, 0.41, 0.34
atlas#
```

I've done enough experimenting to discover that this problem goes away when the 4 SATA drives connected to the embedded SIL3114 controller are disconnected.

Other posts have indicated similar issues are solved by setting the SATA mode to AHCI in the BIOS, but this doesn't seem to be an option in my BIOS.

I've also read somewhere that using i386 instead of amd64 would resolve this, but I use ZFS and I'm not sure I'm comfortable with running ZFS on i386.

The kernel I'm running simply had ehci turned off and back on, as part of my troubleshooting. It's GENERIC.

Anyone have any suggestions as to what I can try to get rid of these interrupts? It makes me nervous as I started getting spammed with interrupt storms after I left some backups writing to the zfs raidz1 pool overnight.

Thanks for any help!


----------



## User23 (Aug 31, 2010)

If i see interrupt storms detected, i do nearly the same as you did. If you dont need ehci, it is not a big problem. If the device is needed, i try a BIOS upgrade (it helped me in 2 cases) and/or disabling all devices i dont need on the machine. If it is a pci or pcie card you could also try another slot (never helped me).

--

The SIL3114 does not support AHCI but the SIL3124 should. <edit> SIL3124 is supported by own driver siis(4) <edit>

SIL3114
SIL3124


----------



## mav@ (Aug 31, 2010)

SiI3124 is not AHCI-compatible. It is supported by own driver siis(4).


----------



## remi (Aug 31, 2010)

Is it not being AHCI compatible a reason it's causing loads of interrupts?

I just left the machine overnight doing a backup to the 4 drive zfs raidz1 pool again, and I woke up to:

```
panic: zfs_fuid_map_id
cpuid=0
uptime: 5h50m53s
Cannot dump. Device not defined or unavailable.
Automatic reboot in 15 seconds - press a key on the console to abort
```

The zpool was created on OpenSolaris and the last upgrade was to zfs version 14 before I decided to migrate away from Oracle


----------



## User23 (Aug 31, 2010)

This should be another issue:
http://kerneltrap.org/mailarchive/freebsd-fs/2010/5/8/6884003

Maybe you should build up a new pool directly with freebsd.


----------



## remi (Aug 31, 2010)

Yeah, I came to that same conclusion. It's only 1tb or so but still a pain to restore. I'll try to do that tonight.

I don't think that bug is causing the 100k+ interrupts per second though.


----------



## User23 (Aug 31, 2010)

remi said:
			
		

> I don't think that bug is causing the 100k+ interrupts per second though.



Yes, i think so too.


----------



## remi (Aug 31, 2010)

I'm an idiot. I just recompiled the kernel again with all traces of EHCI and UHCI off and away went the interrupts. So it was indeed USB related. I think I can probably leave USB disabled and not miss it too much. Thoughts?


----------



## User23 (Sep 1, 2010)

remi said:
			
		

> I think I can probably leave USB disabled and not miss it too much. Thoughts?



Thats why i said: If you dont need ehci, it is not a big problem.


----------

