From owner-svn-src-head@FreeBSD.ORG Mon Aug 9 12:05:07 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8A57106567B; Mon, 9 Aug 2010 12:05:07 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id B49998FC24; Mon, 9 Aug 2010 12:05:06 +0000 (UTC) Received: by qwg5 with SMTP id 5so6145436qwg.13 for ; Mon, 09 Aug 2010 05:05:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=XizLhOzUK3Y3KIYzNFU9yPfhXvjpJuZwR1t2pB09Yls=; b=DPGl5F1Afd9aZ83FyEkm9fLvl4UnZUl/5GHyO76g/0gpeb2m6q4CA0BXTh7Kl972BV wWqtIAW4DFclc9/P3lCmMWNd36yDwX8fU29qnf5sj/6NkFvsIKVPcd6jbSJz8G0Y8DMQ nDaEvcRHJHMRzoDfwH+Z56OHHNOOpcyvfK8U4= 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 :content-transfer-encoding; b=thkysdbMvCXhO/XOEa7RP4mhpBCPDuQhppsdg8lPvlMOM5yL/9CGrvxo0InZYFCOOr FytHLpyAa3r5cgUjkFT4OuUfjAGBqvblrJYYiUncvMepAnyRuGI1AdS0uP4kscofVObV ddbrDuiF7/ez7FQxzBEu5rqXZSzQfjVit+LGA= MIME-Version: 1.0 Received: by 10.229.239.3 with SMTP id ku3mr6031071qcb.129.1281355505558; Mon, 09 Aug 2010 05:05:05 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.229.251.6 with HTTP; Mon, 9 Aug 2010 05:05:05 -0700 (PDT) In-Reply-To: References: <201005161943.o4GJhnTo096839@svn.freebsd.org> Date: Mon, 9 Aug 2010 14:05:05 +0200 X-Google-Sender-Auth: GPSocT4b9_mtIBpkWSTfGbtH3a8 Message-ID: From: Attilio Rao To: "Jayachandran C." Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: src-committers@freebsd.org, John Baldwin , "Jayachandran C." , svn-src-all@freebsd.org, Joe Landers , Randall Stewart , sbruno@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r208165 - in head/sys: kern mips/conf mips/include mips/mips mips/rmi mips/rmi/dev/xlr X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Aug 2010 12:05:07 -0000 2010/8/9 Jayachandran C. : > On Mon, Aug 9, 2010 at 5:31 AM, Attilio Rao wrote: >> 2010/5/16 Randall Stewart : >>> Author: rrs >>> Date: Sun May 16 19:43:48 2010 >>> New Revision: 208165 >>> URL: http://svn.freebsd.org/changeset/base/208165 >>> >>> Log: >>> =C2=A0This pushes all of JC's patches that I have in place. I >>> =C2=A0am now able to run 32 cores ok.. but I still will hang >>> =C2=A0on buildworld with a NFS problem. I suspect I am missing >>> =C2=A0a patch for the netlogic rge driver. >>> >>> =C2=A0JC check and see if I am missing anything except your >>> =C2=A0core-mask changes >> >> >>> Modified: head/sys/kern/subr_smp.c >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >>> --- head/sys/kern/subr_smp.c =C2=A0 =C2=A0Sun May 16 19:25:56 2010 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(r208164) >>> +++ head/sys/kern/subr_smp.c =C2=A0 =C2=A0Sun May 16 19:43:48 2010 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(r208165) >>> @@ -503,7 +503,10 @@ smp_topo_none(void) >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top =3D &group[0]; >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top->cg_parent =3D NULL; >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top->cg_child =3D NULL; >>> - =C2=A0 =C2=A0 =C2=A0 top->cg_mask =3D (1 << mp_ncpus) - 1; >>> + =C2=A0 =C2=A0 =C2=A0 if (mp_ncpus =3D=3D sizeof(top->cg_mask) * 8) >>> + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 top->cg_mask =3D -1; >>> + =C2=A0 =C2=A0 =C2=A0 else >>> + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 top->cg_mask =3D (1 = << mp_ncpus) - 1; >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top->cg_count =3D mp_ncpus; >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top->cg_children =3D 0; >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0top->cg_level =3D CG_SHARE_NONE; >>> >> >> ... and this is why I particulary hate big commits with complete lack >> of technical details. >> >> This particulary chunk was supposed to fix a nasty and completely MI >> bug that some users have already met (kern/148698). The complete lack >> of details didn't help in identify the issue neither that it was a >> valuable fix. >> >> The fix is, however, improper (there is no clear relationship between >> the multiplication and why that happens) thus I would rather use what >> Joe has reported in the PR. > > > I was not aware of the PR when I sent this changes to rrs@, and this > went as a part of MIPS SMP support for XLR which has 32 CPUs > > But I'm not sure that the current change is correct, cg_mask is of > type cpumask_t and I don't think it is guaranteed to be 32 bit (as it > is a machine dependent type). Actually the 32 bits limit is well aware and acknowledged in cpumask_t. While it is true that it should be an 'opaque' type, in reality it is not. The maximum limit of 32 CPUs is a reality due to cpumask_t on all our architectures. That is why we are going to use cpuset_t for dealing with CPUs numbers (which is really opaque, at same extent, and is not bound to any size). Attilio --=20 Peace can only be achieved by understanding - A. Einstein