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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/