From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933089AbcBPQKN (ORCPT ); Tue, 16 Feb 2016 11:10:13 -0500 Received: from mx2.suse.de ([195.135.220.15]:49034 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932897AbcBPQKL (ORCPT ); Tue, 16 Feb 2016 11:10:11 -0500 Date: Tue, 16 Feb 2016 17:10:09 +0100 From: Petr Mladek To: Tejun Heo Cc: Andrew Morton , Oleg Nesterov , Ingo Molnar , Peter Zijlstra , 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 v4 04/22] kthread: Add create_kthread_worker*() Message-ID: <20160216161009.GO3305@pathway.suse.cz> References: <1453736711-6703-1-git-send-email-pmladek@suse.com> <1453736711-6703-5-git-send-email-pmladek@suse.com> <20160125185339.GB3628@mtj.duckdns.org> <20160216154443.GW12548@pathway.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160216154443.GW12548@pathway.suse.cz> 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-02-16 16:44:43, Petr Mladek wrote: > On Mon 2016-01-25 13:53:39, Tejun Heo wrote: > > On Mon, Jan 25, 2016 at 04:44:53PM +0100, Petr Mladek wrote: > > > +struct kthread_worker * > > > +create_kthread_worker_on_cpu(int cpu, const char namefmt[]) > > > +{ > > > + if (cpu < 0 || cpu > num_possible_cpus()) > > > + return ERR_PTR(-EINVAL); > > > > Comparing cpu ID to num_possible_cpus() doesn't make any sense. It > > should either be testing against cpu_possible_mask or testing against > > nr_cpu_ids. Does this test need to be in this function at all? > > I wanted to be sure. The cpu number is later passed to > cpu_to_node(cpu) in kthread_create_on_cpu(). > > I am going to replace this with a check against nr_cpu_ids in > kthread_create_on_cpu() which makes more sense. > > I might be too paranoid. But this is slow path. People > do mistakes... I take it back. I will remove the check at all. Michal Hocko persuaded me offline that it does not make much sense. This function is used from kernel code. I need to believe that the usage is sane at this level. Also too many checks makes the code harder to read. Thanks, Petr