LWN.net Logo

Re: workqueue thing

From:  Ingo Molnar <mingo-AT-elte.hu>
To:  Tejun Heo <tj-AT-kernel.org>
Subject:  Re: workqueue thing
Date:  Wed, 23 Dec 2009 09:12:38 +0100
Cc:  Linus Torvalds <torvalds-AT-linux-foundation.org>, Peter Zijlstra <peterz-AT-infradead.org>, awalls-AT-radix.net, linux-kernel-AT-vger.kernel.org, jeff-AT-garzik.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, avi-AT-redhat.com, johannes-AT-sipsolutions.net, andi-AT-firstfloor.org
Archive-link:  Article, Thread


* Ingo Molnar <mingo@elte.hu> wrote:

> At least as far as i'm concerned, i'd like to see actual uses. It's a big 
> linecount increase all things considered:
> 
>    20 files changed, 2783 insertions(+), 660 deletions(-)
> 
> and you say it _wont_ help performance/scalability (this aspect wasnt clear 
> to me from previous discussions), so the (yet to be seen) complexity 
> reduction in other code ought to be worth it.

To further stress this point, i'd like to point to the very first commit that 
introduced kernel/workqueue.c into Linux 7 years ago:

 | From 6ed12ff83c765aeda7d38d3bf9df7d46d24bfb11 Mon Sep 17 00:00:00 2001
 | From: Ingo Molnar <mingo@elte.hu>
 | Date: Mon, 30 Sep 2002 22:17:42 -0700
 | Subject: [PATCH] [PATCH] Workqueue Abstraction

look at the diffstat of that commit:

   201 files changed, 1102 insertions(+), 1194 deletions(-)

despite adding a new abstraction and kernel subsystem (workqueues), that 
commit modified more than a hundred drivers to make use of it, and managed to 
achieve a net linecount decrease of 92 lines - despite adding hundreds of 
lines of a new core facility.

Likewise, for this particular patchset it should be possible to identify 
existing patterns of code in the existing code base of 6+ millions lines of 
Linux driver code that would make the advantages of this +2000 lines of core 
kernel code plain obvious. There were multipe claims of problems with the 
current abstractions - so there sure must be a way to show off the new code in 
a few places.

	Ingo


(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