All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Arjan van de Ven <arjan@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	Andrew Morton <akpm@zip.com.au>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Ulrich Drepper <drepper@redhat.com>,
	Zach Brown <zach.brown@oracle.com>,
	Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
	"David S. Miller" <davem@davemloft.net>,
	Suparna Bhattacharya <suparna@in.ibm.com>,
	Davide Libenzi <davidel@xmailserver.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [patch 00/14] Syslets, generic asynchronous system call support, v2
Date: Thu, 15 Feb 2007 17:51:51 +0100	[thread overview]
Message-ID: <20070215165151.GA4285@elte.hu> (raw)


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

             reply	other threads:[~2007-02-15 16:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-15 16:51 Ingo Molnar [this message]
2007-02-15 17:59 ` [patch 00/14] Syslets, generic asynchronous system call support, v2 Linus Torvalds
2007-02-18 10:31 ` Stephen Rothwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070215165151.GA4285@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@zip.com.au \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=davidel@xmailserver.org \
    --cc=drepper@redhat.com \
    --cc=hch@infradead.org \
    --cc=johnpol@2ka.mipt.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=suparna@in.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=zach.brown@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.