diff mbox

TX on r8169 causes latency and messes up real-time apps, on some boards

Message ID cb0375e10908160339i4526b957nf73b0576f19da2bd@mail.gmail.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Andrew Lutomirski Aug. 16, 2009, 10:39 a.m. UTC
Hi-

I'm having a bit of a mystery problem.  I have a bunch of identical
machines (Intel D201GLY2A + Trendnet TEG-PCITXR) which all work
wonderfully.

I have four brand-new machines that should be basically identical,
except that they are Intel D201GLY2 boards to which I have attached
fans myself (that's supposed to be the only difference), and for which
I bought the Trendnet TEG-PCITXR cards much later.  On those four new
machines, transmitting with the Trendnet card breaks my real-time app.

These are 2.6.30.1, although I've reproduced the behavior on
2.6.29.something.  All machines in question are running bitwise
identical kernels and userspace.

I've diffed the dmesg results.  The good machines differ only in
BogoMIPS (tiny difference), MAC addresses (obviously), and RTC time.
The difference from good to bad is attached and also shows which r8169
device I have.  (The USB stuff at the bottom is the real-time device
in question.)

The working machines do have a newer BIOS, and the only difference I
see that might make a difference is that the PWM fan control changed,
which might affect SMI latency, but I don't see why this should only
matter when sending data over the network.

Any ideas?  I'm happy to test things.

Thanks,
Andy

Comments

Francois Romieu Aug. 17, 2009, 5:19 a.m. UTC | #1
Andrew Lutomirski <luto@mit.edu> :
[...]
> @@ -125,6 +125,11 @@
>  ACPI: No dock devices found.
>  ACPI: PCI Root Bridge [PCI0] (0000:00)
>  pci 0000:00:00.0: reg 10 32bit mmio: [0x48000000-0x49ffffff]
> +pci 0000:00:02.7: reg 10 io port: [0x2200-0x22ff]
> +pci 0000:00:02.7: reg 14 io port: [0x2300-0x237f]
> +pci 0000:00:02.7: supports D1 D2
> +pci 0000:00:02.7: PME# supported from D3hot D3cold
> +pci 0000:00:02.7: PME# disabled
[...]
> @@ -157,34 +162,34 @@
>  ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
>  ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
>  ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 *10 11 12 14 15)
> -ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 *11 12 14 15)
> -ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 11 12 14 15) *0, disabled.
> -ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *10 11 12 14 15)
> +ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 12 14 15)
> +ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 *11 12 14 15)
> +ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 *11 12 14 15)

There is some difference. Either the kernel, the board or the bios
revision. I'd be surprized if the /proc/interrupts looked the same.
Andrew Lutomirski Aug. 17, 2009, 5:31 a.m. UTC | #2
This might be a false alarm -- it's possible I'm just trying to exceed
available PCI bandwidth.  I'll email back if I find any more
convincing evidence it's a problem with r8169.

Thanks,
Andy

On Mon, Aug 17, 2009 at 1:19 AM, Francois Romieu<romieu@fr.zoreil.com> wrote:
> Andrew Lutomirski <luto@mit.edu> :
> [...]
>> @@ -125,6 +125,11 @@
>>  ACPI: No dock devices found.
>>  ACPI: PCI Root Bridge [PCI0] (0000:00)
>>  pci 0000:00:00.0: reg 10 32bit mmio: [0x48000000-0x49ffffff]
>> +pci 0000:00:02.7: reg 10 io port: [0x2200-0x22ff]
>> +pci 0000:00:02.7: reg 14 io port: [0x2300-0x237f]
>> +pci 0000:00:02.7: supports D1 D2
>> +pci 0000:00:02.7: PME# supported from D3hot D3cold
>> +pci 0000:00:02.7: PME# disabled
> [...]
>> @@ -157,34 +162,34 @@
>>  ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
>>  ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
>>  ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 *10 11 12 14 15)
>> -ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 *11 12 14 15)
>> -ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 11 12 14 15) *0, disabled.
>> -ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *10 11 12 14 15)
>> +ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 12 14 15)
>> +ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 *11 12 14 15)
>> +ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 *11 12 14 15)
>
> There is some difference. Either the kernel, the board or the bios
> revision. I'd be surprized if the /proc/interrupts looked the same.
>
> --
> Ueimor
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- /tmp/c1	2009-08-16 06:28:22.000000000 -0400
+++ /tmp/c16	2009-08-16 06:33:56.000000000 -0400
@@ -6,9 +6,9 @@ 
  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
