From owner-freebsd-current@FreeBSD.ORG Mon Jun 6 22:14:01 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 813D0106566B for ; Mon, 6 Jun 2011 22:14:01 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3B1E78FC15 for ; Mon, 6 Jun 2011 22:14:00 +0000 (UTC) Received: by gxk28 with SMTP id 28so2512059gxk.13 for ; Mon, 06 Jun 2011 15:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=lQqER1vXjn3rFR7fvKY6J15qaGuuU5zA1Xmm8ywMv6c=; b=mY7StgRaq0i96whpdoQvpIbUqRiwZt/O/1dd3Z4SxYQABf2YaHXFQf5NSdj6FxK3Ek 9DZXBSTaz+nfoEl1yxA88aYoE4E0O07oqj6iRiIMaNir/4/mA2uLfMk1EotTw0kNd0WQ wnO5Xiv7ilC79HOuRfPw1XF207X5iKQj+j71g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=h2mj1FKo147NJJ+zBfyqkWyq+ZUA80gcYRTETXmXrmO8FrXCL956/+46qccy492wqL 530N6IQr06xKMTQqMQj0gRY60w5ZHJFX8iSoe2Kgrwo6vfgm8sHNuwHwxquFNwRckYgs 9fO/3w3y/PtP1XwUkc2lqlEf/Uw8QWOtnZ36g= MIME-Version: 1.0 Received: by 10.236.77.9 with SMTP id c9mr5531035yhe.36.1307398440464; Mon, 06 Jun 2011 15:14:00 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.236.103.136 with HTTP; Mon, 6 Jun 2011 15:14:00 -0700 (PDT) In-Reply-To: <20110604130756.1d3b71ba@fabiankeil.de> References: <20110604130756.1d3b71ba@fabiankeil.de> Date: Mon, 6 Jun 2011 18:14:00 -0400 X-Google-Sender-Auth: cUplgQf8fDh-fQxEiVqk-kcNNaY Message-ID: From: Attilio Rao To: Fabian Keil Content-Type: text/plain; charset=UTF-8 Cc: freebsd-current@freebsd.org Subject: Re: [PATCH] Add the infrastructure for supporting an infinite number of CPUs X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jun 2011 22:14:01 -0000 2011/6/4 Fabian Keil : > Attilio Rao 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