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

Reply via email to