- BIOS-e820: 0000000000100000 - 000000003ce34000 (usable)
- BIOS-e820: 000000003ce34000 - 000000003d235000 (ACPI NVS)
- BIOS-e820: 000000003d235000 - 000000003ddf2000 (usable)
+ BIOS-e820: 0000000000100000 - 000000003d135000 (usable)
+ BIOS-e820: 000000003d135000 - 000000003d236000 (ACPI NVS)
+ BIOS-e820: 000000003d236000 - 000000003ddf2000 (usable)
  BIOS-e820: 000000003ddf2000 - 000000003ddf4000 (reserved)
  BIOS-e820: 000000003ddf4000 - 000000003de71000 (usable)
  BIOS-e820: 000000003de71000 - 000000003def7000 (ACPI NVS)
@@ -36,18 +36,18 @@ 
  0000000000 - 003de00000 page 2M
  003de00000 - 003df00000 page 4k
 kernel direct mapping tables up to 3df00000 @ 8000-b000
-RAMDISK: 3c009000 - 3ce13a2d
+RAMDISK: 3c30a000 - 3d114a2d
 ACPI: RSDP 00000000000fe020 00014 (v00 INTEL )
-ACPI: RSDT 000000003defe038 0002C (v01 INTEL  DG965CO  00000086      01000013)
-ACPI: FACP 000000003defd000 00074 (v01 INTEL  DG965CO  00000086 MSFT 01000013)
-ACPI: DSDT 000000003def9000 030F6 (v01 INTEL  DG965CO  00000086 MSFT 01000013)
+ACPI: RSDT 000000003defe038 0002C (v01 INTEL  DG965CO  0000007A      01000013)
+ACPI: FACP 000000003defd000 00074 (v01 INTEL  DG965CO  0000007A MSFT 01000013)
+ACPI: DSDT 000000003def9000 030F6 (v01 INTEL  DG965CO  0000007A MSFT 01000013)
 ACPI: FACS 000000003debc000 00040
-ACPI: APIC 000000003def8000 0006C (v01 INTEL  DG965CO  00000086 MSFT 01000013)
+ACPI: APIC 000000003def8000 0006C (v01 INTEL  DG965CO  0000007A MSFT 01000013)
 ACPI: Local APIC address 0xfee00000
 (6 early reservations) ==> bootmem [0000000000 - 003df00000]
   #0 [0000000000 - 0000001000]   BIOS data page ==> [0000000000 - 0000001000]
   #1 [0000200000 - 0000609808]    TEXT DATA BSS ==> [0000200000 - 0000609808]
-  #2 [003c009000 - 003ce13a2d]          RAMDISK ==> [003c009000 - 003ce13a2d]
+  #2 [003c30a000 - 003d114a2d]          RAMDISK ==> [003c30a000 - 003d114a2d]
   #3 [000009f800 - 0000100000]    BIOS reserved ==> [000009f800 - 0000100000]
   #4 [000060a000 - 000060a140]              BRK ==> [000060a000 - 000060a140]
   #5 [0000008000 - 0000009000]          PGTABLE ==> [0000008000 - 0000009000]
@@ -60,17 +60,17 @@ 
 Movable zone start PFN for each node
 early_node_map[6] active PFN ranges
     0: 0x00000000 -> 0x0000009f
