From owner-freebsd-smp Fri Jul 13 0: 4:50 2001 Delivered-To: freebsd-smp@freebsd.org Received: from beppo.feral.com (beppo.feral.com [192.67.166.79]) by hub.freebsd.org (Postfix) with ESMTP id 7344F37B401; Fri, 13 Jul 2001 00:04:48 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from beppo (mjacob@beppo [192.67.166.79]) by beppo.feral.com (8.11.3/8.11.3) with ESMTP id f6D74lS68156; Fri, 13 Jul 2001 00:04:47 -0700 (PDT) (envelope-from mjacob@feral.com) Date: Fri, 13 Jul 2001 00:04:47 -0700 (PDT) From: Matthew Jacob X-Sender: mjacob@beppo Reply-To: mjacob@feral.com To: smp@freebsd.org Cc: bmilekic@freebsd.org Subject: uh oh.. bad assumption here... Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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