From owner-cvs-all Sun Mar 10 12:58:54 2002 Delivered-To: cvs-all@freebsd.org Received: from mass.dis.org (dhcp45-21.dis.org [216.240.45.21]) by hub.freebsd.org (Postfix) with ESMTP id 09A6D37B400; Sun, 10 Mar 2002 12:58:50 -0800 (PST) Received: from mass.dis.org (localhost [127.0.0.1]) by mass.dis.org (8.11.6/8.11.6) with ESMTP id g2AKvum00955; Sun, 10 Mar 2002 12:58:04 -0800 (PST) (envelope-from msmith@mass.dis.org) Message-Id: <200203102058.g2AKvum00955@mass.dis.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Jeff Roberson Cc: Doug Rabson , Jeff Roberson , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/sys smp.h src/sys/kern subr_smp.c src/sys/i386/i386 mp_machdep.c src/sys/alpha/alpha mp_machdep.c In-reply-to: Your message of "Sat, 09 Mar 2002 16:59:01 EST." <20020309165518.W58901-100000@mail.chesapeake.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 10 Mar 2002 12:57:56 -0800 From: Michael Smith Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > > This screws up the SMP probe for ia64 because the information which > > cpu_mp_probe() uses isn't available until after cpu_startup() is called > > (i.e. SI_SUB_CPU:SI_ORDER_FIRST). The code in the ia64 platform which > > detects SMP can't (currently) run before the VM system is started... > > Is it possible to do it at all before the VM starts up? This really > throws a wrench in my uma plans. Can you even tell how many cpus you have > before then? If you can do this, and force your cpu ids to be virtual and > non sparse, then you can set mp_maxid to the number of cpus. The CPU ID array should be "reasonably dense". On systems where the CPU ID space is sparse, a "dense to sparse" translation can be performed relatively cheaply. You're causing massive (bad) upheaval in the system for the sake of supporting a poor design choice. Instead, just shift the CPU ID paradigm back to where it was. In many cases (IA64 is one of them), CPUs other than the boot processor may be detected and started up at any time. You want a constant that allows the maximum number of CPUs supported by the platform, rather than to detect the number of CPUs currently on the platform; just pick a sane upper bound (eg. 8) and work with it for now. -- To announce that there must be no criticism of the president, or that we are to stand by the president, right or wrong, is not only unpatriotic and servile, but is morally treasonable to the American public. - Theodore Roosevelt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message