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

From: Davide Libenzi
Date: Sat Feb 24 2007 - 16:10:58 EST


On Sat, 24 Feb 2007, Ingo Molnar wrote:

> * 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.

IMO it's not a matter of speed. We'll have those two new syscalls, that I
don't see other practical use for. IMO the best thing would be to hide all
inside the sys_threadlet_exec (or whatever name).




> > [...] 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.

Ok. Will look into it...



- Davide


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