On Tue 2016-06-28 13:04:47, Tejun Heo wrote: > Hello, > > On Mon, Jun 27, 2016 at 04:33:50PM +0200, Petr Mladek wrote: > > OK, so you suggest to do the following: > > > > 1. Add a flag into struct kthread_worker that will prevent > > from further queuing. > > This doesn't add any protection, right? It's getting freed anyway. > > > 2. kthread_create_worker()/kthread_destroy_worker() will > > not longer dynamically allocate struct kthread_worker. > > They will just start/stop the kthread. > > Ah, okay, I don't think we need to change this. I was suggesting to > simplify it by dropping the draining and just do flush from destroy.
I see. But then it does not address the original concern from Peter Zijlstra. He did not like that the caller was responsible for blocking further queueing. It still will be needed. Or did I miss something, please? Best Regards, Petr