lkml.org 
[lkml]   [2009]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] connector: create connector workqueue only while needed once
Hi.

On Sun, Feb 01, 2009 at 04:05:01PM -0800, Frederic Weisbecker (fweisbec@gmail.com) wrote:
> The netlink connector uses its own workqueue to relay the datas sent from
> userspace to the appropriate callback.
> If you launch the test from Documentation/connector and change it a bit to send
> a high flow of data, you will see thousands of events coming to the "cqueue" workqueue
> by looking at the workqueue tracer.
>
> This flow of events can be sent very quickly. So, to not encumber the kevent workqueue and
> delay other jobs, the "cqueue" workqueue should remain.
>
> But this workqueue is pointless most of the time, it will always be created (assuming you have
> built it of course) although only developpers with specific needs will use it.
>
> So avoid this "most of the time useless task", this patch proposes to create this workqueue only when needed
> once.
> The first jobs to be sent to connector callbacks will be sent to kevent while the "cqueue" thread creation
> will be scheduled to kevent too.
>
> The following jobs will continue to be scheduled to keventd until the cqueue workqueue is created, and then
> the rest of the jobs will continue to perform as usual, through this dedicated workqueue.
>
> Each time I tested this patch, only the first event was sent to keventd, the rest has been sent to cqueue which
> have been created quickly.
>
> Also, this patch fixes some trailing whitespaces on the connector files.
>
> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>

Looks very good, thanks a lot Frederic.
Ack.

--
Evgeniy Polyakov


\
 
 \ /
  Last update: 2009-02-02 12:09    [W:0.041 / U:1.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site