From owner-cvs-all@FreeBSD.ORG Mon Mar 3 09:15:15 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28E4D106566B; Mon, 3 Mar 2008 09:15:15 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from sippysoft.com (gk1.360sip.com [72.236.70.240]) by mx1.freebsd.org (Postfix) with ESMTP id C70A68FC1E; Mon, 3 Mar 2008 09:15:14 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from [192.168.0.3] ([204.244.149.125]) (authenticated bits=0) by sippysoft.com (8.13.8/8.13.8) with ESMTP id m239FDvb065917 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 3 Mar 2008 01:15:14 -0800 (PST) (envelope-from sobomax@FreeBSD.org) Message-ID: <47CBC127.8010403@FreeBSD.org> Date: Mon, 03 Mar 2008 01:13:11 -0800 From: Maxim Sobolev Organization: Sippy Software, Inc. User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: Jeff Roberson References: <200803020758.m227wgH9040483@repoman.freebsd.org> In-Reply-To: <200803020758.m227wgH9040483@repoman.freebsd.org> Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/amd64/amd64 identcpu.c mp_machdep.c src/sys/amd64/include smp.h src/sys/i386/i386 identcpu.c mp_machdep.c src/sys/i386/include smp.h src/sys/ia64/ia64 mp_machdep.c src/sys/kern sched_ule.c subr_smp.c ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Mar 2008 09:15:15 -0000 Jeff Roberson wrote: > jeff 2008-03-02 07:58:42 UTC > > FreeBSD src repository > > Modified files: > sys/amd64/amd64 identcpu.c mp_machdep.c > sys/amd64/include smp.h > sys/i386/i386 identcpu.c mp_machdep.c > sys/i386/include smp.h > sys/ia64/ia64 mp_machdep.c > sys/kern sched_ule.c subr_smp.c > sys/powerpc/powerpc mp_machdep.c > sys/sparc64/sparc64 mp_machdep.c > sys/sun4v/sun4v mp_machdep.c > sys/sys smp.h > Log: > - Remove the old smp cpu topology specification with a new, more flexible > tree structure that encodes the level of cache sharing and other > properties. > - Provide several convenience functions for creating one and two level > cpu trees as well as a default flat topology. The system now always > has some topology. > - On i386 and amd64 create a seperate level in the hierarchy for HTT > and multi-core cpus. This will allow the scheduler to intelligently > load balance non-uniform cores. Presently we don't detect what level > of the cache hierarchy is shared at each level in the topology. > - Add a mechanism for testing common topologies that have more information > than the MD code is able to provide via the kern.smp.topology tunable. > This should be considered a debugging tool only and not a stable api. Cool! I am just curious if the new topology code is flexible enough to support cores that come and go on the fly? This could be useful in several scenarios, such as for example when running under multi-core aware hypervisor (e.g. Niagara), in the cases when pro-active power manager shuts down some cores to conserve power, in server applications when one of CPUs either has fried or has been unplugged, etc. -Maxim