Date: Wed, 27 Sep 2006 23:08:32 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: Maxim Sobolev <sobomax@freebsd.org>, Scott Long <scottl@samsco.org>, src-committers@freebsd.org, cvs-all@freebsd.org, cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 local_apic.c Message-ID: <20060927230635.D73166@fledge.watson.org> In-Reply-To: <200609271338.22284.jhb@freebsd.org> References: <200609261608.k8QG8TYB044266@repoman.freebsd.org> <200609271117.25831.jhb@freebsd.org> <451A9E1E.30601@samsco.org> <200609271338.22284.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 27 Sep 2006, John Baldwin wrote: >>>>> from amd64 as well? >>>> >>>> Yes, you are right - this is ULE specific bug. In fact, quick grep of the >>>> ULE code reveals that it doesn't honor hlt_cpus_mask, so that the problem >>>> is with ULE, not with the change in question. >>> >>> Well, hlt_cpus_mask is really an x86-specific hack. :) >> >> x86 and amd64, which represent about 95% of FreeBSD. > > My point is that we need a notion of taking CPUs offline and online with > scheudler hooks, instead of exporting a simple x86-specific bitmask. Right > now we don't notify the schedulers when a CPU goes offline so that they can > try to do sensible things with pinned and bound threads, etc. Instead, they > just have to "notice" which is rediculously lame. It's pretty clear that if we're going to take the hypervisor + dynamic reconfiguration thing seriously, we need a structured notion of adding and removing CPUs from the active CPU pool, including things like event handlers so that subsystems can shut down operations on the CPU. For example, UMA needs a chance to drain per-CPU caches of various zones, services that have pinned threads on the CPU will need to decide how to deal with that, etc. It's work I'd very much like to see happen, and until it's done we basically need to make sure that CPUs either exist from boot and never cease existing, or don't exist at boot and are never used. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060927230635.D73166>