All right. Seems that there were two bugs with similar symptoms. The one from comment #3 is already fixed, but a new bisect revealed the following root cause for the current regression:
dcd989cb73ab0f7b722d64ab6516f101d9f43f88 is the first bad commit
commit dcd989cb73ab0f7b722d64ab6516f101d9f43f88
Author: Tejun Heo <email address hidden>
Date: Tue Jun 29 10:07:14 2010 +0200
workqueue: implement several utility APIs
Implement the following utility APIs.
workqueue_set_max_active() : adjust max_active of a wq
workqueue_congested() : test whether a wq is contested
work_cpu() : determine the last / current cpu of a work
work_busy() : query whether a work is busy
* Anton Blanchard fixed missing ret initialization in work_busy().
:040000 040000 8b7443c650f0af36f1deba560586a91f6a88abcc
065589a95857a2fb73b94dc242c50ba558179a2a M include
:040000 040000 84ca2de78af16483fa60a423f4f2d6eee0279eed
27487850f11a1e7ee9e4eaac54fd88f16d420d47 M kernel
All right. Seems that there were two bugs with similar symptoms. The one from comment #3 is already fixed, but a new bisect revealed the following root cause for the current regression:
dcd989cb73ab0f7 b722d64ab6516f1 01d9f43f88 is the first bad commit b722d64ab6516f1 01d9f43f88
commit dcd989cb73ab0f7
Author: Tejun Heo <email address hidden>
Date: Tue Jun 29 10:07:14 2010 +0200
workqueue: implement several utility APIs
Implement the following utility APIs.
workqueue_ set_max_ active( ) : adjust max_active of a wq congested( ) : test whether a wq is contested
workqueue_
work_cpu() : determine the last / current cpu of a work
work_busy() : query whether a work is busy
* Anton Blanchard fixed missing ret initialization in work_busy().
Signed-off-by: Tejun Heo <email address hidden>
Cc: Anton Blanchard <email address hidden>
:040000 040000 8b7443c650f0af3 6f1deba560586a9 1f6a88abcc b73b94dc242c50b a558179a2a M include 3fa60a423f4f2d6 eee0279eed ee9e4eaac54fd88 f16d420d47 M kernel
065589a95857a2f
:040000 040000 84ca2de78af1648
27487850f11a1e7