Hello, On Fri, Jun 24, 2016 at 09:05:15AM +0200, Peter Zijlstra wrote: > > Given how rare that is > > Could you then not remove/rework these few cases for workqueue as well > and make that 'better' too?
Usage of draining is rare for workqueue but that still means several legitimate users. With draining there, it's logical to use it during shutdown. I don't think it makes sense to change it on workqueue side. > > and the extra > > complexity of identifying self-requeueing cases, let's forget about > > draining and on destruction clear the worker pointer to block further > > queueing and then flush whatever is in flight. > > You're talking about regular workqueues here? No, kthread worker. It's unlikely that kthread worker is gonna need chained draining especially given that most of its usages are gonna be conversions from raw kthread usages. We won't lose much if anything by just ignoring draining and making the code simpler. Thanks. -- tejun