Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jun 2001 18:59:04 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        wilko@FreeBSD.ORG, freebsd-alpha@FreeBSD.ORG, jhb@FreeBSD.ORG
Subject:   Re: followup on 8 way SMP pani
Message-ID:  <Pine.BSF.4.21.0106121858250.39150-100000@beppo.feral.com>
In-Reply-To: <15142.48056.299034.909499@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

Oh! I was really snoozing- many other things happening (mostly personal)!

This should be easy to fix- let me look at this tomorrow.

On Tue, 12 Jun 2001, Andrew Gallatin wrote:

> 
> Wilko Bulte writes:
>  > On Mon, Jun 11, 2001 at 10:06:56AM +0000, Wilko Bulte wrote:
>  > 
>  > Does this make any sense to anybody? Drew, you asked for a traceback?
> 
> <...>
> 
>  > >     trap entry     = 0x2 (memory management fault)
>  > >     cpuid          = 0
>  > >     faulting va    = 0x78
>  > >     type           = access violation
>  > >     cause          = load instructon
>  > >     pc             = 0xfffffc0000491ae4
>  > >     ra             = 0xfffffc0000491ba8
>  > >     sp             = 0xfffffc00008d9b90
>  > >     usp            = 0x0
>  > >     curproc        = 0xfffffc0000831288
>  > >         pid = 0, comm = swapper
>  > > 
>  > > Stopped at      sync_other_counter+0x24:        ldq     s1,0x78(s0) <0x78>
>  > > <s1=0xfffffc0000785138,s0=0x0>
>  > > db> trace
>  > > sync_other_counter() at sync_other_counter+0x24
>  > > tc_windup() at tc_windup+0x28
>  > > hardclock() at hardclock+0x1e8
>  > > handleclock() at handleclock+0x22c
>  > > alpha_clock_interrupt() at alpha_clock_interrupt+0x68
>  > > interrupt() at interrupt+0xb8
>  > > XentIntlgp() at XentIntlgp+0x14
>  > > db> halt
>  > > 
> 
> Yes, sorry I never replied.  According to Matt, the turbolaser doesn't
> have an i8254 timecounter.  And the alpha timecounter is never
> initialized in alpha/alpha/clock.c if ncpus>1, so you're taking a
> clock interrupt with no timecounter.  Oops.  No MP for TurboLasers
> right now, I guess.
> 
> Here's the code in question:
> 
>         /*
>          * XXX: TurboLaser doesn't have an i8254 counter.
>          * XXX: A replacement is needed, and another method
>          * XXX: of determining this would be nice.
>          */
>         if (hwrpb->rpb_type != ST_DEC_21000) {
>                 tc_init(&i8254_timecounter);
>         }
> 
>         if (ncpus == 1) {
>                 alpha_timecounter.tc_frequency = freq;
>                 tc_init(&alpha_timecounter);
>         }
> 
> I think there are bigger fish to fry right now, but this needs to be
> fixed. I'm not at all sure what to do, since I don't think that
> the cycle counters on multiple cpus are in sync..
> 
> Drew
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-alpha" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0106121858250.39150-100000>