Hello, e1000 developers,
I was trying to nfsroot with USB stick from my server, but failed to get IP
address from DHCP server most of time. I am sure that network configuration
is good, because I can nfsroot with e1000 on another server. This kernel
also works fine when it boots from harddisk with an ordinary linux
distribution. (CentOS 3.9 in my case)
My server has 6 Intel 82574L on the mother board, CPU is Intel Core Duo 2
E2160. Kernel version is 2.4.33.3, e1000e version is 1.0.2.5, and e1000e is
compiled into kernel image in order to nfsroot. e1000 is also compiled into
this kernel, so a few functions in e1000e are renamed to avoid naming
conflict.
To debug, I added a few printk in netdev.c. I found that a lot of
interrupts, whose ICR value is 0x0 were received by eth2. I figured it out
that eth2 shared interrupt line 19 with usb-uhci, so these interrupts are
actually from my USB stick when USB stick is initialized. If I don't
compile USB code into kernel, the kernel can nfsroot without any problem.
Seems that Interrupts from USB stick affect e1000e.
In kernel log, I noticed that e1000_watchdog_task() wasn't executed even
e1000_watchdog() scheduled the task. Therefore, ethernet link is not
detected as active, DHCP requests are enqueued but not sent.
I am wondering if USB key interrupts stop watchdog task to run. Is it
timing problem or concurrency problem? I am doubting it is concurrency
problem because I cannot see any spinlock to protect tx queue. Please
correct me if I am wrong.
log is listed as follows, you can see after "DEBUG: e1000_watchdog: 06:00.0:
eth0: Entering, e1000_watchdog_task scheduled at jiffies=1467",
e1000_watchdog_task doesn't run.
Best Regards,
Zhiwei
Kernel Log
=========
SYSLINUX 3.36 0x45ce2f4c Copyright (C) 1994-2007 H. Peter Anvin
Loading bzImage.udg.........................Ready.
Linux version 2.4.33.3 (r...@centos) (gcc version 3.2.3 20030502 (Red Hat
Linux 3.2.3-59)) #43 SMP Fri Sep 4 22:18:02 CST 2009
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009b800 (usable)
BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001f7d0000 (usable)
BIOS-e820: 000000001f7d0000 - 000000001f7de000 (ACPI data)
BIOS-e820: 000000001f7de000 - 000000001f800000 (ACPI NVS)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
503MB LOWMEM available.
found SMP MP-table at 000ff780
hm, page 000ff000 reserved twice.
hm, page 00100000 reserved twice.
hm, page 000fc000 reserved twice.
hm, page 000fd000 reserved twice.
On node 0 totalpages: 128976
zone(0): 4096 pages.
zone(1): 124880 pages.
zone(2): 0 pages.
ACPI: RSDP (v000 ACPIAM ) @ 0x000f94e0
ACPI: RSDT (v001 061109 RSDT1033 0x20090611 MSFT 0x00000097) @ 0x1f7d0000
ACPI: FADT (v001 061109 FACP1033 0x20090611 MSFT 0x00000097) @ 0x1f7d0200
ACPI: MADT (v001 061109 APIC1033 0x20090611 MSFT 0x00000097) @ 0x1f7d0390
ACPI: MCFG (v001 061109 OEMMCFG 0x20090611 MSFT 0x00000097) @ 0x1f7d0400
ACPI: OEMB (v001 061109 OEMB1033 0x20090611 MSFT 0x00000097) @ 0x1f7de040
ACPI: DSDT (v001 1AAAA 1AAAA000 0x00000000 INTL 0x20051117) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 Pentium(tm) Pro APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 Pentium(tm) Pro APIC version 20
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
Processor #130 invalid (max 16)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
Processor #131 invalid (max 16)
ACPI: IOAPIC (id[0x02] address[0xfec00000] global_irq_base[0x0])
IOAPIC[0]: Assigned apic_id 2
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, IRQ 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Using ACPI (MADT) for SMP configuration information
Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.88:/azeti ip=dhcp
console=ttyS0,115200n8 init=/sbin/init BOOT_IMAGE=bzImage.udg
Initializing CPU#0
Detected 2000.126 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3984.58 BogoMIPS
Memory: 506208k/515904k available (1920k kernel code, 9292k reserved, 409k
data, 348k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: Physical Processor ID: 0
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: Physical Processor ID: 0
Intel machine check reporting enabled on CPU#0.
CPU0: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz stepping 0d
per-CPU timeslice cutoff: 182.84 usecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Booting processor 1/1 eip 3000
Initializing CPU#1
masked ExtINT on CPU#1
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 6710.88 BogoMIPS
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: Physical Processor ID: 0
Intel machine check reporting enabled on CPU#1.
CPU1: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz stepping 0d
Total of 2 processors activated (10695.47 BogoMIPS).
cpu_sibling_map[0] = 1
cpu_sibling_map[1] = 0
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=-1
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 2000.1229 MHz.
..... host bus clock speed is 200.0121 MHz.
cpu: 0, clocks: 2000121, slice: 666707
CPU0<T0:2000112,T1:1333392,D:13,S:666707,C:2000121>
cpu: 1, clocks: 2000121, slice: 666707
CPU1<T0:2000112,T1:666688,D:10,S:666707,C:2000121>
checking TSC synchronization across CPUs: passed.
Waiting on wait_init_idle (map = 0x2)
All processors have done init_idle
ACPI: Subsystem revision 20040326
PCI: PCI BIOS revision 3.00 entry at 0xf0031, last bus=7
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: System [ACPI] (supports S0 S1 S3 S4 S5)
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 00:1f.1
Transparent bridge - Intel Corp. 82801BA/CA/DB/EB PCI Bridge
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0,
disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15)
PCI: Probing PCI hardware
testing the IO APIC.......................
.................................... done.
PCI: Using ACPI for IRQ routing
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS not found.
Starting kswapd
Journalled Block Device driver loaded
ACPI: Power Button (FF) [PWRF]
ACPI: Processor [P001] (supports C1)
ACPI: Processor [P002] (supports C1)
parport0: PC-style at 0x378 [PCSPP(,...)]
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI enabled
keyboard: Timeout - AT keyboard not present?(ed)
keyboard: Timeout - AT keyboard not present?(f4)
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
lp0: using parport0 (polling).
Non-volatile memory driver v1.2
i810_rng: cannot disable RNG, aborting
i810_rng hardware driver 0.9.8 loaded
ppdev: user-space parallel port driver
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Intel(R) PRO/1000 Network Driver - version 7.3.20-k4
Copyright (c) 1999-2006 Intel Corporation.
e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2.5-NAPI
e1000e: Copyright(c) 1999 - 2009 Intel Corporation.
06:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
06:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
06:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8f
06:00.0: eth0: Intel(R) PRO/1000 Network Connection
06:00.0: eth0: MAC: 4, PHY: 8, PBA No: ffffff-0ff
05:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
05:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
05:00.0: eth1: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8e
05:00.0: eth1: Intel(R) PRO/1000 Network Connection
05:00.0: eth1: MAC: 4, PHY: 8, PBA No: ffffff-0ff
04:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
04:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
04:00.0: eth2: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8d
04:00.0: eth2: Intel(R) PRO/1000 Network Connection
04:00.0: eth2: MAC: 4, PHY: 8, PBA No: ffffff-0ff
03:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
03:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
03:00.0: eth3: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8c
03:00.0: eth3: Intel(R) PRO/1000 Network Connection
03:00.0: eth3: MAC: 4, PHY: 8, PBA No: ffffff-0ff
02:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
02:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
02:00.0: eth4: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8b
02:00.0: eth4: Intel(R) PRO/1000 Network Connection
02:00.0: eth4: MAC: 4, PHY: 8, PBA No: ffffff-0ff
01:00.0: : Failed to initialize MSI-X interrupts. Falling back to MSI
interrupts.
01:00.0: : Failed to initialize MSI interrupts. Falling back to legacy
interrupts.
01:00.0: eth5: (PCI Express:2.5GB/s:Width x1) 00:90:0b:11:7f:8a
01:00.0: eth5: Intel(R) PRO/1000 Network Connection
01:00.0: eth5: MAC: 4, PHY: 8, PBA No: ffffff-0ff
pcnet32.c:v1.30h 06.24.2004 [email protected]
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 431M
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
ata1: SATA max UDMA/133 cmd 0x8080 ctl 0x8002 bmdma 0x7800 irq 19
ata2: SATA max UDMA/133 cmd 0x7C00 ctl 0x7882 bmdma 0x7808 irq 19
ata1: dev 1 ATA-8, max UDMA/133, 488397168 sectors: LBA48
ata1: dev 1 configured for UDMA/133
ATA: abnormal status 0x7F on port 0x7C07
ata2: disabling port
scsi1 : ata_piix
scsi2 : ata_piix
Vendor: ATA Model: ST3250310NS Rev: SN06
Type: Direct-Access ANSI SCSI revision: 05
Attached scsi disk sda at scsi1, channel 0, id 1, lun 0
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
Partition check:
sda: sda1 sda2 sda3
Fusion MPT base driver 2.05.16
Copyright (c) 1999-2004 LSI Logic Corporation
mptbase: 0 MPT adapters found, 0 installed.
Fusion MPT SCSI Host driver 2.05.16
i2c-core.o: i2c core module version 2.10.0 (20060214)
i2c-dev.o: i2c /dev entries driver module version 2.10.0 (20060214)
i2c-proc.o version 2.10.0 (20060214)
i2c-i801 version 2.10.0 (20060214)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
host/uhci.c: USB Universal Host Controller Interface driver v1.1
host/uhci.c: USB UHCI at I/O 0x8880, IRQ 23
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
host/uhci.c: USB UHCI at I/O 0x8800, IRQ 19
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
host/uhci.c: USB UHCI at I/O 0x8480, IRQ 18
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
host/uhci.c: USB UHCI at I/O 0x8400, IRQ 16
usb.c: new USB bus registered, assigned bus number 4
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver acm
acm.c: v0.21:USB Abstract Control Model driver for USB modems and ISDN
adapters
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
md: raid1 personality registered as nr 3
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
ddcmon.o version 2.10.0 (20060214)
eeprom.o version 2.10.0 (20060214)
it87.o version 2.10.0 (20060214)
xeontemp.o version 2.10.0 (20060214)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
DEBUG: e1000_intr: Entering, jiffies=1282
DEBUG: e1000_intr: 06:00.0: eth0: Reset watchdog timer to 1283
DEBUG: e1000_watchdog: 06:00.0: eth0: Entering, e1000_watchdog_task
scheduled at jiffies=1283
DEBUG: e1000_watchdog_task: 06:00.0: eth0: Entering, at jiffies=1283
DEBUG: e1000_watchdog_task: 06:00.0: eth0: e1000 doesn't have link
DEBUG: e1000_intr: Entering, jiffies=1285
DEBUG: e1000_watchdog_task: 06:00.0: eth0: Next is link_up
DEBUG: e1000_watchdog_task: 06:00.0: eth0: Reset watchdog timer to 1486
DEBUG: e1000_intr: Entering, jiffies=1286
DEBUG: e1000_intr: Entering, jiffies=1287
DEBUG: e1000_intr: Entering, jiffies=1288
DEBUG: e1000_intr: Entering, jiffies=1289
DEBUG: e1000_intr: Entering, jiffies=1292
hub.c: new USB device 00:1d.1-2, assigned address 2
DEBUG: e1000_intr: Entering, jiffies=1293
DEBUG: e1000_intr: Entering, jiffies=1294
DEBUG: e1000_intr: Entering, jiffies=1294
DEBUG: e1000_intr: Entering, jiffies=1294
DEBUG: e1000_intr: Entering, jiffies=1295
DEBUG: e1000_intr: Entering, jiffies=1295
DEBUG: e1000_intr: Entering, jiffies=1296
DEBUG: e1000_intr: Entering, jiffies=1296
DEBUG: e1000_intr: Entering, jiffies=1296
DEBUG: e1000_intr: Entering, jiffies=1296
DEBUG: e1000_intr: Entering, jiffies=1296
DEBUG: e1000_intr: Entering, jiffies=1297
DEBUG: e1000_intr: Entering, jiffies=1297
DEBUG: e1000_intr: Entering, jiffies=1298
DEBUG: e1000_intr: Entering, jiffies=1298
DEBUG: e1000_intr: Entering, jiffies=1299
DEBUG: e1000_intr: Entering, jiffies=1299
DEBUG: e1000_intr: Entering, jiffies=1299
DEBUG: e1000_intr: Entering, jiffies=1299
DEBUG: e1000_intr: Entering, jiffies=1299
DEBUG: e1000_intr: Entering, jiffies=1299
Sending DHCP requests .DEBUG: e1000_intr: Entering, jiffies=1466
DEBUG: e1000_intr: 06:00.0: eth0: Reset watchdog timer to 1467
DEBUG: e1000_intr: Entering, jiffies=1466
DEBUG: e1000_watchdog: 06:00.0: eth0: Entering, e1000_watchdog_task
scheduled at jiffies=1467
..DEBUG: e1000_intr: Entering, jiffies=2994
DEBUG: e1000_intr: Entering, jiffies=2994
.DEBUG: e1000_intr: Entering, jiffies=4994
DEBUG: e1000_intr: Entering, jiffies=4994
.DEBUG: e1000_intr: Entering, jiffies=5529
DEBUG: e1000_intr: Entering, jiffies=5529
DEBUG: e1000_intr: Entering, jiffies=5529
DEBUG: e1000_intr: Entering, jiffies=5529
DEBUG: e1000_intr: Entering, jiffies=5591
DEBUG: e1000_intr: Entering, jiffies=5591
DEBUG: e1000_intr: Entering, jiffies=5691
DEBUG: e1000_intr: Entering, jiffies=5691
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel