Issue #19249 has been updated by Lance Dillon.

IBM System x3850 X5 -[7143AC1]-
40 cpus
# cat /proc/cpuinfo |grep '^proc'
processor       : 0
processor       : 1
processor       : 2
processor       : 10
processor       : 11
processor       : 12
processor       : 20
processor       : 21
processor       : 22
processor       : 30
processor       : 31
processor       : 32
]# facter |grep proc
physicalprocessorcount => 4
processor0 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor1 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor10 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor11 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor12 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor2 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor20 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor21 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor22 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor30 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor31 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processor32 => Intel(R) Xeon(R) CPU E7- 8870  @ 2.40GHz
processorcount => 33


There are 40 cpus, but only 12 are activated right now.

# ls /sys/devices/system/cpu
cpu0   cpu15  cpu21  cpu28  cpu34  cpu5     kernel_max
cpu1   cpu16  cpu22  cpu29  cpu35  cpu6     offline
cpu10  cpu17  cpu23  cpu3   cpu36  cpu7     online
cpu11  cpu18  cpu24  cpu30  cpu37  cpu8     possible
cpu12  cpu19  cpu25  cpu31  cpu38  cpu9     present
cpu13  cpu2   cpu26  cpu32  cpu39  cpufreq  sched_mc_power_savings
cpu14  cpu20  cpu27  cpu33  cpu4   cpuidle  sched_smt_power_savings


----------------------------------------
Bug #19249: number of cpus (facts.processorcount) is incorrect
https://projects.puppetlabs.com/issues/19249#change-87491

* Author: Lance Dillon
* Status: Needs More Information
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Keywords: 
* Branch: 
* Affected Facter version: 1.6.9
----------------------------------------
Facter is counting number of processors incorrectly. It appears to be taking 
the highest number of processor and adding 1 (for 0 based counting). On some 
architectures, some memory is only accessible through a specific socket, so you 
need to have at least one core per socket, so disabling processors isn't done 
from the end, but in a round-robin fashion. We have a machine that has 
processors 0,1,2, 10,11,12, 20,21,22, 30,31,32 active, others disabled, but 
facter reports 33 processors by adding 1 to the last processor 32. It should 
actually count all the processors to get an accurate number, in this case 12.

Occurring on at least facter version 1.6.9.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to