OK, it's great that you're working to improve the workqueue code. Butdoes this justify permanently adding debug code to the core workqueuecode? In fact, because you've discovered these problem, the reasonsfor adding the debug code have lessened!

What we need are curious developers looking into how well subsystemsare performing and how well callers are using them. Adding fairlylarge amounts of permanent debug code into the core subsystems is apeculiar way of encouraging such activity.

If a developer is motivated to improve (say) workqueues then they willwrite a bit of ad-hoc code, or poke at it with systemtap or willmaintain a private ftrace patch - that's all pretty simple stuff forsuch people.

So what is the remaining case for adding these patches? What I see is

a) that their presence will entice people to run them and maybe find some problems and

b) the workqueue-maintainer's task is lessened a bit by not having to forward-port his debugging patch.

I dunno, it all seems a bit thin to me. Especially when you multiplyit all by nr_core_subsystems?