* Andrew Gallatin <[EMAIL PROTECTED]> [020716 10:46] wrote:
> 
> Andrew Kolchoogin writes:
>  > Hi!
>  > 
>  > On Tue, Jul 16, 2002 at 02:45:11PM +0200, Dag-Erling Smorgrav wrote:
>  > 
>  > > The following panic is 100% reproducable - it happens whenever I boot
>  > > a recent kernel on Alpha, just before init(8) starts getty(8) on the
>  > > console:
>  > sorry, kernel from today's sources at 17:38 works just fine.
>  > 
>  > Yet another question about kernel core dumps: what should I do to get one?-)
>  > Why "panic" from debugger on i386 gives core dump and reboots the system
>  > and "panic" from debugger on Alpha does not?
>  > 
> 
> Because, as BDE says, that crashdumps work at all is mosty accidental.
> 
> On alpha, a random kernel thread is waking up, and is unable to go
> back to sleep because of the panicstr hack msleep:
> 
>         mtx_lock_spin(&sched_lock);
>         if (cold || panicstr) {
>                 /*
>                  * After a panic, or during autoconfiguration,
>                  * just give interrupts a chance, then just return;
>                  * don't run any other procs or panic below,
>                  * in case this is the idle process and already asleep.
>                  */
>                 if (mtx != NULL && priority & PDROP)
>                         mtx_unlock(mtx);
>                 mtx_unlock_spin(&sched_lock);
>                 return (0);
>         }
> 
> 
> We need to somehow let only interrupt threads and the panic'ed process
> run after a panic.  I have no idea how to do this in a clean,
> low-impact way.
> 
> Drew
> 
> PS: I was trying to make crashdumps fail on x86 by increasing HZ.  But
> I cannot.   I have no idea why this only happens on alpha.

um, psuedocode...

for ithreads, td->td_flags |= TD_ITHREAD
for panicing thread, td->td_flags |= TD_INPANIC

if ((cold || panicstr) && (td->td_flags & (TD_ITHREAD|TD_INPANIC)) != 0) {

?


-- 
-Alfred Perlstein [[EMAIL PROTECTED]]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to