Date: Mon, 1 Dec 2003 16:55:54 -0500 (EST) From: Jeff Roberson <jroberson@chesapeake.net> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: RE: cvs commit: src/sys/alpha/alpha mp_machdep.c Message-ID: <20031201165303.C4201-100000@mail.chesapeake.net> In-Reply-To: <XFMail.20031201125930.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 1 Dec 2003, John Baldwin wrote:
>
> On 30-Nov-2003 Jeff Roberson wrote:
> > jeff 2003/11/30 14:08:24 PST
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/alpha/alpha mp_machdep.c
> > Log:
> > - Set mp_maxid in a way that is consistent with every other arch. It is
> > one more than the last valid 'cpuid'.
> >
> > Approved by: re (rwatson)
>
> Eh? No it's not. All that needs to be true is that for every processor,
> PCPU_GET(cpuid) <= mp_maxid.
>
> It can be equal to the highest ID and should be so for most cases.
>From x86's mp_machdep:
mp_maxid = MAXCPU;
ia64
mp_maxid = min(mp_ncpus, MAXCPU) - 1;
sparc64
cpus = 0;
root = OF_peer(0);
for (child = OF_child(root); child != 0; child = OF_peer(child)) {
if (OF_getprop(child, "device_type", buf, sizeof(buf)) > 0
&&
strcmp(buf, "cpu") == 0)
cpus++;
}
mp_maxid = cpus;
And I just changed amd64 and alpha to mean maxid + 1. Damn. it looks like
just sparc64 and x86 were wrong. Maybe I should change those to mean the
right thing, and backout the changes to uma. yack.
>
> --
>
> John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031201165303.C4201-100000>