-    0: 0x00000100 -> 0x0003ce34
-    0: 0x0003d235 -> 0x0003ddf2
+    0: 0x00000100 -> 0x0003d135
+    0: 0x0003d236 -> 0x0003ddf2
     0: 0x0003ddf4 -> 0x0003de71
     0: 0x0003def7 -> 0x0003def8
     0: 0x0003deff -> 0x0003df00
-On node 0 totalpages: 252431
+On node 0 totalpages: 253199
   DMA zone: 56 pages used for memmap
   DMA zone: 1131 pages reserved
   DMA zone: 2812 pages, LIFO batch:0
   DMA32 zone: 3413 pages used for memmap
-  DMA32 zone: 245019 pages, LIFO batch:31
+  DMA32 zone: 245787 pages, LIFO batch:31
 ACPI: PM-Timer IO Port: 0x808
 ACPI: Local APIC address 0xfee00000
 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
@@ -87,13 +87,13 @@ 
 Using ACPI (MADT) for SMP configuration information
 nr_irqs_gsi: 24
 Allocating PCI resources starting at 40000000 (gap: 3df00000:c2080000)
-Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 247831
+Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 248599
 Kernel command line: noacpi initrd=cluster-img.gz BOOT_IMAGE=cluster-kernel 
 Initializing CPU#0
 NR_IRQS:288
 PID hash table entries: 4096 (order: 12, 32768 bytes)
 Fast TSC calibration using PIT
-Detected 1200.183 MHz processor.
+Detected 1200.006 MHz processor.
 Console: colour VGA+ 80x25
 console [tty0] enabled
 Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
@@ -102,9 +102,9 @@ 
 AGP bridge at 00:00:00
 Aperture from AGP @ 48000000 old size 32 MB
 Aperture from AGP @ 48000000 size 32 MB (APSIZE f38)
-Memory: 974524k/1014784k available (2251k kernel code, 5060k absent, 34480k reserved, 1026k data, 276k init)
+Memory: 977596k/1014784k available (2251k kernel code, 1988k absent, 34480k reserved, 1026k data, 276k init)
 SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
-Calibrating delay loop (skipped), value calculated using timer frequency.. 2400.36 BogoMIPS (lpj=4800732)
+Calibrating delay loop (skipped), value calculated using timer frequency.. 2400.01 BogoMIPS (lpj=4800024)
 Mount-cache hash table entries: 256
 CPU: L1 I cache: 32K, L1 D cache: 32K
 CPU: L2 cache: 512K
@@ -125,6 +125,11 @@ 
 ACPI: No dock devices found.
 ACPI: PCI Root Bridge [PCI0] (0000:00)
 pci 0000:00:00.0: reg 10 32bit mmio: [0x48000000-0x49ffffff]
+pci 0000:00:02.7: reg 10 io port: [0x2200-0x22ff]
+pci 0000:00:02.7: reg 14 io port: [0x2300-0x237f]
+pci 0000:00:02.7: supports D1 D2
+pci 0000:00:02.7: PME# supported from D3hot D3cold
+pci 0000:00:02.7: PME# disabled
 pci 0000:00:03.0: reg 10 32bit mmio: [0x4a104000-0x4a104fff]
 pci 0000:00:03.1: reg 10 32bit mmio: [0x4a103000-0x4a103fff]
 pci 0000:00:03.2: reg 10 32bit mmio: [0x4a102000-0x4a102fff]
@@ -157,34 +162,34 @@ 
 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
 ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 *10 11 12 14 15)
-ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 *11 12 14 15)
-ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 11 12 14 15) *0, disabled.
-ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *10 11 12 14 15)
+ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 12 14 15)
+ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 *11 12 14 15)
+ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 *11 12 14 15)
 ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 *11 12 14 15)
-ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 *11 12 14 15)
-ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 *10 11 12 14 15)
-ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 *11 12 14 15)
+ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 *10 11 12 14 15)
+ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 *11 12 14 15)
+ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 *10 11 12 14 15)
 usbcore: registered new interface driver usbfs
 usbcore: registered new interface driver hub
 usbcore: registered new device driver usb
 PCI: Using ACPI for IRQ routing
 pnp: PnP ACPI init
 ACPI: bus type pnp registered
