Re: [patch 04/13] syslets: core code

From: Ingo Molnar
Date: Sat Feb 24 2007 - 02:11:10 EST



* Davide Libenzi <davidel@xxxxxxxxxxxxxxx> wrote:

> > +asmlinkage long
> > +sys_threadlet_on(unsigned long restore_stack,
> > + unsigned long restore_eip,
> > + struct async_head_user __user *ahu)

> > +asmlinkage long sys_threadlet_off(void)

> If we have a new syscall that does the exec, we can save the two
> on/off calls.

the on/off calls are shaped in a way that makes them ultimately
vsyscall-able - the kernel only needs to know about the fact that we are
in a threadlet (so that the scheduler can do its special
push-head-to-another-context thing) - and this can be signalled via a
small user-space-side info structure as well, put into the TLS.

> [...] Also, the complete_thread() thingy can be done automatically
> from inside the kernel upon function return, by hence making the
> threadlet function look like a normal thread function:

yeah - and that's how it works in my current codebase already,
threadlet_off() takes a 'completion event' pointer as well, and the ahu.
I'll release v4 so that you can have a look.

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