Re: Work queue questions

Deepawali Verma
2012-09-21T19:35:16Z

Hi Tajun,

These three tasks are writing the three chunks of data in parallel. I
am not getting improvement here otherwise what is difference between
writing these chunks one by one in single thread instead of trying to
write the data by scheduling the work on three different workqueues
means 3 worker threads?

Regards,
Deepa

On Fri, Sep 21, 2012 at 8:27 PM, Tejun Heo <tj@kernel.org> wrote:
> On Fri, Sep 21, 2012 at 08:26:01PM +0100, Deepawali Verma wrote:
>> kworker/u:1-21 [000] 110.964895: task_event: MYTASKJOB2381 XStarted
>> kworker/u:1-21 [000] 110.964909: task_event: MYTASKJOB2381 Xstopped
>> kworker/u:1-21 [000] 110.965137: task_event: MYTASKJOB2382 XStarted
>> kworker/u:1-21 [000] 110.965154: task_event: MYTASKJOB2382 Xstopped
>> kworker/u:5-3724 [000] 110.965311: task_event: MYTASKJOB2383 XStarted
>> kworker/u:5-3724 [000] 110.965325: task_event: MYTASKJOB2383 Xstopped
>>
>> I have this one big task to whom I divided into small sub tasks. These
>> are numbered 2381, 2382 and 2383, what was I expecting that task 2381,
>> 2382, 2383 run in parallel. I have put start and stop markers here so
>> that I can see how this concurrency managed work queue is distributing
>> the load.
>>
>> I found that task no 2381 is started first and exited before starting
>> task 2382 and so on. What I expected that it should start the three
>> sub tasks in parallel, not one by one.
>>
>> Where is concurrency here?
>
> If none of them blocks, there isn't much point in throwing more
> threads at them. What are those thread doing?
>
> Thanks.
>
> --
> tejun