Subject: Re: wi(4) in nell keeps sparc from rebooting
To: Martin Husemann <martin@duskware.de>
From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
List: port-sparc
Date: 11/09/2005 21:00:21
At 23:29 Uhr +0100 6.11.2005, Martin Husemann wrote:
>Could you add a printf before the tsleep() in question and make it
>print out the "ticks" value? And another just after the tsleep?

There is no "after". The kernel remains stuck in the tsleep().

unmounting /usr (/dev/sd1d)...
unmounting /var (/dev/sd0d)...
unmounting / (/dev/sd0a)... done
Before tsleep in 1131, file ../../../../dev/sbus/stp4020.c: ticks = 30
Stopped at      netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
db{1}> ps
 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
 1402             1      864        100 2  0x4102    1             halt stp4020
 558              0        0          0 2 0x20200    1            nfsio  nfsidl
 591              0        0          0 2 0x20200    1            nfsio  nfsidl
 569              0        0          0 2 0x20200    1            nfsio  nfsidl
 557              0        0          0 2 0x20200    1            nfsio  nfsidl
 306              0        0          0 2 0x20200    1       lfs_writer lfswrit
 7                0        0          0 2 0x20200    1         aiodoned aiodone
 6                0        0          0 2 0x20200    1          ioflush  syncer
 5                0        0          0 2 0x20200    1       pagedaemon pgdaemo
 4                0        0          0 2 0x20200    1         scsibus1  sccomp
 3                0        0          0 2 0x20200    1            nell0  pcicev
 2                0        0          0 2 0x20200    1         scsibus0  sccomp
 1                0        1          0 2  0x4000    1             init    wait
 0               -1        0          0 2 0x20200    1          swapper schedul
db{1}>

(Kernel configured with DEBUG and DIAGNOSTIC options.)

What I noted, though, is

Configuring network interfaces: wi0Before tsleep in 1131, file
../../../../dev/s
bus/stp4020.c: ticks = 40
After tsleep in 1136, file ../../../../dev/sbus/stp4020.c: ticks = 40
Before tsleep in 1131, file ../../../../dev/sbus/stp4020.c: ticks = 12
After tsleep in 1136, file ../../../../dev/sbus/stp4020.c: ticks = 12
Before tsleep in 1131, file ../../../../dev/sbus/stp4020.c: ticks = 2
After tsleep in 1136, file ../../../../dev/sbus/stp4020.c: ticks = 2
stray interrupt ipl 0x7 pc=0xf0007e84 npc=0xf0007e88 psr=404000c7<S,PS>
 hme0 bridge0stray interrupt ipl 0x7 pc=0xf0007e80 npc=0xf0007e84
psr=404000c7<S
,PS>
 pppoe0.

in the bootlog which normally looks more like
http://mail-index.netbsd.org/port-sparc/2005/06/09/0005.html. So there
seems to be a timing-related issue.

I shall try a single-cpu kernel next, just for laughs.

	hauke

--
"It's never straight up and down"     (DEVO)