Subject: Re: kern/33445: Fixes for Promise SATA (pdcsata) PCI driver
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
List: netbsd-bugs
Date: 06/12/2006 22:45:02
The following reply was made to PR kern/33445; it has been noted by GNATS.

From: buhrow@lothlorien.nfbcal.org (Brian Buhrow)
To: Timo Schoeler <timo.schoeler@riscworks.net>,
	gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, gnats-admin@NetBSD.org,
	netbsd-bugs@NetBSD.org, buhrow@lothlorien.nfbcal.org
Subject: Re: kern/33445: Fixes for Promise SATA (pdcsata) PCI driver
Date: Mon, 12 Jun 2006 15:40:59 -0700

 	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