Re: [PATCH] Add the infrastructure for supporting an infinite number of CPUs

From: Attilio Rao <attilio_at_freebsd.org>
Date: Mon, 6 Jun 2011 18:14:00 -0400
2011/6/4 Fabian Keil <freebsd-listen_at_fabiankeil.de>:
> 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.

Well, it is important to verify the patch doesn't introduce
regressions, thus thanks for testing.

> 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.

Actually I'm fairly sure there are several refinements that can be
made in this area of the kernel, but for the moment I want to keep the
patch straight to the smallest possible subset of changes in order to
avoid silly mistakes.

If you want to submit patches abotu more usage of CPU_ABSENT() feel
free to do so, I can review and commit them.

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Mon Jun 06 2011 - 20:14:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:14 UTC