Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp1603943pxb; Fri, 18 Feb 2022 11:12:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJx2jauaVJvZ0KZkJnwIKQPj7nIJKfQqLSDpxTB5P2R8L8jda0c18krnOsFJNjnzyZl2WhMJ X-Received: by 2002:a17:902:f782:b0:14b:63db:9bc1 with SMTP id q2-20020a170902f78200b0014b63db9bc1mr8817870pln.60.1645211538758; Fri, 18 Feb 2022 11:12:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645211538; cv=none; d=google.com; s=arc-20160816; b=z2U/9fOtAjnxx2y8XCYl99D6JUeeEomZrkyBfJ/BefwO23PrhdlFvPzjs+yOcJf7Nu S/nXyChhDgOKcS6NXJ9q8Bcdjuu6loR8o8RHvGpKKLXacSWw4HZZlGs+BV6WXN3Wcs6N S5Db06AcHoAVqDTSYSs9ViZOKqBMFdXvw1B+GextCgVk8pExhgsZZjI4khIxuhdw+Sik k6xDqDRL6nUzRKiL0CI7bThYfkdjHk7tqnegzF2fN/vNvknK1mlCjuIJJR8gh6hKVWt8 QukCiyP56kAIGlqZ7SRI16Mlp5c38WD8gyAjGdku5LrcWAJtM4He3grmxdEJgMYCnvZq BDuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=ck+d6JNhJ0XhnAuuRZuiGQC7qai8/sBIDgcojW3dQ/E=; b=iT8tqzO7eElRHPJM6kao8yYOeKJfC5XGMw9z9dCOiZ4H3IbSCGVZ/71ifiAzoxKfVb 7ajoDpl0smGIB2ivX0LJ785vNKPamJNhB+vONEaWmo1d4Uq8NmMK4f8ugf8xyGr1yde/ RGfH4g7KuzeM0hGHLrbyaA3eHZCz+mLo7j0OUIn1k4Mv0YiC7kQ+AjBU73PFrNDh1Fks nW0WVHXQV6t0zbEHEZcGg9BjOKjj61Q54sxrvg/PUmSMaRz0Nqh3N7J/GgVat55esxNh yspUTnz0M0uzTWC1F8DHDLLaTeVc4lCPiet8syGJRHyoglyUINkhkYfeIDjLRCXFxRUt GrhA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c12si18161027plh.493.2022.02.18.11.11.59; Fri, 18 Feb 2022 11:12:17 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238069AbiBRQtC (ORCPT + 99 others); Fri, 18 Feb 2022 11:49:02 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:56996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234380AbiBRQtB (ORCPT ); Fri, 18 Feb 2022 11:49:01 -0500 Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id ADE09B5A; Fri, 18 Feb 2022 08:48:44 -0800 (PST) Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 21IGiLDR024462; Fri, 18 Feb 2022 10:44:21 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 21IGiLRA024461; Fri, 18 Feb 2022 10:44:21 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Fri, 18 Feb 2022 10:44:20 -0600 From: Segher Boessenkool To: Stephen Hemminger Cc: Masahiro Yamada , David Laight , "netdev@vger.kernel.org" , Nick Desaulniers , "linux-kernel@vger.kernel.org" , Ingo Molnar , Jakub Kicinski , Andrew Morton , "linuxppc-dev@lists.ozlabs.org" , "David S. Miller" Subject: Re: [PATCH net v3] net: Force inlining of checksum functions in net/checksum.h Message-ID: <20220218164420.GR614@gate.crashing.org> References: <9b8ef186-c7fe-822c-35df-342c9e86cc88@csgroup.eu> <3c2b682a7d804b5e8749428b50342c82@AcuMS.aculab.com> <2e38265880db45afa96cfb51223f7418@AcuMS.aculab.com> <20220217180735.GM614@gate.crashing.org> <20220218121237.GQ614@gate.crashing.org> <20220218082920.06d6b80f@hermes.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220218082920.06d6b80f@hermes.local> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE 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 Fri, Feb 18, 2022 at 08:29:20AM -0800, Stephen Hemminger wrote: > On Fri, 18 Feb 2022 06:12:37 -0600 > Segher Boessenkool wrote: > > On Fri, Feb 18, 2022 at 10:35:48AM +0900, Masahiro Yamada wrote: > > > On Fri, Feb 18, 2022 at 3:10 AM Segher Boessenkool > > > wrote: > > > > On Fri, Feb 18, 2022 at 02:27:16AM +0900, Masahiro Yamada wrote: > > > > > On Fri, Feb 18, 2022 at 1:49 AM David Laight wrote: > > > > > > That description is largely fine. > > > > > > > > > > > > Inappropriate 'inline' ought to be removed. > > > > > > Then 'inline' means - 'really do inline this'. > > > > > > > > > > You cannot change "static inline" to "static" > > > > > in header files. > > > > > > > > Why not? Those two have identical semantics! > > > > > > e.g.) > > > > > > > > > [1] Open include/linux/device.h with your favorite editor, > > > then edit > > > > > > static inline void *devm_kcalloc(struct device *dev, > > > > > > to > > > > > > static void *devm_kcalloc(struct device *dev, > > > > > > > > > [2] Build the kernel > > > > You get some "defined but not used" warnings that are shushed for > > inlines. Do you see something else? > > > > The semantics are the same. Warnings are just warnings. It builds > > fine. > > Kernel code should build with zero warnings, the compiler is telling you > something. The second part is of course true. The first part less so, and is in fact not true at all from some points of view: $ ./build --kernel x86_64 Building x86_64... (target x86_64-linux) kernel: configure [00:06] build [02:12] 1949 warnings OK (This is with a development version of GCC.) There are simple ways to shut up specific warnings for specific code. That is useful, certainly. And so is having a warning-free build. It is obvious that we do survive without either of that though! And none of this detracts from the point that the semantics of "static" and "static inline" are identical. Segher