Date: Mon, 6 Jun 2011 18:14:00 -0400 From: Attilio Rao <attilio@freebsd.org> To: Fabian Keil <freebsd-listen@fabiankeil.de> Cc: freebsd-current@freebsd.org Subject: Re: [PATCH] Add the infrastructure for supporting an infinite number of CPUs Message-ID: <BANLkTikAw1xk1Lza0nvKF-%2BPjcE-jvLBQw@mail.gmail.com> In-Reply-To: <20110604130756.1d3b71ba@fabiankeil.de> References: <BANLkTi=xgP64i2S=SE1zz-p07b7cTA06Zg@mail.gmail.com> <20110604130756.1d3b71ba@fabiankeil.de>
next in thread | previous in thread | raw e-mail | index | archive | help
2011/6/4 Fabian Keil <freebsd-listen@fabiankeil.de>: > Attilio Rao <attilio@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTikAw1xk1Lza0nvKF-%2BPjcE-jvLBQw>