Messages in this thread | | | Date | Mon, 24 Sep 2012 13:08:09 -0700 | From | Tejun Heo <> | Subject | Re: Work queue questions |
| |
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
| |