Re: Scheduler activations (IIRC) question

From: Mike Galbraith
Date: Sun Aug 17 2003 - 00:51:21 EST


At 03:18 PM 8/16/2003 +0100, Jamie Lokier wrote:
Mike Galbraith wrote:
> At 01:54 AM 8/16/2003 +0100, Jamie Lokier wrote:
> [...]
>
> >None of these will work well if "wakee" tasks are able to run
> >immediately after being woken, before "waker" tasks get a chance to
> >either block or put the wakees back to sleep.
>
> Sounds like another scheduler class (SCHED_NOPREEMPT) would be required.

If something special were to be added, it should be a way for a task
to say "If I call schedule() and block, don't do a schedule, just
continue my timeslice in task X".

The point of the mechanism is to submit system calls in an
asynchronous fashion, after all. A proper task scheduling is
inappropriate when all we'd like to do is initiate the syscall and
continue processing, just as if it were an async I/O request.

Ok, so you'd want a class where you could register an "exception handler" prior to submitting a system call, and any subsequent schedule would be treated as an exception? (they'd have to be nestable exceptions too right?... <imagines stack explosions> egad:)

The interesting part is what to do when the original task (the one
that went to sleep) wakes up.

Yeah.

-Mike

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/