-pnp: PnP ACPI: found 10 devices
+pnp: PnP ACPI: found 11 devices
 ACPI: ACPI bus type pnp unregistered
-system 00:07: ioport range 0x800-0x8fe has been reserved
-system 00:07: ioport range 0x8ff-0x8ff has been reserved
-system 00:07: ioport range 0x4d0-0x4d1 has been reserved
-system 00:07: ioport range 0x4d6-0x4d6 has been reserved
-system 00:07: ioport range 0x295-0x29e has been reserved
-system 00:07: ioport range 0x2e8-0x2ef has been reserved
-system 00:07: ioport range 0x481-0x48f has been reserved
-system 00:08: iomem range 0x0-0x9ffff could not be reserved
-system 00:08: iomem range 0xec000-0xfffff could not be reserved
-system 00:08: iomem range 0x100000-0x3dffffff could not be reserved
-system 00:08: iomem range 0xe0000000-0xefffffff has been reserved
-system 00:08: iomem range 0xfec00000-0xfec00fff has been reserved
-system 00:08: iomem range 0xfee00000-0xfee00fff has been reserved
+system 00:08: ioport range 0x800-0x8fe has been reserved
+system 00:08: ioport range 0x8ff-0x8ff has been reserved
+system 00:08: ioport range 0x4d0-0x4d1 has been reserved
+system 00:08: ioport range 0x4d6-0x4d6 has been reserved
+system 00:08: ioport range 0x295-0x29e has been reserved
+system 00:08: ioport range 0x2e8-0x2ef has been reserved
+system 00:08: ioport range 0x481-0x48f has been reserved
+system 00:09: iomem range 0x0-0x9ffff could not be reserved
+system 00:09: iomem range 0xec000-0xfffff could not be reserved
+system 00:09: iomem range 0x100000-0x3dffffff could not be reserved
+system 00:09: iomem range 0xe0000000-0xefffffff has been reserved
+system 00:09: iomem range 0xfec00000-0xfec00fff has been reserved
+system 00:09: iomem range 0xfee00000-0xfee00fff has been reserved
 pci 0000:00:01.0: PCI bridge, secondary bus 0000:01
 pci 0000:00:01.0:   IO window: 0x1000-0x1fff
 pci 0000:00:01.0:   MEM window: 0x4a000000-0x4a0fffff
@@ -213,7 +218,7 @@ 
 Switched to high resolution mode on CPU 0
 Freeing initrd memory: 14378k freed
 HugeTLB registered 2 MB page size, pre-allocated 0 pages
-msgmni has been set to 1932
+msgmni has been set to 1938
 pci 0000:01:00.0: Boot video device
 pcieport-driver 0000:00:1f.0: irq 24 for MSI/MSI-X
 pcieport-driver 0000:00:1f.0: setting latency timer to 64
@@ -230,19 +235,19 @@ 
 Hangcheck: Using get_cycles().
 Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
 serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
-00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
+00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
 hwlat_detector: version 1.0.0
 sis900.c: v1.08.10 Apr. 2 2006
 sis900 0000:00:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
 0000:00:04.0: SiS 900 on Foxconn 661 7MI transceiver found at address 1.
 0000:00:04.0: Using transceiver found at address 1 as default
-eth0: SiS 900 PCI Fast Ethernet at 0x2100, IRQ 19, 00:1c:c0:4b:5e:88
+eth0: SiS 900 PCI Fast Ethernet at 0x2100, IRQ 19, 00:1c:c0:6e:11:34
 r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
 r8169 0000:00:06.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
 r8169 0000:00:06.0: no PCI Express capability
-eth1: RTL8169sb/8110sb at 0xffffc2000001a000, 00:14:d1:15:43:37, XID 10000000 IRQ 17
+eth1: RTL8169sb/8110sb at 0xffffc2000001a000, 00:14:d1:17:25:e5, XID 10000000 IRQ 17
 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
