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 ...

Robert Watson rwatson at FreeBSD.org
Mon Mar 3 09:25:46 UTC 2008


On Mon, 3 Mar 2008, Maxim Sobolev wrote:

> 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.

We have quite a bit of kernel code that expects CPUs never come and go; I've 
been hoping to interest people in having a devsummit session on CPU 
hotplugging for a couple of years now. :-)  I don't see physical hotplugging 
as all that motivating currently, by hypervisor reallocation of CPUs *is* 
immediately motivating.  You'll find assumptions of fixed CPUs all over our 
kernel -- schedulers, memory allocators, timer management, etc.  A mature 
model for starting and stopping CPUs and allowing kernel subsystems to 
register with event handlers in order to start/stop their own services is 
necessary.  Similarly, providing a way for user applications that care about 
CPU placement to hook into the event stream and respond appropriately is 
important.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the cvs-all mailing list