From: Andrew Lutomirski <luto@mit.edu>
To: romieu@fr.zoreil.com
Cc: netdev@vger.kernel.org
Subject: TX on r8169 causes latency and messes up real-time apps, on some boards
Date: Sun, 16 Aug 2009 06:39:37 -0400 [thread overview]
Message-ID: <cb0375e10908160339i4526b957nf73b0576f19da2bd@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]
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
[-- Attachment #2: dmesg_diff.txt --]
[-- Type: text/plain, Size: 12991 bytes --]
--- /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
next reply other threads:[~2009-08-16 10:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-16 10:39 Andrew Lutomirski [this message]
2009-08-17 5:19 ` TX on r8169 causes latency and messes up real-time apps, on some boards Francois Romieu
2009-08-17 5:31 ` Andrew Lutomirski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cb0375e10908160339i4526b957nf73b0576f19da2bd@mail.gmail.com \
--to=luto@mit.edu \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox