Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Mar 2009 11:14:20 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-smp@freebsd.org
Cc:        Robert Heron <robert@heron.pl>, Won De Erick <won.derick@yahoo.com>
Subject:   Re: only one logical CPU used in Xeon
Message-ID:  <200903101114.20634.jhb@freebsd.org>
In-Reply-To: <719357.64276.qm@web45802.mail.sp1.yahoo.com>
References:  <719357.64276.qm@web45802.mail.sp1.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 10 March 2009 10:43:01 am Won De Erick wrote:
> 
> Hi,
> 
> I also have boxes with several Intel Xeon dual-core processors, and also got 
same results. 
> 
> With FreeBSD 6.2R:
> #sysctl -a | grep pci.enable
> hw.pci.enable_io_modes: 1    
> 
> I think 6.2 uses legacy interrupt (INTx) which allows sharing of IRQs and is 
CPU bounded(?). It is also probable that even MSI/MSIX-supported NIC drivers 
are used here, 6.2R still used the traditional interrupt mechanism.
> 
> With FreeBSD 7.1:
> #sysctl -a | grep pci.enable
> hw.pci.enable_msix: 1
> hw.pci.enable_msi: 1
> hw.pci.enable_io_modes: 1
> 
> Google would tell us that MSI/MSI-X allows control over which processor is 
chosen as the interrupt target. Does this explain the result?

MSI won't determine which CPUs are used.  Probably the submitter needs to try 
6.4.  My guess is that 6.2 thinks his extra cores are hyperthreads and thus 
has them disabled by default.  You can toggle machdep.hyperthreading_allowed 
(sysctl) if that is the case, but upgrading to 6.4 is probably better.

-- 
John Baldwin



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