Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp1896580ioo; Mon, 23 May 2022 05:52:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx0ovUvrJDLNCprCIf5V5bc3a1NifWgolr3O38hERMuLCQ1T84c/uKb/hoyw1XNFhqego9f X-Received: by 2002:a17:902:f684:b0:161:8b4d:adf5 with SMTP id l4-20020a170902f68400b001618b4dadf5mr22837201plg.112.1653310368842; Mon, 23 May 2022 05:52:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653310368; cv=none; d=google.com; s=arc-20160816; b=eFzs/QDqS4327SlYkNlnVLPiBMyHy7L8yKtvwat8l7Ylud4DAWfDKha18g0FlHBjen 49+8wBerFT5eZB93LXjBbZ4yuHUGbw7ZuG0fCb+ZhxZYgT+2kfieZRHPDAFGNjybhc+Y OwGKNisuyFIUMOrBwQtOTC7V/2DcQyARjLNBmlDBCUMSPkZV7AWRZ8osaeXj4hsSf6O/ 3LvA2e3nZsv01w9xDtV6yeTjiVHHazhJ1sR9l7FjALnAz9ArU1Bl3uf1l1obbOjUxOCh K8CTgmTfpwK/gk/LBE34uiP1dgJDglp/zTbQSkJRk4l5UB9DOK0AdKb6wHYgxN2b9jCz 0vpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=TAXjp1uMxit/NNB+lOMDDU5/s8MeqICMKX40CuNojyg=; b=bGKzEW1Iv5bpwrmhwvhehn8bTYYp31rXzLRjHaH4ZELDEszsaHw9ETbG4XRKIIuJA7 2dBCmcHh6C4QZaF2adweWuiHzHYemKFvDKMIK2D2FM9saI1/51cUswJQJA3cAqyQeGaN ia04ZMADpsAi6zA0rw8rRBwsy4hLJX4s2ePyRlGGr/iD4JTSH2bKdVPdzqWRdAIBCIZJ 9PzOZcOfcK3BRJcLzO0rU1rUA/jBUGoNkmpRXB6qpQPVLCG2/eccUwTwq5w1ZrkvTrjI IKlMjMzdxAU6ltoaUnRGtLf2Irg2XB3ZKDY4wovj5ZOfrfQ4wPcz8xDG73sZyRqEIH2I U+XQ== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id n9-20020a17090aab8900b001df6e5f1985si12413988pjq.120.2022.05.23.05.52.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 05:52:48 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1777612ABD; Mon, 23 May 2022 05:51:07 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235718AbiEWMux (ORCPT + 99 others); Mon, 23 May 2022 08:50:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43792 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235586AbiEWMuv (ORCPT ); Mon, 23 May 2022 08:50:51 -0400 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA50952B36; Mon, 23 May 2022 05:50:48 -0700 (PDT) Received: from mail-yw1-f172.google.com ([209.85.128.172]) by mrelayeu.kundenserver.de (mreue011 [213.165.67.97]) with ESMTPSA (Nemesis) id 1Mati7-1nGlZ70whv-00cQzz; Mon, 23 May 2022 14:50:46 +0200 Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-2ff7b90e635so80780387b3.5; Mon, 23 May 2022 05:50:45 -0700 (PDT) X-Gm-Message-State: AOAM530bAXl9t4Hzbe9v5JY5cO/6lvaaPeSjyuThuFEXDJeQit53Tyim SgMl8fNwet3fHZWd3i1BLbLfT5w47sEUeTTuMTA= X-Received: by 2002:a81:6283:0:b0:2ff:2443:6f3c with SMTP id w125-20020a816283000000b002ff24436f3cmr23147031ywb.135.1653310244891; Mon, 23 May 2022 05:50:44 -0700 (PDT) MIME-Version: 1.0 References: <23e0ba7863d51ab629498762a97d477645aeafea.1653123744.git.christophe.jaillet@wanadoo.fr> <20220523123436.b5gwj55xacc2hxcv@mail.google.com> In-Reply-To: <20220523123436.b5gwj55xacc2hxcv@mail.google.com> From: Arnd Bergmann Date: Mon, 23 May 2022 14:50:28 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH] kbuild: Add an option to enable -O1 and speed-up compilation time To: Changbin Du Cc: Masahiro Yamada , Christophe JAILLET , Dan Carpenter , Michal Marek , Nick Desaulniers , Linux Kernel Mailing List , kernel-janitors , Linux Kbuild mailing list , Arnd Bergmann Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:MGFWA6flb0MLYld3aELzP48+i18MpuBPJmWkvuT764OGuIkb00Q jk1Wk658Gg6eH7+7+H8cZGHCkyE6iYiMQvDihmjrdFpTan+BahmCFvHnxsRkE3roQY1Pa59 I3QXW5yQlsKtxMUddz3V+4NuGLc25lYZZ1LqywjQnRBx+434Ag7uoz9JARRde/b3/XZ+nak BjdlsRnnWmfPmWiZSQ7mQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:3gsa5Q2sNtc=:1JBeKhJ1m1S59ZKFLFLip0 whJ5Vkm47nA6hX2uKhEIUBoDSD/fHA/hG2CX21jODmAiVQNTbjndETBLw0YczMPTPAl8DweWk t7Bssknos/KeqeJv7IlPRzspD9CsebWs8ltCf3+FbTUgchS1wwB6pXxqs96TIWJUkjCvU8IW4 zOoAq/48q8cT0a5gbUeUTr7LjYS12PAI6L+keyBoTpG8rNiiLHVp0LjsH7k/6bgHYLsuYISib 7KhMYWdBJtj1+IPLGRXSZY8XooYduVEnOuQbI+m1Jjbx5EUMvur1cs7lYVMVkvZISu/0/rK2M 1WjAxSsXupTSwTuBprn0fLLuaCpTyCcHH2WgqX5kuatwRUvDPDDHBjUGyiZxlE2a0YHLMqeb8 hbA95FYRAzRPKYReLFzZ3NfGu9TKV6+IBrS0l7gv9UPqUWyHCfTC19dMIrO5gq4i3Shcl5UBc /Sob7WBlGxhPVGYgI540OTtUJq5NSHkP0qETbpEHkVnbBV1F8iCuMIr3TzgAjoMku2K52kNaV Tub0RXz8FSyCwSQgpcT5b/djCg+4a2lq+sjFoL2WS5Gs+MCGYOU6rckFat0SO7X0NbpWlB/Ql no3E7xPAQqfnDWTr5pkQFpPWdJY/cyuwqXwY+6brnQwB+swWsRoBJsHMafWIdC15T7UgY9MRa n7ENsbsaZCyjaeSRvecuJgIuI7O5Qyc5qxOYU5Qrej4T/suzateio45vUVWC77fVJWX83UQyv pKGQju8uW362+oR6uZxkS/ufuw2ch0tYE636Jw1EqI8OPz+YTkyrJin6x1wdkJ+Odv0NzY9dy lupXXnJjmIZzww7OdtTiaG+frMli0wNlJBanOj2eJFAMJIpsygHpKhnJtJAPpzVUZo6x3sLaD QFRXZuh/ADB8z7np5mU1pts6bgNuasckm7hgm+raI= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 Mon, May 23, 2022 at 2:34 PM Changbin Du wrote: > On Sun, May 22, 2022 at 12:38:17AM +0900, Masahiro Yamada wrote: > > (+CC: Arnd, Changbin Du) > > > > > > If -O1 support does not require additional effort, > > I have no objection to this patch. > > > > (but I do not have enough insight about > > the compiler's inlining heuristic) > > > > > > > > BTW, when we attempted to add the -Og support, > > we fixed various parts, and Linus rejected it. > > > > https://lore.kernel.org/linux-kbuild/CAK7LNARQggM3aKEPRKJqa4tunFAfmfErMZuS-rrnRv6UB1VpPQ@mail.gmail.com/ > > > > > > > > > > > > > > > I am afraid that '-O1' has the same situation with '-Og'. As described in GCC > mannual: > > Like -O0, -Og completely disables a number of optimization passes so that > individual options controlling them have no effect. Otherwise -Og enables all > -O1 optimization flags except for those that may interfere with debugging: > -fbranch-count-reg -fdelayed-branch > -fdse -fif-conversion -fif-conversion2 > -finline-functions-called-once > -fmove-loop-invariants -fmove-loop-stores -fssa-phiopt > -ftree-bit-ccp -ftree-dse -ftree-pta -ftree-sra Correct, I'm fairly sure this never worked. It may be possible to narrow down the individual optimization flags to have something that works inbetween -O1 and -O2, but that requires a lot of testing work, and it is questionable whether there are any practical upsides. Note that we already disable some optimizations for certain configurations, e.g. CONFIG_READABLE_ASM, CONFIG_FRAME_POINTER or CONFIG_DEBUG_SECTION_MISMATCH. The gcc manual suggests listing all optimization flags with $ gcc -c -Q -O1 --help=optimizers > O1-opts $ gcc -c -Q -O2 --help=optimizers > O2-opts $ diff -u O1-opts O2-opts If the goal is to speed up compilation, there may be value in trying which of the various options make the most difference here and still produce a working kernel when disabled. I know we need the inlining to happen or things go badly wrong, but I don't know if e.g. -fno-expensive-optimizations would work. Arnd