Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp7045822rwl; Mon, 9 Jan 2023 17:10:42 -0800 (PST) X-Google-Smtp-Source: AMrXdXu2w5wa9XX6JA8SuRC3qmLYwfZazBL9Y6ritA7gESrIPmg26AGlSdCPbTQdsniH73HSCe9Q X-Received: by 2002:a05:6a20:a59b:b0:b5:ac48:f880 with SMTP id bc27-20020a056a20a59b00b000b5ac48f880mr9980117pzb.16.1673313042491; Mon, 09 Jan 2023 17:10:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673313042; cv=none; d=google.com; s=arc-20160816; b=dyOE2JEtJzWyAXRoSLT8ChdyeCXtJ6rYvfQEZOQp5S60LeQqer0CW55g34JYzD8Jjf 0eO245PAAPERTQY2jzaL3hq+VYbCDxhjjr9AwyWZcqUxCzFaGQQaH28OCfCX1j3wTXtZ WcbzJWTfc1S9WNX25jB7PxyL2c9UjwlKg+fx/cfy4Li2T56tvabyqPtY1KTdUQG4s7hw SCRnLNzDbJrhZSlT8eWGTEDPvj6pPce5aUrmbSKUT3UNVOQjbSDkk3Bt+cU5t39+6YM6 pjtFvB+hiecaxyyF/9vR3RhE18+Mf4wZLjyHxPaDLmbVF6pbk7WZqbZryuM33p5M1wBE YnGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=Dv1WZNj8tFpxdnvPYdgmh7UF6XMBf/A5cjEpTKn/ndI=; b=CuJg8VKIy0wSL1qrcwole6aTDlgMsCia2dN2VRPiV4dV9rLT9kbmm90Z2l00jQ24IG 3Ql058RZf+FPLLvf27bpXJ+qZiQwYqQxpx/clQNEzqa5b1I7fVfsVt4ZLMbLqFr33Et5 Rv5RdTRxAyxcWNFjZsj4eBs2FTn6XLQnb63ax49u4JkxpJ4R1KTesUqRBsHvQDcbKjfm PZyHltOq+GpIVvNnWVuW7f2o4YrcGQSta0L3V2pWcYXrv08EEMDFjLqvokr30apBipD4 kkUBV33uFxu+cmiD0OlCyASt02cSU7Q+ypuy5KRF8II04TvMHXLIfho+rpSTo/nGAu8e oIBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tXlKz/pY"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 140-20020a630092000000b004ad157c46bbsi9549356pga.649.2023.01.09.17.10.36; Mon, 09 Jan 2023 17:10:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="tXlKz/pY"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237234AbjAJAHy (ORCPT + 53 others); Mon, 9 Jan 2023 19:07:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237809AbjAJAHf (ORCPT ); Mon, 9 Jan 2023 19:07:35 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57D6C14022; Mon, 9 Jan 2023 16:07:34 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CFA64614A4; Tue, 10 Jan 2023 00:07:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07EBFC433EF; Tue, 10 Jan 2023 00:07:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673309253; bh=b7z/GEoaSAs07gYIgpLH0FOBcGLslOf21DIds1Km9ko=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=tXlKz/pYW/wubdNWsuOj25dpyV8uFONvrVGyTLE7E7buTyxpvSI2dR/AFfnGyQPS2 19gvxprXaa+p9YqNGzLJKhxyiL0lDco+KAGzHRgYkHseukV41arEcLxGH0enUmPG8T tDen0udRRyEZLJG4R1NTx4qgDW5LMMZ9oGRq8szR6m+awkmOpg7waRjgGUrM7kaIpT 4pAR4ExzYkbrmfhCtJCWX933sN1oygPgWs9dziHZ0kSW7GgXIL8qiVl5gG5DYMvkjC Z/8L6eP2lUaBrdMcMFkSU1ZPgj1HeBmRf1ATBwLegviu3k1VtCKms9XKWMA/LznqSf f200zt9LpkxgA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id A60E95C0623; Mon, 9 Jan 2023 16:07:32 -0800 (PST) Date: Mon, 9 Jan 2023 16:07:32 -0800 From: "Paul E. McKenney" To: Masami Hiramatsu Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, akpm@linux-foundation.org, ndesaulniers@google.com, vbabka@suse.cz, hannes@cmpxchg.org, joel@joelfernandes.org, quic_neeraju@quicinc.com, urezki@gmail.com Subject: Re: [PATCH RFC bootconfig] Allow forcing unconditional bootconfig processing Message-ID: <20230110000732.GD4028633@paulmck-ThinkPad-P17-Gen-1> Reply-To: paulmck@kernel.org References: <20230105005838.GA1772817@paulmck-ThinkPad-P17-Gen-1> <20230108002215.c18df95b19acdd3207b379fa@kernel.org> <20230107162202.GA4028633@paulmck-ThinkPad-P17-Gen-1> <20230108150425.426f2861e9db1152fa84508f@kernel.org> <20230109042501.GF4028633@paulmck-ThinkPad-P17-Gen-1> <20230110085636.5d679f98c5b6914ecf19e724@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230110085636.5d679f98c5b6914ecf19e724@kernel.org> X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 10, 2023 at 08:56:36AM +0900, Masami Hiramatsu wrote: > On Sun, 8 Jan 2023 20:25:01 -0800 > "Paul E. McKenney" wrote: > > > On Sun, Jan 08, 2023 at 03:04:25PM +0900, Masami Hiramatsu wrote: > > > On Sat, 7 Jan 2023 08:22:02 -0800 > > > "Paul E. McKenney" wrote: > > > > > > > On Sun, Jan 08, 2023 at 12:22:15AM +0900, Masami Hiramatsu wrote: > > > > > On Wed, 4 Jan 2023 16:58:38 -0800 > > > > > "Paul E. McKenney" wrote: > > > > > > > > > > > The BOOT_CONFIG family of Kconfig options allows a bootconfig file > > > > > > containing kernel boot parameters to be embedded into an initrd or into > > > > > > the kernel itself. This can be extremely useful when deploying kernels > > > > > > in cases where some of the boot parameters depend on the kernel version > > > > > > rather than on the server hardware, firmware, or workload. > > > > > > > > > > > > Unfortunately, the "bootconfig" kernel parameter must be specified in > > > > > > order to cause the kernel to look for the embedded bootconfig file, > > > > > > and it clearly does not help to embed this "bootconfig" kernel parameter > > > > > > into that file. > > > > > > > > > > > > Therefore, provide a new BOOT_CONFIG_FORCE Kconfig option that causes the > > > > > > kernel to act as if the "bootconfig" kernel parameter had been specified. > > > > > > In other words, kernels built with CONFIG_BOOT_CONFIG_FORCE=y will look > > > > > > for the embedded bootconfig file even when the "bootconfig" kernel > > > > > > parameter is omitted. This permits kernel-version-dependent kernel > > > > > > boot parameters to be embedded into the kernel image without the need to > > > > > > (for example) update large numbers of boot loaders. > > > > > > > > > > I like this because this is a simple solution. We have another option > > > > > to specify "bootconfig" in CONFIG_CMDLINE, but it can be overwritten by > > > > > bootloader. Thus, it is better to have this option so that user can > > > > > always enable bootconfig. > > > > > > > > Glad you like it! > > > > > > > > In addition, if the help text is accurate, another shortcoming of > > > > CONFIG_CMDLINE is that its semantics vary from one architecture to > > > > another. Some have CONFIG_CMDLINE override the boot-loader supplied > > > > parameters, and others differ in the order in which the parameters > > > > are processed. > > > > > > Yes, that differences confuse us... > > > > I am glad that it is not just me. ;-) > > > > I will add words to that effect to the commit log. > > > > > > > Acked-by: Masami Hiramatsu (Google) > > > > > > > > Thank you! > > > > > > > > > BTW, maybe CONFIG_BOOT_CONFIG_EMBED is better to select this. > > > > > (or at least recommend to enable this) > > > > > > > > Like this? > > > > > > Yes! Thanks. > > > > > > > > > > > Thanx, Paul > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > commit d09a1505c51a70da38b34ac38062977299aef742 > > > > Author: Paul E. McKenney > > > > Date: Sat Jan 7 08:09:22 2023 -0800 > > > > > > > > bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED > > > > > > > > When a kernel is built with CONFIG_BOOT_CONFIG_EMBED=y, the intention > > > > will normally be to unconditionally provide the specified kernel-boot > > > > arguments to the kernel, as opposed to requiring a separately provided > > > > bootconfig parameter. Therefore, make the BOOT_CONFIG_FORCE Kconfig > > > > option default to y in kernels built with CONFIG_BOOT_CONFIG_EMBED=y. > > > > > > > > The old semantics may be obtained by manually overriding this default. > > > > > > > > Suggested-by: Masami Hiramatsu > > > > Signed-off-by: Paul E. McKenney > > > > > > Acked-by: Masami Hiramatsu (Google) > > > > Applied, thank you! > > Paul, just for confirmation, have you picked these patches on your tree? I have, but if you would prefer to take them, just let me know when you have pulled them in. It is easy for me to drop them. Here they are in the -rcu tree: 3d9ccc4a8b56e bootconfig: Allow forcing unconditional bootconfig processing 68b920592ff67 bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git Thanx, Paul > Thank you, > > > > > > Thank you! > > > > > > > > > > > diff --git a/init/Kconfig b/init/Kconfig > > > > index 0fb19fa0edba9..97a0f14d9020d 100644 > > > > --- a/init/Kconfig > > > > +++ b/init/Kconfig > > > > @@ -1379,6 +1379,7 @@ config BOOT_CONFIG > > > > config BOOT_CONFIG_FORCE > > > > bool "Force unconditional bootconfig processing" > > > > depends on BOOT_CONFIG > > > > + default y if BOOT_CONFIG_EMBED > > > > help > > > > With this Kconfig option set, BOOT_CONFIG processing is carried > > > > out even when the "bootconfig" kernel-boot parameter is omitted. > > > > > > > > > -- > > > Masami Hiramatsu (Google) > > > -- > Masami Hiramatsu (Google)