2001-07-14 20:40:08

by David Ford

[permalink] [raw]
Subject: 2.4.5+ hangs on boot

Ok, aic7xxx hang solved on one machine with APIC solution
Ok, sched.c hang solved on another machine with patch.

However that patch doesn't solve everything and there are a few other
places where things hang.

*) I20 hangs in the middle of I20 init on -every- system I have from 586
to pIII in recent kernels
*) something hangs just after floppy init, last line is FDC0...

The FDC is immediately prior to where I2O inits so possibly the hang is
actually just following FDC/I2O? Normal boot messages should be like this:

Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Loading I2O Core - (c) Copyright 1999 Red Hat Software
Linux I2O PCI support (c) 1999 Red Hat Software.
i2o: Checking for PCI I2O controllers...
I2O configuration manager v 0.04.
(C) Copyright 1999 Red Hat Software
I2O Block Storage OSM v0.9
(c) Copyright 1999-2001 Red Hat Software.
i2o_block: Checking for Boot device...
i2o_block: Checking for I2O Block devices...
I2O LAN OSM (C) 1999 University of Helsinki.
early initialization of device teql0 is deferred
loop: loaded (max 8 devices)
Linux Tulip driver version 0.9.15-pre3 (June 1, 2001)
PCI: Found IRQ 5 for device 00:10.0

Any comments or suggestions? 2.4.5-ac19 is the last kernel I have that
works.

David




2001-07-14 22:12:17

by David Ford

[permalink] [raw]
Subject: [found-not fixed] Re: 2.4.5+ hangs on boot

Ok, the problem is this. I have TEQL packet scheduling in my config,
the kernel runs through this sequence on boot:

net_dev_init()
pktsched_init()
teql_init() [starts a lock with rtnl_lock()]
register_netdevice()
net_dev_init()
pktsched_init()
teql_init() [hangs here...]

Here is the problem. We enter teql_init() again with a rtnl_lock()
already being held. Do any of the authors of these functions want to
jump in here?

David

David Ford wrote:

> [...]
> I2O LAN OSM (C) 1999 University of Helsinki.
> early initialization of device teql0 is deferred
> loop: loaded (max 8 devices)
> Linux Tulip driver version 0.9.15-pre3 (June 1, 2001)
> PCI: Found IRQ 5 for device 00:10.0
>
> Any comments or suggestions? 2.4.5-ac19 is the last kernel I have
> that works.



2001-07-15 00:56:45

by David Ford

[permalink] [raw]
Subject: [PATCH] Re: 2.4.5+ hangs on boot

--- linux-2.4.6.orig/net/core/dev.c Sat Jul 14 17:48:57 2001
+++ linux-2.4.6/net/core/dev.c Wed Jun 20 21:00:55 2001
@@ -2405,6 +2401,9 @@
#ifdef CONFIG_NET_FASTROUTE
dev->fastpath_lock=RW_LOCK_UNLOCKED;
#endif
-
- if (dev_boot_phase)
- net_dev_init();

#ifdef CONFIG_NET_DIVERT
ret = alloc_divert_blk(dev);


Attachments:
dev.c-diff (317.00 B)