From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751669AbcF2ISM (ORCPT ); Wed, 29 Jun 2016 04:18:12 -0400 Received: from mx2.suse.de ([195.135.220.15]:60653 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751426AbcF2ISA (ORCPT ); Wed, 29 Jun 2016 04:18:00 -0400 Date: Wed, 29 Jun 2016 10:17:48 +0200 From: Petr Mladek To: Tejun Heo Cc: Peter Zijlstra , Andrew Morton , Oleg Nesterov , Ingo Molnar , Steven Rostedt , "Paul E. McKenney" , Josh Triplett , Thomas Gleixner , Linus Torvalds , Jiri Kosina , Borislav Petkov , Michal Hocko , linux-mm@kvack.org, Vlastimil Babka , linux-api@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v9 06/12] kthread: Add kthread_drain_worker() Message-ID: <20160629081748.GA3238@pathway.suse.cz> References: <1466075851-24013-1-git-send-email-pmladek@suse.com> <1466075851-24013-7-git-send-email-pmladek@suse.com> <20160622205445.GV30909@twins.programming.kicks-ass.net> <20160623213258.GO3262@mtj.duckdns.org> <20160624070515.GU30154@twins.programming.kicks-ass.net> <20160624155447.GY3262@mtj.duckdns.org> <20160627143350.GA3313@pathway.suse.cz> <20160628170447.GE5185@htj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160628170447.GE5185@htj.duckdns.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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