Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1315409yba; Thu, 18 Apr 2019 20:06:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqwlvEjUh5JBMc7emvfwXpKEQwJRgDAsy86lrAYTKy1C7QNznNDpGPR5ZxvCtIQ3qgNC45NG X-Received: by 2002:a62:e418:: with SMTP id r24mr1388638pfh.52.1555643199903; Thu, 18 Apr 2019 20:06:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555643199; cv=none; d=google.com; s=arc-20160816; b=DZ7P0En649Gzt9dwQ3zcmsgvgYryItfWFj2gKC3igYCz+w2KOS0q0STIqeTnuyQq8W M+vuV+YoBlgm8trz4B1VBADl/WZOMdKE7ePSxYEeZnR2skYN/fK4tis8Eqi1qm/6KG13 Ilin82lDyEdLFmLK96HfKKDkXj9jsUlWfkguJMTTbJfZsOwzhF/JQuAC6ntHwbpwQ9hp w7wOMImvcJsPTKwbS/gRYqlafsmHZ9LMrkS4LGvb6HBj0fIEnG3XqSRQ5axiIE24/8ca 6Pz2oYU+5rZY22Nw9viYq8kI7VzZlN6bMF0pQXj357gFpyLZfkhhH4Co9SSh2PmDowXk 1muw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature:dkim-filter; bh=XQAYlIAqkhLl0VsEVckUZWoESxFs35hDTQ702aUQ7Cw=; b=AIkBLQuZn8u2o/wIA9HfMSMqrftZ1eg2kcOJBP3EKwpJAyHSslcSZC2X/cEn9zcuZ2 6t1aT8GhXKHvwIvZuNbiOEg2hjnAlWwHrR7uXDMlvPLMWYj5STUDCnd5vFof3sAzBtKw o/Jc5fug61oToIBJcXVvCDBJDwgwcEbbD4Rd6YaMBOSVo3IxFPVqWBk/1uub0f0ijtsn kTuvCfLR/yy3JoQM1EW7/UEscamEvmjfyhvkyj8s9hkJROqnr7GhuXof4TonyI7VmK1d hIeFfQS9GY5cax98hfaE5pEw4ZEaxh6eUYyBKK2MOk7eMjF6kd3PMLsZ1pDXKnX/CMNc HaPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=o0BhDuZf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 31si4102171plk.42.2019.04.18.20.06.11; Thu, 18 Apr 2019 20:06:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=o0BhDuZf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727231AbfDSDEi (ORCPT + 99 others); Thu, 18 Apr 2019 23:04:38 -0400 Received: from conssluserg-06.nifty.com ([210.131.2.91]:45164 "EHLO conssluserg-06.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726822AbfDSDEi (ORCPT ); Thu, 18 Apr 2019 23:04:38 -0400 Received: from mail-vs1-f50.google.com (mail-vs1-f50.google.com [209.85.217.50]) (authenticated) by conssluserg-06.nifty.com with ESMTP id x3J34QCU012871; Fri, 19 Apr 2019 12:04:27 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-06.nifty.com x3J34QCU012871 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1555643068; bh=XQAYlIAqkhLl0VsEVckUZWoESxFs35hDTQ702aUQ7Cw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=o0BhDuZfGd0j2pQ9EZksAOsSLWjhTEXubefutr6qDADinP3rKyrIwPgKb2zBKr/qp ACVfOZrSYfuVGKGmvCcov5ddU9CaPiZ2lyjdJ69KoJC0evsRZX3PBAKNUFlnbgB1gB wgZ30+iMzzM3mfKAZIDra40CZ06NgRuvOC+qY6uYQN/G7ZtiU+ds+2/ld5ywU85dqk cvmyEOS7IVI4dzFEx7L0hXqi3ZQ7v/usi60ix4hH3DS7taDHtPkTuflgvB/Bjk5i4Z zoAsCYGaQFDkOKMP2wTylJvYjfoNwfVYKKKXmvVUQa/BsIRwwAVBeGMFkWJyD02iy1 wZc6drX8K4OaA== X-Nifty-SrcIP: [209.85.217.50] Received: by mail-vs1-f50.google.com with SMTP id t23so2240907vso.10; Thu, 18 Apr 2019 20:04:27 -0700 (PDT) X-Gm-Message-State: APjAAAX3C3McO0o+T9aAyRlU3VmunN/wBhLjQMvztF7peYGKdW0xiSQa WUF+kwGegA7sQZj66svpp7gJAQ7S1iosQOu2sl8= X-Received: by 2002:a67:f948:: with SMTP id u8mr799040vsq.179.1555643066221; Thu, 18 Apr 2019 20:04:26 -0700 (PDT) MIME-Version: 1.0 References: <20190406121447.GB4047@localhost.localdomain> <20190418135238.GA5626@linux-8ccs> <20190418153611.GB5626@linux-8ccs> In-Reply-To: <20190418153611.GB5626@linux-8ccs> From: Masahiro Yamada Date: Fri, 19 Apr 2019 12:03:50 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] moduleparam: Save information about built-in modules in separate file To: Jessica Yu Cc: Alexey Gladkov , Linux Kernel Mailing List , Linux Kbuild mailing list , linux-api@vger.kernel.org, linux-modules@vger.kernel.org, "Kirill A . Shutemov" , Gleb Fotengauer-Malinovskiy , "Dmitry V. Levin" , Michal Marek , Dmitry Torokhov , Rusty Russell , Lucas De Marchi Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 19, 2019 at 12:36 AM Jessica Yu wrote: > > +++ Masahiro Yamada [19/04/19 00:26 +0900]: > >On Thu, Apr 18, 2019 at 10:52 PM Jessica Yu wrote: > >> > >> +++ Masahiro Yamada [18/04/19 20:10 +0900]: > >> >On Sat, Apr 6, 2019 at 9:15 PM Alexey Gladkov wrote: > >> >> > >> >> Problem: > >> >> > >> >> When a kernel module is compiled as a separate module, some important > >> >> information about the kernel module is available via .modinfo section of > >> >> the module. In contrast, when the kernel module is compiled into the > >> >> kernel, that information is not available. > >> >> > >> >> Information about built-in modules is necessary in the following cases: > >> >> > >> >> 1. When it is necessary to find out what additional parameters can be > >> >> passed to the kernel at boot time. > >> >> > >> >> 2. When you need to know which module names and their aliases are in > >> >> the kernel. This is very useful for creating an initrd image. > >> >> > >> >> Proposal: > >> >> > >> >> The proposed patch does not remove .modinfo section with module > >> >> information from the vmlinux at the build time and saves it into a > >> >> separate file after kernel linking. So, the kernel does not increase in > >> >> size and no additional information remains in it. Information is stored > >> >> in the same format as in the separate modules (null-terminated string > >> >> array). Because the .modinfo section is already exported with a separate > >> >> modules, we are not creating a new API. > >> >> > >> >> It can be easily read in the userspace: > >> >> > >> >> $ tr '\0' '\n' < kernel.builtin > >> >> ext4.softdep=pre: crc32c > >> >> ext4.license=GPL > >> >> ext4.description=Fourth Extended Filesystem > >> >> ext4.author=Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others > >> >> ext4.alias=fs-ext4 > >> >> ext4.alias=ext3 > >> >> ext4.alias=fs-ext3 > >> >> ext4.alias=ext2 > >> >> ext4.alias=fs-ext2 > >> >> md_mod.alias=block-major-9-* > >> >> md_mod.alias=md > >> >> md_mod.description=MD RAID framework > >> >> md_mod.license=GPL > >> >> md_mod.parmtype=create_on_open:bool > >> >> md_mod.parmtype=start_dirty_degraded:int > >> >> ... > >> >> > >> >> v2: > >> >> * Extract modinfo from vmlinux.o as suggested by Masahiro Yamada; > >> >> * Rename output file to kernel.builtin; > >> > > >> >Sorry, I do not get why you renamed > >> >"kernel.builtin.modinfo" to "kernel.builtin". > >> > > >> >If you drop "modinfo", we do not understand > >> >what kind information is contained in it. > >> > > >> >I think "kernel" and "builtin" have > >> >a quite similar meaning here. > >> > > >> >How about "builtin.modinfo" for example? > >> > > >> > > >> >It is shorter, and it is clear enough > >> >that it contains module_info. > >> > >> I agree that the name kernel.builtin is unclear in what kind of > >> information it contains. Apologies for not having clarified this in > >> the previous review. > >> > >> Since kbuild already produces "modules.order" and "modules.builtin" > >> files, why not just name it "modules.builtin.modinfo" to keep the > >> names consistent with what is already there? > > > > > >Is it consistent? > > > >If we had "modules.order" and "modules.builtin.order" there, > >I would agree with "modules.builtin.modinfo", > >and also "modules.alias" vs "modules.builtin.alias". > > > > > >We already have "modules.builtin", and probably impossible > >to rename it, so we cannot keep consistency in any way. > > > > > >"modules.builtin" is a weird name since > >it actually contains "order", but its extension > >does not express what kind of information is in it. > >Hence, I doubt "modules.builtin" is a good precedent. > > > >IMHO, "modules" and "builtin" are opposite > >to each other. "modules.builtin" sounds iffy to me. > > I've always interpreted "modules.builtin" to mean "this is a list of > modules that have been built-in into the kernel", no? So I thought the > name made sense. OK, I see. > But you are the maintainer, so I do not have a strong > opinion on this either way :-) My idea was to use 'modules.' vs 'builtin.' instead of 'modules.' vs 'modules.builtin.' I am slightly in favor of the former since it is shorter and (I hope) still clear enough. If this naming is not nice for external projects such as kmod, please speak up. (BTW, I am thinking of renaming 'modules.builtin' into 'builtin.order' for kbuild internal. We cannot change that for the installation area, though.) > > Thanks, > > Jessica -- Best Regards Masahiro Yamada