Attilio Rao <attilio_at_freebsd.org> wrote: > Current maximum number of CPUs supported by the FreeBSD kernel is 32. > That number cames from indirectly by the fact that we have a cpumask_t > type, representing a mask of CPUs, which is an unsigned int right now. > I then made a patch that removes the cpumask_t type and uses cpuset_t > type for characterizing a generic mask of CPUs: > http://www.freebsd.org/~attilio/largeSMP/largeSMP-patchset-beta-0.diff > I really need to commit this patch before code slush happens, thus I > plan to commit it on June 7th, if no one reports bugs or can make good > point on his reviews. Please note that the patch has been greatly > tested and reviewed on all FreeBSD tier-1 and tier-2 architectures. > Anyway more testing and reviews are welcome to happen. In the few days I've been using the patch, I haven't experienced any problems on a dual core AMD64 system using SCHED_ULE. I'm aware that two isn't that close to infinity, though. Not sure if it matters, but I noticed two places where the CPU_ABSENT() macro could be used, but isn't. There may be more, but as someone unfamiliar with the code it wasn't obvious to me if there are places where "all_cpus" and "cpus" are equal. Of course there also might be a difference in semantics that I'm not getting. Fabian
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:14 UTC