LWN.net Logo

Re: [RFC PATCHSET] workqueue: implement concurrency managed workqueue

From:  David Howells <dhowells-AT-redhat.com>
To:  Tejun Heo <tj-AT-kernel.org>
Subject:  Re: [RFC PATCHSET] workqueue: implement concurrency managed workqueue
Date:  Thu, 01 Oct 2009 13:53:49 +0100
Cc:  jeff-AT-garzik.org, mingo-AT-elte.hu, linux-kernel-AT-vger.kernel.org, akpm-AT-linux-foundation.org, jens.axboe-AT-oracle.com, rusty-AT-rustcorp.com.au, cl-AT-linux-foundation.org, dhowells-AT-redhat.com, arjan-AT-linux.intel.com
Archive-link:  Article, Thread


Sounds interesting as a replacement for slow-work.  Some thoughts for you:

The most important features of slow-work are:

 (1) Work items are not re-entered whilst they are executing.

 (2) The slow-work facility keeps references on its work items by asking the
     client to get and put on the client's refcount.

 (3) The slow-work facility can create a lot more threads than the number of
     CPUs on a system, and the system doesn't grind to a halt if they're all
     taken up with long term I/O (performing several mkdirs for example).

I think you have (1) and (3) covered, but I'm unsure about (2).

Also, does it actually make sense to bind threads that are performing
long-term I/O to particular CPUs?  Threads that are going to spend a lot more
time sleeping on disk I/O than actually running on a CPU?

David


(Log in to post comments)

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds