Re: Work queue questions

Deepawali Verma
2012-09-24T20:52:17Z

Hi Tejun,

I do not have ordering as requirement. I can use system work queue as
well. what is max_active by default for system wq per cpu?

Regards,
Deepa

On Mon, Sep 24, 2012 at 9:08 PM, Tejun Heo <tj@kernel.org> wrote:
> Hello,
>
> On Mon, Sep 24, 2012 at 08:57:40PM +0100, Deepawali Verma wrote:
>> May be I misunderstood, I read in the documentation about max_active.
>> In this case, max_active is 1, but I created three workqueues, do you
>
> I see. Why are you doing that? Is there ordering requirement? Why
> not just use system_unbound_wq?
>
>> mean to say for this case, single thread can process three requests
>> queued up in the three different workqueues.
>
> In the following execution log you posted,
>
> 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
>
> The first two got executed on the same worker thread but the third one
> is on a different one. It really looks like you just don't have large
> enough work for scheduler to interleave them or migrate workers to
> different CPUs.
>
> Thanks.
>
> --
> tejun