Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753100AbbBXWQ0 (ORCPT ); Tue, 24 Feb 2015 17:16:26 -0500 Received: from mail-ie0-f182.google.com ([209.85.223.182]:45883 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751908AbbBXWQZ (ORCPT ); Tue, 24 Feb 2015 17:16:25 -0500 Date: Tue, 24 Feb 2015 14:16:21 -0800 (PST) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Heinrich Schuchardt cc: Andrew Morton , Aaron Tomlin , Andy Lutomirski , Davidlohr Bueso , "David S. Miller" , Fabian Frederick , Guenter Roeck , "H. Peter Anvin" , Ingo Molnar , Jens Axboe , Joe Perches , Johannes Weiner , Kees Cook , Michael Marineau , Oleg Nesterov , "Paul E. McKenney" , Peter Zijlstra , Prarit Bhargava , Rik van Riel , Rusty Russell , Steven Rostedt , Thomas Gleixner , Vladimir Davydov , linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3 v5] kernel/fork.c: new function for max_threads In-Reply-To: <54ECEBD0.9060800@gmx.de> Message-ID: References: <1424722477-23758-1-git-send-email-xypron.glpk@gmx.de> <1424806701-30099-1-git-send-email-xypron.glpk@gmx.de> <1424806701-30099-2-git-send-email-xypron.glpk@gmx.de> <54ECEBD0.9060800@gmx.de> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1806 Lines: 38 On Tue, 24 Feb 2015, Heinrich Schuchardt wrote: > > I'm afraid I don't understand this. The intent of the patch is to > > separate the max_threads logic into a new function, correct? If that's > > true, then I don't understand why UINT_MAX is being introduced into this > > path and passed to the new function when it is ignored. > > > > I think it would be better to simply keep passing mempages to fork_init() > > and then pass it to set_max_threads() where max_threads actually gets set > > using the argument passed. At least, the code would then match the intent > > of the patch. > > > Please, read patch 2/3 which provides support for the argument, > and patch 3/3 that finally needs it. > The problem is with the structure of your patchset. You want three patches. There's one bugfix patch, a preparation patch, and a feature patch. The bugfix patch should come first so that it can be applied, possibly, to stable kernels and doesn't depend on unnecessary preparation patches for features. 1/3: change the implementation of fork_init(), with commentary, to avoid the divide by zero on certain arches, enforce the limits, and deal with variable types to prevent overflow. This is the most urgent patch and fixes a bug. 2/3: simply extract the fixed fork_init() implementation into a new set_max_threads() in preparation to use it for threads-max, (hint: UINT_MAX and ignored arguments should not appear in this patch), 3/3: use the new set_max_threads() implementation for threads-max with an update to the documentation. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/