User: Password:
Subscribe / Log in / New account

Re: Overview of concurrency managed workqueue

From:  Andrew Morton <>
To:  Tejun Heo <>
Subject:  Re: Overview of concurrency managed workqueue
Date:  Fri, 18 Jun 2010 10:02:28 -0700
Cc:  Andy Walls <>, Daniel Walker <>,,,,,,,,,,
Archive-link:  Article, Thread

On Fri, 18 Jun 2010 10:09:35 +0200 Tejun Heo <> wrote:

> Hello,
> On 06/18/2010 09:31 AM, Andrew Morton wrote:
> > On Fri, 18 Jun 2010 09:16:15 +0200 Tejun Heo <> wrote:
> > Nope.  Consider a simple byte-at-a-time rx handler.  The ISR grabs the
> > byte, stashes it away, bangs on the hardware a bit then signals
> > userspace to promptly start processing that byte.  Very simple,
> > legitimate and a valid thing to do.
> > 
> > Also the "interrupt" code might be running from a timer handler.  Or it
> > might just be in process context, buried in a forest of locks and wants
> > to punt further processing into a separate process.
> Sure, there'll be cases which would be better served that way but
> things which fit neither the traditional interrupt handler nor the
> threaded one are in very small minority.  I think having niche
> solutions for those niche problems would be far better than trying to
> engineer generic async mechanism to serve all of them.

um.  We've *already* engineered a mechanism which serves the
requirements which we've been discussing.  Then Tejun came along,
called it "niche" and busted it!

Oh well.  Kernel threads should not be running with RT policy anyway. 
RT is a userspace feature, and whenever a kernel thread uses RT it
degrades userspace RT qos.  But I expect that using RT in kernel
threads is sometimes the best tradeoff, so let's not pretend that we're
getting something for nothing here!

(Log in to post comments)

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