[ATA] and re(4) stability issues

Victor Balada Diaz victor at bsdes.net
Wed Dec 10 00:59:38 PST 2008

On Wed, Dec 10, 2008 at 03:12:26PM +0900, Pyun YongHyeon wrote:
> On Tue, Dec 09, 2008 at 07:52:37PM +0100, Victor Balada Diaz wrote:
>  > Hello,
>  > 
>  > I got various machines[1] at hetzner.de and I've been having problems
>  > with interrupts on FreeBSD 7.0 and now FreeBSD 7.1 -BETA2 in amd64. I've
>  > been trying to narrow the problem so someone more knowledgeable than me
>  > is able to fix it. This mail is an other attempt to ask a question
>  > with regards ATA code to see if this time i got something.
>  > 
>  > For the ones that don't actually know what happened:
>  > 
>  > With FreeBSD 7.0 -RELEASE for amd64 and default kernel
>  > the system shared re0 interrupt with OHCI and this caused
>  > re(4) to corrupt packets and create interrupt storms. Tried
> re(4) in 7.0-RELEASE had bus_dma(9) bug which could be easily
> triggered on systems with > 4GB memory. But I dont' know whether
> this is related with interrupt storms.
>  > updating to 7.1 -BETA2 and still had some problems with it.
>  > 
>  > I've opened the PR kern/128287[2] and Remko quickly answered
>  > with a workaround: that workaround was removing USB support from
>  > my kernel. I did it and re(4) wasn't sharing interrupts anylonger,
>  > and the interrupt storms were gone. Now sometime later the interface
>  > goes up and down from time to time, but less often. Also sometimes
>  > the machine losts the network interface but continues to work.
>  > 
> It seems that your controller supports MSI so you can set a tunable
> hw.re.msi_disable to 0 to enable MSI. With MSI you can remove
> interrupt sharing(e.g. add hw.re.msi_disable="0" to
> /boot/loader.conf file.) However there were several issues on re(4)
> w.r.t MSI so it was off by default.

This is undocumented and with sysctl -a i can't find the tunable. Is this
a HEAD feature or it's also in 7.1 -BETA2? Should i add
hw.re_msi_disable="0" to /boot/loader.conf?

This was sharing interrupt with USB, does USB need any special MSI handling
or with re using MSI is enough to not share the interrupt?

>  > I know it continues to work because some days later i can see that
>  > it tried to deliver the status reports but was unable to resolve the
>  > aliases hostnames. I can't ping the machine and i know the network
>  > is OK. If i reboot the machine everything is working again.
>  > 
> Recently I've made small changes to re(4) which may help to detect
> link state change event. Would you try re(4) in HEAD?

Can i just drop HEAD's /stable/7/sys/dev/re/ in -STABLE and test that
or do i need to test the whole HEAD kernel?


La prueba más fehaciente de que existe vida inteligente en otros
planetas, es que no han intentado contactar con nosotros. 

More information about the freebsd-amd64 mailing list