Date: Mon, 23 Apr 2001 09:33:43 -0700 From: Peter Wemm <peter@wemm.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: John Baldwin <jhb@FreeBSD.ORG>, alpha@FreeBSD.ORG Subject: Re: SMP is stable now. Whee! :) Message-ID: <20010423163343.8E38638FC@overcee.netplex.com.au> In-Reply-To: <15076.11793.428586.604450@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin wrote:
>
> Peter Wemm writes:
> > I just fired it up on a UP2000+ w/ dual 833MHz cpus (4MB DDR L2 cache each
)
> > and it was rather uneventful.
> >
> > That is.. it was until I typed 'make -j4 world':
> > lock order reversal
> > 1st clk last acquired @ ../../alpha/alpha/clock.c:569
> > 2nd 0xfffffc00006ce728 smp rendezvous @ ../../alpha/alpha/mp_machdep.c:60
5
> > 3rd 0xfffffc00006d9870 clk @ ../../alpha/alpha/clock.c:390
> > [hang]
> >
> > This is with alpha.smp.patch, plus the stuff recent commits. I had to cha
nge
> > some #idef's into #ifdefs in alpha/trap.c though.
>
> Huh? idef? Where?
>
> Can you build with WITNESS_DDB and KTR, with the KTR_MASK set to
> something like -1 and dump the ktr buffer when this happens?
>
> Drew
In John's alpha.smp.patch:
@@ -704,11 +714,22 @@
u_quad_t sticks;
u_int64_t args[10]; /* XXX */
u_int hidden = 0, nargs;
+#idef SMP
+ critical_t s;
+#endif
/*
* Find our per-cpu globals.
*/
+#idef SMP
+ s = critical_enter();
+#endif
globalp = (struct globaldata *) alpha_pal_rdval();
+ p = curproc;
+#idef SMP
+ p->p_md.md_kernnest++;
+ critical_exit(s);
+#endif
mtx_lock(&Giant);
framep->tf_regs[FRAME_TRAPARG_A0] = 0;
I'm not sure how John compiled that...
Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5
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?20010423163343.8E38638FC>
