Hi, these drivers don't work under 7.0 As soon as some mild preasure is applied, they start loosing interrupts, and in my case the hosts come to a total stand-still, since they are diskless and rely on the network. This happens at 1gb and at 100mg. Maybe the problem is with the shared interrups? irq16: mskc0 uhci0 3308351 13 or irq21: nfe0 ohci0 1584415 24 but I have no idea how to uncouple this danny
On Wed, Oct 24, 2007 at 09:33:48AM +0200, Danny Braniss wrote: > Hi, > these drivers don't work under 7.0 > As soon as some mild preasure is applied, they start loosing interrupts, and > in my case the hosts come to a total stand-still, since they are diskless > and rely on the network. > This happens at 1gb and at 100mg. > > Maybe the problem is with the shared interrups? > > irq16: mskc0 uhci0 3308351 13 > or > irq21: nfe0 ohci0 1584415 24 > > but I have no idea how to uncouple this > If you see watchdog timeout errors on your console, shared interrupt would be culprit. For msk(4) set hw.msk.legacy_intr="1" in loader.conf or use kenv(1) to set it before loading msk(4) kernel module. For nfe(4) you can switch to polling(4). -- Regards, Pyun YongHyeon
Hello, Pyun YongHyeon wrote:> On Tue, Oct 30, 2007 at 04:01:04PM +0200, Oleg Lomaka wrote: > > [...] > > > I had RxFIFO overrun again :( > > from dmest: > > msk0: Rx FIFO overrun! > > [...] > > Please try attached patch again. Sorry for the trouble. > After applying the patch show me verbosed dmesg output related with > msk(4)/PHY driver. > > Thanks for testing. >pcib1: <MPTable PCI-PCI bridge> irq 16 at device 28.0 on pci0 pcib1: domain 0 pcib1: secondary bus 2 pcib1: subordinate bus 2 pcib1: I/O decode 0x2000-0x2fff pcib1: memory decode 0xd0100000-0xd01fffff pcib1: no prefetched decode pci2: <PCI bus> on pcib1 pci2: domain=0, physical bus=2 found-> vendor=0x11ab, dev=0x4352, revid=0x14 domain=0, bus=2, slot=0, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x4010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 MSI supports 2 messages, 64 bit map[10]: type Memory, range 64, base 0xd0100000, size 14, enabled pcib1: requested memory range 0xd0100000-0xd0103fff: good map[18]: type I/O Port, range 32, base 0x2000, size 8, enabled pcib1: requested I/O range 0x2000-0x20ff: in range pcib1: slot 0 INTA routed to irq 16 mskc0: <Marvell Yukon 88E8038 Gigabit Ethernet> port 0x2000-0x20ff mem 0xd0100000-0xd0103fff irq 16 at device 0.0 on pci2 mskc0: Reserved 0x4000 bytes for rid 0x10 type 3 at 0xd0100000 mskc0: MSI count : 2 mskc0: RAM buffer size : 4KB mskc0: Port 0 : Rx Queue 2KB(0x00000000:0x000007ff) mskc0: Port 0 : Tx Queue 2KB(0x00000800:0x00000fff) msk0: <Marvell Technology Group Ltd. Yukon FE Id 0xb7 Rev 0x01> on mskc0 msk0: bpf attached msk0: Ethernet address: 00:1b:24:0e:bc:26 miibus0: <MII bus> on msk0 e1000phy0: <Marvell 88E3082 10/100 Fast Ethernet PHY> PHY 0 on miibus0 e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ioapic0: routing intpin 16 (PCI IRQ 16) to vector 49 mskc0: [MPSAFE] mskc0: [FILTER]
On Thu, Nov 01, 2007 at 10:59:48AM +0200, Oleg Lomaka wrote: > Hello, > > Pyun YongHyeon wrote: > >On Tue, Oct 30, 2007 at 04:01:04PM +0200, Oleg Lomaka wrote: > > > >[...] > > > > > I had RxFIFO overrun again :( > > > from dmest: > > > msk0: Rx FIFO overrun! > > > >[...] > > > >Please try attached patch again. Sorry for the trouble. > >After applying the patch show me verbosed dmesg output related with > >msk(4)/PHY driver. > > > >Thanks for testing. > > > pcib1: <MPTable PCI-PCI bridge> irq 16 at device 28.0 on pci0 > pcib1: domain 0 > pcib1: secondary bus 2 > pcib1: subordinate bus 2 > pcib1: I/O decode 0x2000-0x2fff > pcib1: memory decode 0xd0100000-0xd01fffff > pcib1: no prefetched decode > pci2: <PCI bus> on pcib1 > pci2: domain=0, physical bus=2 > found-> vendor=0x11ab, dev=0x4352, revid=0x14 > domain=0, bus=2, slot=0, func=0 > class=02-00-00, hdrtype=0x00, mfdev=0 > cmdreg=0x0007, statreg=0x4010, cachelnsz=16 (dwords) > lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) > intpin=a, irq=11 > powerspec 2 supports D0 D1 D2 D3 current D0 > MSI supports 2 messages, 64 bit > map[10]: type Memory, range 64, base 0xd0100000, size 14, enabled > pcib1: requested memory range 0xd0100000-0xd0103fff: good > map[18]: type I/O Port, range 32, base 0x2000, size 8, enabled > pcib1: requested I/O range 0x2000-0x20ff: in range > pcib1: slot 0 INTA routed to irq 16 > mskc0: <Marvell Yukon 88E8038 Gigabit Ethernet> port 0x2000-0x20ff mem > 0xd0100000-0xd0103fff irq 16 at device 0.0 on pci2 > mskc0: Reserved 0x4000 bytes for rid 0x10 type 3 at 0xd0100000 > mskc0: MSI count : 2 > mskc0: RAM buffer size : 4KB > mskc0: Port 0 : Rx Queue 2KB(0x00000000:0x000007ff) > mskc0: Port 0 : Tx Queue 2KB(0x00000800:0x00000fff) > msk0: <Marvell Technology Group Ltd. Yukon FE Id 0xb7 Rev 0x01> on mskc0 > msk0: bpf attached > msk0: Ethernet address: 00:1b:24:0e:bc:26 > miibus0: <MII bus> on msk0 > e1000phy0: <Marvell 88E3082 10/100 Fast Ethernet PHY> PHY 0 on miibus0 > e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > ioapic0: routing intpin 16 (PCI IRQ 16) to vector 49 > mskc0: [MPSAFE] > mskc0: [FILTER] > So far all looks good to me. If you encounter watchdog timeouts or Rx FIFO overruns let me know. -- Regards, Pyun YongHyeon