Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp586603pxb; Tue, 15 Feb 2022 22:58:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJzt+//bwnItekpvUqc2d+bD7xNddEEPEt6VOE+JAyTg+rLk3yHESMDJc+mw+4DaX1vnOyW6 X-Received: by 2002:a17:902:9a45:b0:14f:40ad:befa with SMTP id x5-20020a1709029a4500b0014f40adbefamr1186119plv.172.1644994738518; Tue, 15 Feb 2022 22:58:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644994738; cv=none; d=google.com; s=arc-20160816; b=Wu1ByUyOPbXr1N5zGoH+EI5No9HNt+038ZJeadF+CzGj3lcaxU9KLbSZehvORtnFa7 mb6/1p4ffn4Jab+gFzCuXefhk4ySpiyHfDCEmfB/p6F3ZDNc8bW0ePQVZxEWg0XU663/ Nby7SDdrS2r4iPbnrjro0QQSv3HUMOW7uB4Q6oINHQ/yI/sTXVPv0NfI2ulTojrH1JZg OjY9HPULMabS6sID4LQs0j+Xp3GeKLlXf4fBnLJ/8BjYLG0cS35slUVzymivVq/XkQ7i Z4QBTuvYPWh2sbHbX++IrYtZcuM3k1MVoO104bjVZwZZCLwbIPyqmYjgDTXVgxni3bvT EtJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=iHH9UgByDa+zCPkqC+lG0AnxcSrEDdcYnE/MBIAVIWI=; b=lUyGED1ffEXSsX11QcZCi2UWyQA72uQxWBMifwrwQDd8Hwq3a1EmxDdAqqadkKNUj8 f8dkpqkkrmk30/Lx/aZDBKKtIfiBSbr1FuSAL0Zyj/UUpuaQFc6T6aOuZSSKfIZDnLKd cVsxTV7n0M+J4b2HHAge64cdUPxxCEa8IycGV50aD+6ry1Wz0fz2BkCjFhpHBFIFWcCI BBpSPnFcZX81E67yaak7pZ+55DT2PLEmytZYgwD4o4lywtQ7cTxzRFsc5km3DtEZcnl/ 4BBnGvrm6NsldYG4oeINlTkThhhPqOKx9C8OSGUeYy09NwLLRUjuAQtqRx6p9Nza1POH nJqw== 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:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id k4si16835262plt.331.2022.02.15.22.58.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 22:58:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 F369A240597; Tue, 15 Feb 2022 22:40:58 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245615AbiBPBrP (ORCPT + 99 others); Tue, 15 Feb 2022 20:47:15 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:34148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244841AbiBPBrN (ORCPT ); Tue, 15 Feb 2022 20:47:13 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5ABC22B262 for ; Tue, 15 Feb 2022 17:47:01 -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 ams.source.kernel.org (Postfix) with ESMTPS id 6149EB81DB2 for ; Wed, 16 Feb 2022 01:47:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F12EC340EB; Wed, 16 Feb 2022 01:46:58 +0000 (UTC) Date: Tue, 15 Feb 2022 20:46:57 -0500 From: Steven Rostedt To: Alexey Kardashevskiy Cc: llvm@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Desaulniers , Nathan Chancellor , Ingo Molnar , Sami Tolvanen Subject: Re: [RFC PATCH kernel] trace: Make FTRACE_MCOUNT_USE_RECORDMCOUNT configurable Message-ID: <20220215204657.4a7e4784@gandalf.local.home> In-Reply-To: <8b1d0d57-0bf7-8ca5-8b08-cd5a12f7666f@ozlabs.ru> References: <20220211014313.1790140-1-aik@ozlabs.ru> <20220211214722.4373ca83@rorschach.local.home> <8b1d0d57-0bf7-8ca5-8b08-cd5a12f7666f@ozlabs.ru> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 Wed, 16 Feb 2022 12:19:14 +1100 Alexey Kardashevskiy wrote: > On 2/12/22 13:47, Steven Rostedt wrote: > > On Fri, 11 Feb 2022 12:43:13 +1100 > > Alexey Kardashevskiy wrote: > > > >> For whatever reason LLVM does not allow LTO (Link Time Optimization) if > >> FTRACE_MCOUNT_USE_RECORDMCOUNT is enabled. > >> > >> This allows disabling just this option instead of disabling all FTRACE > >> options. > > > > What FTRACE options are you talking about? > > LTO_CLANG_THIN => HAS_LTO_CLANG => !FTRACE_MCOUNT_USE_RECORDMCOUNT => > > FTRACE [=y] && !FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY [=n] && > !FTRACE_MCOUNT_USE_CC [=n] && !FTRACE_MCOUNT_USE_OBJTOOL [=n] && > FTRACE_MCOUNT_RECORD [=y] So basically, turn off FUNCTION_TRACER and STACK_TRACER. > > A bunch. > > > > > >> > >> Signed-off-by: Alexey Kardashevskiy > >> --- > >> > >> Or disabling FTRACE is the right thing to do if HAS_LTO_CLANG=y? > >> > >> Came from arch/Kconfig: > >> > >> config HAS_LTO_CLANG > >> def_bool y > >> depends on CC_IS_CLANG && LD_IS_LLD && AS_IS_LLVM > >> depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm) > >> depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm) > >> depends on ARCH_SUPPORTS_LTO_CLANG > >> depends on !FTRACE_MCOUNT_USE_RECORDMCOUNT <====== > >> depends on !KASAN || KASAN_HW_TAGS > >> depends on !GCOV_KERNEL > >> > >> > >> --- > >> kernel/trace/Kconfig | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig > >> index a5eb5e7fd624..87d82d2b0b0b 100644 > >> --- a/kernel/trace/Kconfig > >> +++ b/kernel/trace/Kconfig > >> @@ -704,7 +704,8 @@ config FTRACE_MCOUNT_USE_OBJTOOL > >> depends on FTRACE_MCOUNT_RECORD > >> > >> config FTRACE_MCOUNT_USE_RECORDMCOUNT > >> - def_bool y > >> + bool "Enable FTRACE_MCOUNT_USE_RECORDMCOUNT" > >> + default y > > > > I don't think this does what you think it does. > > Sounds like it. > > > This is not something that should be user selectable. What exactly are > > you trying to accomplish here? > > I am trying to > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index b779603978e1..91c122224f83 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -153,6 +153,8 @@ config PPC > select ARCH_WANT_IRQS_OFF_ACTIVATE_MM > select ARCH_WANT_LD_ORPHAN_WARN > select ARCH_WEAK_RELEASE_ACQUIRE > + select ARCH_SUPPORTS_LTO_CLANG if PPC64 > + select ARCH_SUPPORTS_LTO_CLANG_THIN if PPC64 > > > to get LTO working on powerpc64le with minimal change to > ppc64le_defconfig which has all these FTRACE_xxx enabled. Well, you can add a dependency against FUNCTION_TRACER. As that's what turns on the RECORD_MCOUNT, as RECORD_MCOUNT is needed by it. -- Steve