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 ...
sobomax at FreeBSD.org
Mon Mar 3 09:15:15 UTC 2008
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
> - Remove the old smp cpu topology specification with a new, more flexible
> tree structure that encodes the level of cache sharing and other
> - 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.
More information about the cvs-src