MAXCPU preparations

John Baldwin jhb at freebsd.org
Wed Sep 29 13:26:02 UTC 2010


On Tuesday, September 28, 2010 6:24:32 pm Robert N. M. Watson wrote:
> 
> On 28 Sep 2010, at 19:40, Sean Bruno wrote:
> 
> >> If you go fully dynamic you should use mp_maxid + 1 rather than maxcpus.
> > 
> > I assume that mp_maxid is the new kern.smp.maxcpus?  Can you inject some
> > history here so I can understand why one is "better" than the other?
> 
> So, unlike maxcpus, mp_maxid is in theory susceptible to races in a brave new world in which we support hotplug CPUs -- a brave new world we're 
not yet ready for, however. If you do use mp_maxid, be aware you need to add one to get the size of the array -- maxcpus is the number of CPUs that 
can be used, whereas mp_maxid is the highest CPU ID (counting from 0) that is used.

Hmm, I'm not sure that is true.  My feeling on mp_maxid is that it is the
largest supported CPUID.  Platforms that support hotplug would need to set
mp_maxid such that it has room for hotpluggable CPUs.  You don't want to
go reallocate the UMA datastructures for every zone when a CPU is hotplugged
for example.

-- 
John Baldwin


More information about the freebsd-current mailing list