Date: Mon, 03 Mar 2008 01:13:11 -0800 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Jeff Roberson <jeff@FreeBSD.org> 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 ... Message-ID: <47CBC127.8010403@FreeBSD.org> In-Reply-To: <200803020758.m227wgH9040483@repoman.freebsd.org> References: <200803020758.m227wgH9040483@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47CBC127.8010403>