-ehci_hcd 0000:00:03.3: enabling device (0100 -> 0102)
+ehci_hcd 0000:00:03.3: enabling device (0000 -> 0002)
 ehci_hcd 0000:00:03.3: PCI INT D -> GSI 23 (level, low) -> IRQ 23
 ehci_hcd 0000:00:03.3: EHCI Host Controller
 ehci_hcd 0000:00:03.3: new USB bus registered, assigned bus number 1
@@ -257,7 +262,7 @@ 
 hub 1-0:1.0: USB hub found
 hub 1-0:1.0: 8 ports detected
 ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
-ohci_hcd 0000:00:03.0: enabling device (0100 -> 0102)
+ohci_hcd 0000:00:03.0: enabling device (0000 -> 0002)
 ohci_hcd 0000:00:03.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
 ohci_hcd 0000:00:03.0: OHCI Host Controller
 ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
@@ -270,7 +275,7 @@ 
 usb usb2: configuration #1 chosen from 1 choice
 hub 2-0:1.0: USB hub found
 hub 2-0:1.0: 3 ports detected
-ohci_hcd 0000:00:03.1: enabling device (0100 -> 0102)
+ohci_hcd 0000:00:03.1: enabling device (0000 -> 0002)
 ohci_hcd 0000:00:03.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
 ohci_hcd 0000:00:03.1: OHCI Host Controller
 ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 3
@@ -283,7 +288,7 @@ 
 usb usb3: configuration #1 chosen from 1 choice
 hub 3-0:1.0: USB hub found
 hub 3-0:1.0: 3 ports detected
-ohci_hcd 0000:00:03.2: enabling device (0100 -> 0102)
+ohci_hcd 0000:00:03.2: enabling device (0000 -> 0002)
 ohci_hcd 0000:00:03.2: PCI INT C -> GSI 22 (level, low) -> IRQ 22
 ohci_hcd 0000:00:03.2: OHCI Host Controller
 ohci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 4
@@ -330,20 +335,21 @@ 
 NET: Registered protocol family 17
 RPC: Registered udp transport module.
 RPC: Registered tcp transport module.
-rtc_cmos 00:02: setting system clock to 2009-08-16 10:14:59 UTC (1250417699)
+rtc_cmos 00:02: setting system clock to 2009-08-16 18:08:33 UTC (1250446113)
 Freeing unused kernel memory: 276k freed
-usb 1-5: new high speed USB device using ehci_hcd and address 2
-usb 1-5: New USB device found, idVendor=fffe, idProduct=0002
-usb 1-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
-usb 1-5: configuration #1 chosen from 1 choice
+usb 1-6: new high speed USB device using ehci_hcd and address 2
+usb 1-6: New USB device found, idVendor=fffe, idProduct=0002
+usb 1-6: New USB device strings: Mfr=0, Product=0, SerialNumber=0
+usb 1-6: configuration #1 chosen from 1 choice
 r8169: eth1: link down
 r8169: eth1: link up
 eth0: Media Link On 100mbps full-duplex 
-usb 1-5: USB disconnect, address 2
-usb 1-5: new high speed USB device using ehci_hcd and address 3
-usb 1-5: New USB device found, idVendor=fffe, idProduct=0002
-usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=6
-usb 1-5: Product: USRP Rev 4
-usb 1-5: Manufacturer: Free Software Folks
-usb 1-5: SerialNumber: 48b9995a
-usb 1-5: configuration #1 chosen from 1 choice
+usb 1-6: USB disconnect, address 2
+usb 1-6: new high speed USB device using ehci_hcd and address 3
+usb 1-6: New USB device found, idVendor=fffe, idProduct=0002
+usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=6
+usb 1-6: Product: USRP Rev 4
+usb 1-6: Manufacturer: Free Software Folks
+usb 1-6: SerialNumber: 48b99588
+usb 1-6: configuration #1 chosen from 1 choice
+r8169: eth1: link up