Messages in this thread | | | Date | Fri, 10 Oct 2003 11:03:20 -0700 | From | Tim Hockin <> | Subject | Re: 2.7 thoughts |
| |
On Fri, Oct 10, 2003 at 07:47:23AM -0700, William Lee Irwin III wrote: > You need at least enough warning to get out of critical sections (e.g. > holding a spinlock) and dump registers out to memory. i.e. as long as it > takes to schedule out whatever's currently running on the thing.
I've got a patch against RedHat's 2.4.x kernel with some version of O(1) scheduler that migrates all processes off a CPU and makes it ineleigible to run new tasks. When the syscall returns, it is safe to remove the CPU. Processes that are running or sleeping and can be migrated elsewhere are migrated. Running processes that have set_cpus_allowed to ONLY the processor in question are marked TASK_UNRUNNABLE and moved off the runqueue. Sleeping processes that have set_cpus_allowed to ONLY the processor in question are left unmolested until they wake up, at which point they will be marked UNRUNNABLE.
It was done to allow software to bring CPUs on/offline, but it should work for this. IRQs not done yet, either.
-- Notice that as computers are becoming easier and easier to use, suddenly there's a big market for "Dummies" books. Cause and effect, or merely an ironic juxtaposition of unrelated facts?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |