Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2001 00:04:47 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        smp@freebsd.org
Cc:        bmilekic@freebsd.org
Subject:   uh oh.. bad assumption here...
Message-ID:  <Pine.BSF.4.21.0107130000220.61694-100000@beppo>

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

I just finally looked a bit more at the MB allocation code.

The assumption being made here is that:

#define NCPU_PRESENT    mp_ncpus

Yes, this is true.

What is a problem here is that it is then assumed that this CPU ids are a
dense array from 0..mp_ncpus. cpuid is then used as a per-cpu index later.

That this is dense can never, in fact, be true on alpha, unless we make cpuid
a kernel virtual that indexes to hardware CPUid.

I found this out by disabling processors 1..2 of a 4-way 4100. I crashed in
inet startup as soon as CPU3 tried to do m_gethdr. Oops.

-matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" 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.0107130000220.61694-100000>