Re: [patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-18 Thread Stephen Rothwell
On Thu, 15 Feb 2007 17:51:51 +0100 Ingo Molnar <[EMAIL PROTECTED]> wrote:
>
>
> this is the v2 release of the syslet subsystem. This is an interim
> release, not all known and pending items are fixed/changed yet - the
> tree is still work in progress:
>
>http://redhat.com/~mingo/syslet-patches/

So, has anyone thought about all those 32bit processes running on a 64bit
kernel and how we are going to cope with this interface?

--
Cheers,
Stephen Rothwell[EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/


pgp83MPipt0B6.pgp
Description: PGP signature


Re: [patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-18 Thread Stephen Rothwell
On Thu, 15 Feb 2007 17:51:51 +0100 Ingo Molnar [EMAIL PROTECTED] wrote:


 this is the v2 release of the syslet subsystem. This is an interim
 release, not all known and pending items are fixed/changed yet - the
 tree is still work in progress:

http://redhat.com/~mingo/syslet-patches/

So, has anyone thought about all those 32bit processes running on a 64bit
kernel and how we are going to cope with this interface?

--
Cheers,
Stephen Rothwell[EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/


pgp83MPipt0B6.pgp
Description: PGP signature


Re: [patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-15 Thread Linus Torvalds


On Thu, 15 Feb 2007, Ingo Molnar wrote:
> 
> this is the v2 release of the syslet subsystem. This is an interim 
> release, not all known and pending items are fixed/changed yet - the 
> tree is still work in progress:

I'm still not a huge fan of the user space interface, but at least the 
core code looks quite clean. No objections on that front.

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


[patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-15 Thread Ingo Molnar

this is the v2 release of the syslet subsystem. This is an interim 
release, not all known and pending items are fixed/changed yet - the 
tree is still work in progress:

   http://redhat.com/~mingo/syslet-patches/

The biggest conceptual change in v2 is the ability of cachemiss threads 
to be turned into user threads. This fixes signal handling, makes them 
ptrace-eable, etc. (I've updated the sample userspace code at the URL 
above to also do user-space cachemiss processing - just Ctrl-Z the 
async-test.c run to trigger it action.)

Things not yet done in v2 and planned for v3:

 - multiple completion rings support

 - share the 'spare thread' between multiple rings, to further reduce 
   startup costs.

 - remove mlock() reliance

Changes since v1:

 - FPU support fixed: detach FPU state from kernel thread state 
   (implemented by Arjan van de Ven)

 - remove superfluous CLONE_VM from create_async_thread()
   (noticed by Jens Axboe)

 - sys_umem_add() does not ignore -EFAULT of __put_user()
   (noticed by Andrew Morton)

 - use VERIFY_READ instead of VERIFY_WRITE in copy_uatom()
   (noticed by Andrew Morton)

 - move schedule() to tail of loop in cachemiss_loop()
   (noticed by Andrew Morton)

 - added move_user_context() arch op

 - added async_syscall() and recursion protection against re-entry of 
   sys_async_exec(), sys_fork()/sys_clone(), etc.

 - added sys_async_thread() call - a user-space thread can thus call 
   back into the syslet subsystem and continue cachemiss work.

 - further cleanups in the include files

 - race fixes to sys_async_wait()

 - optimized out the kmalloc()/kfree() of the async_head

 - async_thread structure not on the kernel stack anymore, to allow 
   async contexts to run user-space.

 - added support for head_stack and head_eip to enable the initial 
   thread/task to run a cachemiss user context too, if it gets turned 
   into a cachemiss thread.

As always, comments, suggestions, reports are welcome.

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


[patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-15 Thread Ingo Molnar

this is the v2 release of the syslet subsystem. This is an interim 
release, not all known and pending items are fixed/changed yet - the 
tree is still work in progress:

   http://redhat.com/~mingo/syslet-patches/

The biggest conceptual change in v2 is the ability of cachemiss threads 
to be turned into user threads. This fixes signal handling, makes them 
ptrace-eable, etc. (I've updated the sample userspace code at the URL 
above to also do user-space cachemiss processing - just Ctrl-Z the 
async-test.c run to trigger it action.)

Things not yet done in v2 and planned for v3:

 - multiple completion rings support

 - share the 'spare thread' between multiple rings, to further reduce 
   startup costs.

 - remove mlock() reliance

Changes since v1:

 - FPU support fixed: detach FPU state from kernel thread state 
   (implemented by Arjan van de Ven)

 - remove superfluous CLONE_VM from create_async_thread()
   (noticed by Jens Axboe)

 - sys_umem_add() does not ignore -EFAULT of __put_user()
   (noticed by Andrew Morton)

 - use VERIFY_READ instead of VERIFY_WRITE in copy_uatom()
   (noticed by Andrew Morton)

 - move schedule() to tail of loop in cachemiss_loop()
   (noticed by Andrew Morton)

 - added move_user_context() arch op

 - added async_syscall() and recursion protection against re-entry of 
   sys_async_exec(), sys_fork()/sys_clone(), etc.

 - added sys_async_thread() call - a user-space thread can thus call 
   back into the syslet subsystem and continue cachemiss work.

 - further cleanups in the include files

 - race fixes to sys_async_wait()

 - optimized out the kmalloc()/kfree() of the async_head

 - async_thread structure not on the kernel stack anymore, to allow 
   async contexts to run user-space.

 - added support for head_stack and head_eip to enable the initial 
   thread/task to run a cachemiss user context too, if it gets turned 
   into a cachemiss thread.

As always, comments, suggestions, reports are welcome.

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


Re: [patch 00/14] Syslets, generic asynchronous system call support, v2

2007-02-15 Thread Linus Torvalds


On Thu, 15 Feb 2007, Ingo Molnar wrote:
 
 this is the v2 release of the syslet subsystem. This is an interim 
 release, not all known and pending items are fixed/changed yet - the 
 tree is still work in progress:

I'm still not a huge fan of the user space interface, but at least the 
core code looks quite clean. No objections on that front.

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