lkml.org 
[lkml]   [2003]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.7 thoughts
On Fri, 10 Oct 2003, William Lee Irwin III wrote:

> 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.
>
> On Fri, Oct 10, 2003 at 11:03:20AM -0700, Tim Hockin wrote:
> > 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.
>
> I think there is some generalized cpu hotplug stuff that's gone in that
> direction already, though I don't know any details. The bits about non-
> cooperative offlining were very interesting to hear, though.

The task migration is one of the easier bits, there is a hive of other
problems which crop up in the various subsystems, the current patchset
does very well however, Tim perhaps you'd like to help out?

For interrupts we simple set interrupt affinity mask on the interrupt
controller whilst the processor is still online, quiesce,
local_irq_disable. The wait period is to make sure that interrupts which
are already queued get handled before we completely disable interrupt
processing, although it could do with some verification to make sure
there aren't any lingering vectors.
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.026 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site