Re: [PATCH] connector: create connector workqueue only while needed once

From: Evgeniy Polyakov
Date: Mon Feb 02 2009 - 06:06:39 EST


Hi.

On Sun, Feb 01, 2009 at 04:05:01PM -0800, Frederic Weisbecker (fweisbec@xxxxxxxxx) 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@xxxxxxxxx>

Looks very good, thanks a lot Frederic.
Ack.

--
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/