[ATA] and re(4) stability issues

Pyun YongHyeon pyunyh at gmail.com
Tue Dec 9 22:36:49 PST 2008


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.

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

-- 
Regards,
Pyun YongHyeon


More information about the freebsd-amd64 mailing list