[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?

Regards.

-- 
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