From: Rusty R. <ru...@au...> - 2004-01-28 00:58:11
|
In message <200...@in...> you write: > What this means is there is a transition phase in which a CPU is not > in the online map, but however can be running any task and taking > interrupts, just like any other CPU in the system. That's why two maps > are maintained: > > cpu_online_map - includes CPUs that are strictly online > cpu_active_map - includes above CPUs PLUS those that are in their > transition phase To reinforce what Vatsa is saying: it turns out that most of the kernel cares about cpu_online_map. Only arch-internals and RCU care about cpu_active_map. > In the current design, __cpu_die actually kills the CPU. So when > __cpu_die returns (successfully, that is) the target CPU should > no longer be running anything and not taking interrupts either. > At this point, it should probably be safe to physically > pull out that CPU. Well, you'd want to actually stop the CPU (it's currently spinning), and write the code to restart it, for example. Since we don't have hardware which does this, we haven't written the code. Hope that clarifies, Rusty. -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. |