Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jan 1998 22:31:48 -0500
From:      "Gary Palmer" <gpalmer@FreeBSD.ORG>
To:        "MUTHU" <MOLAGAPP.IN.oracle.com.ofcmail@in.oracle.com>
Cc:        smp@FreeBSD.ORG
Subject:   Re: Why NCPU=1 doesn't work? 
Message-ID:  <1752.886044708@gjp.erols.com>
In-Reply-To: Your message of "23 Jan 1998 09:00:15 %2B0330." <199801230227.VAA06987@dwarpal.in.oracle.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
"MUTHU" wrote in message ID
<199801230227.VAA06987@dwarpal.in.oracle.com>:
> Hi, 
>  
>   I lay a few questions which make me restless. I also thank in advance for 
> all who would answer these questions. 
>  
>   1. If SMP code is written in a generic way, then why NCPU=1 doesn't work
> on a uniprocessor(non mp capable hardware)?   

I believe its because the non-SMP motherboards don't have the hardware
(specifically the IO APIC) nevessary for supporting the SMP code. Hence,
if you don't have the hardware, NCPU=1 breaks.

>   2. Though it is dumb question, I would like to know why was SMP was
> designed in a way that NCPU=1 doesn't work on uniprocessor? 

Ask Intel, I'm afraid. Probably cost. It's too expensive to put the
IO APIC on motherboards that don't need it.

>   3. Also NCPU is a compile time variable and all the static structures are 
> allocated with this variable. This makes to know manually how many processors
> are in the SMP hardware and assign NCPU variable corresponding to this value.
> This makes to compile and build different SMP kernel for different machine. 
> Why can't this variable value found in the mp_probe stage? 

The SMP code is still developmental. Its nowhere near its final form.
Judging the code cleanliness now would be premature.

Gary
--
Gary Palmer                                          FreeBSD Core Team Member
FreeBSD: Turning PC's into workstations. See http://www.FreeBSD.ORG/ for info





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1752.886044708>