Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp819871ybm; Wed, 27 May 2020 08:46:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwsbWBEIEQZN53gVTIauZTTKliulqH7aSeKjIacQK7wcgC/GB3/3Vw2IqUTFeee48roJ02u X-Received: by 2002:a17:906:da05:: with SMTP id fi5mr3168408ejb.95.1590594389526; Wed, 27 May 2020 08:46:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590594389; cv=none; d=google.com; s=arc-20160816; b=jllDYxsfiqXcTg1LxWdlPNxxBJGZQKZUJ6Ml9K6RO2y90MHbiBnV5qNJnKKOEqxumd 96sLsJ13J68O/WEry+qx+nlE6P6GC0Wg/txkrmHJs5WVoaYaTQ7F+C44XSwBLAZPP+dn NwNsu/Ug3EAKwh2PUfxQ1DD8+uydwMonuDD+mRQFKwTO+Bj2YsCmAUrgLYn7nHLL1Cvp u361qPZ/wQhdgiQ/2CxuorutC5vpDNhPFBymOSX+nsCkGomCeYknJFNT+4b3ZVmUA4Xq RA7WIhOJvF5KyBfohLlrAHU8a7eD9S2A3piN3S4nuu2AvbW0pOKVcTDvn275aSfpnpmw Hocg== 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 :reply-to:in-reply-to:references:mime-version:dkim-signature; bh=z6go2Pe/0xHx8Ur0HnZIKTJ47Wq/ilnSzd2NqpRkWGw=; b=MksOKoziNZHxj6+KAhWb/T7GiHsjsuR0FPOy0u2RKSUXdZhqiF/jdI66GZjhs3jRtC 2VB6uvQ5pHmAe6xWdRfT81qh8X6oFeTtVCEUiIfd4tIcC744RB8xUpRjUOg/clzIJwuy 7fBYHPZm/KOvLEfHnUv0CxiAd6k3V0AFktUKDBmYyrRmD4B4t3yYUaP3WngJsOADGXuj d5ZNnUfDKRJ9BmC5mkD9W492+JR44tq+w2369AtbLh0HcQSPMmwO3h8x56uFkUbQCSBE jbGE9jdXOFUAhNELnvAU41Hmj5vw5oqELau3C7loGKTOnJWX3T3n+G0ouQ6KVsUa//Yn wX8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=L1YBq2nY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rn4si1523779ejb.124.2020.05.27.08.46.06; Wed, 27 May 2020 08:46:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=L1YBq2nY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728962AbgE0Lgu (ORCPT + 99 others); Wed, 27 May 2020 07:36:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726086AbgE0Lgu (ORCPT ); Wed, 27 May 2020 07:36:50 -0400 Received: from mail-il1-x141.google.com (mail-il1-x141.google.com [IPv6:2607:f8b0:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0F89C061A0F for ; Wed, 27 May 2020 04:36:49 -0700 (PDT) Received: by mail-il1-x141.google.com with SMTP id r2so12435512ila.4 for ; Wed, 27 May 2020 04:36:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=z6go2Pe/0xHx8Ur0HnZIKTJ47Wq/ilnSzd2NqpRkWGw=; b=L1YBq2nYL/jTkOPYDhIKkn6zmKuK7UFF9qeB/1ogdHqnN+IpWi07rXvId5L6YeWSC7 CWSjhp959giwzN/B1C7SPZSYBP1iCCYDKjEnJPZ/J1nqfSa0bqnUC4nY9q98tV/GqltA hqyacD7MuaOXlBgaLqgLsNIqI6jApL+chkIVBvUwJO2isRB+Lf340oB1laD/sV0HaxQ9 LqdOjnfAsFKjGJA0oGsmQGxeNKyeUXQs7CDD4t6/a+zRj/LeWWo18YDYC8cpmTn752hu VVGiJk+JXkZVG0v8hpokgwrolvfPtevcq5Sm9k6p/Dd/Toji8Zso/rzCMnUtinyp3BDu eryA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=z6go2Pe/0xHx8Ur0HnZIKTJ47Wq/ilnSzd2NqpRkWGw=; b=ZnZKRtp9ygjHlWGy02mSqscB0JmDim/5+JkttbKvgfDP0X3Yi4XQDXyv0zNZ/24lY7 RI6BWOUQzcK4Q+yiwDi+VL1ihZvRXcQJDlshmnWv2B2FnG3Y6zV/tusA3HrOYytg0bg5 cdMaSFYTQk3f7jN2pe1N6weXZAWmsv0EW+9clcMKrODkVsyIMyo/zXiBS76SERqdtRaH i36rb9ZybO7KtPN0j5qKulaRMXFWP+BlBppV1NIzgFFdy7J6zjovg+3wbEDcUzkRc0h8 Qijd1NbBHBqEhP5F0juwAdcFxL6DpwN8rUjFsF7PlUcnDfE7TkCv8m/jw3f4GBGXyM8f FT8Q== X-Gm-Message-State: AOAM533YKgaIUnTmtg46ruhnTd8rbAdpfNTuBp/hdrAZxOQvfPG6eMr1 FvI1xx+/7RbNFGzOYJH991PekpO1jz7CJr/qm+S5NC8YK+AINA== X-Received: by 2002:a92:6608:: with SMTP id a8mr5465508ilc.204.1590579409205; Wed, 27 May 2020 04:36:49 -0700 (PDT) MIME-Version: 1.0 References: <20200527103236.148700-1-elver@google.com> In-Reply-To: Reply-To: sedat.dilek@gmail.com From: Sedat Dilek Date: Wed, 27 May 2020 13:36:41 +0200 Message-ID: Subject: Re: [PATCH -tip] compiler_types.h: Optimize __unqual_scalar_typeof compilation time To: Arnd Bergmann Cc: Marco Elver , Will Deacon , Peter Zijlstra , Borislav Petkov , Thomas Gleixner , Ingo Molnar , clang-built-linux , "Paul E. McKenney" , Dmitry Vyukov , Alexander Potapenko , Andrey Konovalov , kasan-dev , "linux-kernel@vger.kernel.org" , Nick Desaulniers , Stephen Rothwell 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 Wed, May 27, 2020 at 1:27 PM Arnd Bergmann wrote: > > On Wed, May 27, 2020 at 12:33 PM Marco Elver wrote: > > > > If the compiler supports C11's _Generic, use it to speed up compilation > > times of __unqual_scalar_typeof(). GCC version 4.9 or later and > > all supported versions of Clang support the feature (the oldest > > supported compiler that doesn't support _Generic is GCC 4.8, for which > > we use the slower alternative). > > > > The non-_Generic variant relies on multiple expansions of > > __pick_integer_type -> __pick_scalar_type -> __builtin_choose_expr, > > which increases pre-processed code size, and can cause compile times to > > increase in files with numerous expansions of READ_ONCE(), or other > > users of __unqual_scalar_typeof(). > > > > Summary of compile-time benchmarking done by Arnd Bergmann [1]: > > > > clang-11 gcc-9 > > this patch 0.78 0.91 > > ideal 0.76 0.86 > > > > [1] https://lkml.kernel.org/r/CAK8P3a3UYQeXhiufUevz=rwe09WM_vSTCd9W+KvJHJcOeQyWVA@mail.gmail.com > > > > Further compile-testing done with: > > gcc 4.8, 4.9, 5.5, 6.4, 7.5, 8.4; > > clang 9, 10. > > > > Reported-by: Arnd Bergmann > > Signed-off-by: Marco Elver > > This gives us back 80% of the performance drop on clang, and 50% > of the drop I saw with gcc, compared to current mainline. > > Tested-by: Arnd Bergmann > Hi Arnd, with "mainline" you mean Linux-next aka Linux v5.8 - not v5.7? I have not seen __unqual_scalar_typeof(x) in compiler_types.h in Linux v5.7. Is there a speedup benefit also for Linux v5.7? Which patches do I need? Thanks. Regards, - Sedat -