Processor cores not properly detected/activated?

Adrian Chadd adrian at freebsd.org
Wed May 28 17:51:30 UTC 2014


On 28 May 2014 06:56, John Baldwin <jhb at freebsd.org> wrote:


> Userland cpusets only default to 128 (CPU_MAXSIZE in <sys/_cpuset.h>).
> Changing MAXCPU to even 128 is unfortunately a potential KBI change since it
> changes the size of 'cpuset_t'.  We can certainly bump these in HEAD for 11,
> but we might not be able to MFC them without introducing ABI breakage.
> (The cpuset APIs do allow the size of cpuset_t to change as the size is
> encoded in the API calls, so there is that, it's more that if some public
> structure embeds a cpuset_t in the kernel that we would have problems.  I
> thought 'struct pcpu' did, but it does not.)
>
> Hmm, smp_rendezvous() accepts a cpuset_t as its first argument (and is a
> public symbol used by kernel modules such as dtrace).  'struct rmlock' also
> embeds a cpuset_t.  So, I think we can't bump cpuset_t without breaking
> the KBI.  We can bump it in HEAD however.  (Note, if re@ signed off, we could
> perhaps merge to 10, but we tend to be very hesitant about breaking the KBI.)
> One thing we could do safely is bump the userland cpuset size to 256 in 10.
> It's really only MAXCPU that is problematic.
>
> In particular, I propose we bump the userland cpuset_t size to 256 now (and
> go ahead and merge that to 10).  In HEAD only we can bump MAXCPU for amd64
> to 256.

Since 11 is going to be around for a few years, can we experiment
bumping it up to something compute-cluster-computer-sized just to get
it over with? Something stupid, like 4096 or something?



-a


More information about the freebsd-current mailing list