Re: [patch 00/11] ANNOUNCE: "Syslets", generic asynchronous system call support

From: Dmitry Torokhov
Date: Tue Feb 13 2007 - 10:46:25 EST


On 2/13/07, Alan <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> A syslet is executed opportunistically: i.e. the syslet subsystem
> assumes that the syslet will not block, and it will switch to a
> cachemiss kernel thread from the scheduler. This means that even a

How is scheduler fairness maintained ? and what is done for resource
accounting here ?

> that the kernel fills and user-space clears. Waiting is done via the
> sys_async_wait() system call. Completion can be supressed on a per-atom

They should be selectable as well iff possible.

> Open issues:

Let me add some more

sys_setuid/gid/etc need to be synchronous only and not occur
while other async syscalls are running in parallel to meet current kernel
assumptions.

sys_exec and other security boundaries must be synchronous only
and not allow async "spill over" (consider setuid async binary patching)

> - sys_fork() and sys_async_exec() should be filtered out from the
> syscalls that are allowed - first one only makes sense with ptregs,

clone and vfork. async_vfork is a real mindbender actually.

> second one is a nice kernel recursion thing :) I didnt want to
> duplicate the sys_call_table though - maybe others have a better
> idea.

What are the semantics of async sys_async_wait and async sys_async ?


Ooooohh. OpenVMS lives forever ;) Me likeee ;)

--
Dmitry
-
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/