Subject: Re: kern/33445: Fixes for Promise SATA (pdcsata) PCI driver
To: Timo Schoeler <timo.schoeler@riscworks.net>
From: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
List: netbsd-bugs
Date: 06/12/2006 15:40:59
	Helo Timo.  Just so I understand, are you saying that when running
with this patch, it works fine in daily use, but flood ping fails?  Or, are
you running without my patches?  What kind of switch/hub are you connected
to?
-thanks
-Brian
On Jun 11,  3:11pm, Timo Schoeler wrote:
} Subject: Re: kern/33445: Fixes for Promise SATA (pdcsata) PCI driver
} >  	Hello Timo.  I think I see your problem.  I was a bit confused about
} >  the NetBSD interrupt frame work and wasn't sure if the return value from an
} >  interrupt routine mattered.  It does, and your problem is that the revised
} >  interrupt routine always claimed all interrupts.  That works fine for
} >  non-shared interrupts, but you're sharing interrupts with the fxp1 card and
} >  the pdcsata driver, so things went south.
} >  	Here's a patch which fixes that issue.  Could you try it and confirm
} >  that all is now well?
} >  -thanks
} >  -Brian
} >  
} >  Index: pdcsata.c
} 
} (patch was here)
} 
} hi,
} 
} sorry for replying late; i fiddled around a lot and it seems that 
} there's a bit voodoo included.
} 
} i have one machine in a rack hosting company with nearly the same config 
} as the machine here. the remote machine runs 3.0-RELEASE. it's connected 
} to a D-Link switch and runs fine, wrt our topic that is i can ping flood 
} _from_ that machine without losing packets.
} 
} trying it on the (nearly same configured) machine here, i get dropped 
} packets with 3.0-RELEASE as well as a 3.0-STABLE from late march and 
} 3.0-STABLE from yesterday, with your above patch applied.
} 
} aldebaran: {5} dmesg | grep fxp0
} fxp0 at pci0 dev 7 function 0: i82559 Ethernet, rev 8
} fxp0: interrupting at ioapic1 pin 10 (irq 5)
} fxp0: May need receiver lock-up workaround
} fxp0: Ethernet address 00:10:83:ff:e1:5a
} inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
} 
} this one is an on board NIC (the machines are HP X-Class, and P-Class, 
} respectively). i put a PCI NIC (same chipset, rev 12) into the machine 
} and disabled the on board NIC, same problem. when activating both NICs, 
} neither NIC can be used (the NIC connected to the switch says 'active', 
} but everything above ISO layer three is dead).
} 
} at the moment i run the machine with the promise SATA HBA,
} 
} pdcsata0: Promise PDC40718 SATA300 controller (rev. 0x02)
} pdcsata0: interrupting at ioapic1 pin 2 (irq 11)
} pdcsata0: bus-master DMA support present
} 
} on board NIC, and an adaptec 29160:
} 
} aldebaran: {6} dmesg | grep pin
} ioapic0: pa 0xfec00000, version 11, 16 pins
} ioapic1: pa 0xfec01000, version 11, 16 pins
} ahc1: interrupting at ioapic1 pin 6 (irq 11)
} pdcsata0: interrupting at ioapic1 pin 2 (irq 11)
} fxp0: interrupting at ioapic1 pin 10 (irq 5)
} rccide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
} 
} it loses packets on fxp0 when ping flooding _from_ the machine, but runs 
} fine for ftp, ssh, and scp, respectively.
} 
} pdcsata0 does not seem to lose interrupts, even under heavy load.
} 
} timo
>-- End of excerpt from Timo Schoeler