Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756205AbYHKSkR (ORCPT ); Mon, 11 Aug 2008 14:40:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753278AbYHKSkE (ORCPT ); Mon, 11 Aug 2008 14:40:04 -0400 Received: from wolverine02.qualcomm.com ([199.106.114.251]:64100 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752783AbYHKSkD (ORCPT ); Mon, 11 Aug 2008 14:40:03 -0400 X-IronPort-AV: E=McAfee;i="5200,2160,5357"; a="5316894" Message-ID: <48A08780.1060308@qualcomm.com> Date: Mon, 11 Aug 2008 11:40:00 -0700 From: Max Krasnyansky User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: Ingo Molnar CC: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, lizf@cn.fujitsu.com, jeff.chua.linux@gmail.com, Glauber Costa Subject: Re: [PATCH] Resurect proper handling of maxcpus= kernel option References: <1218052854-5020-1-git-send-email-Krasnyansky@qualcomm.com> <20080811181642.GS4524@elte.hu> In-Reply-To: <20080811181642.GS4524@elte.hu> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1799 Lines: 45 Ingo Molnar wrote: > * Max.Krasnyansky@qualcomm.com wrote: > >> From: Max Krasnyansky >> >> For some reason we had redundant parsers registered for maxcpus=. One >> in init/main.c and another in arch/x86/smpboot.c So I nuked the one in >> arch/x86. >> >> Also 64-bit kernels used to handle maxcpus= as documented in >> Documentation/cpu-hotplug.txt. CPUs with 'id > maxcpus' are >> initialized but not booted. 32-bit version for some reason ignored >> them even though all the infrastructure for booting them later is >> there. >> >> In the current mainline both 64 and 32 bit versions are broken. I'm >> too lazy to look through git history but I'm guessing it happened as >> part of the i386 and x86_64 unification. > > yes in essence. 32-bit always had maxcpus as a hard restriction in the > number of CPUs. This got extended to 64-bit as well, via commit > 89b08200ad: > > x86: make x86_64 accept the max_cpus parameter > > in v2.6.25. Two major kernel releases and nobody noticed - it's a rarely > used option. btw I think it's rarely used because many people do not realize it's there. There are at least a couple of use cases that came up recently. - Busted cpu. You can boot the machine with maxcpus=1 and then bring up cpus one by one to see which one is busted. - Recently reported regression that 16cpu box booted fine with NRCPUS=8 but failed with NRCPUS=16. Again we can boot with maxcpus=8 and bring other cpus later to see when/where we fail. Things like that. Max -- 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/