From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 177F3C38A2D for ; Mon, 24 Oct 2022 17:06:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2nzQ3THl7Pcg8ywsT7k1g0QcCX2daa+O+eujivFMTEs=; b=40iIpztH8hDQNv 7/HuQZPl/4/a48PHqNLqj4P/teA07fJ/RZBpSSOYC26My3wjgev5uGKQlLxMYVKW9+dGCqSVZUJLP L0udbcT2xfaAHBVErH18DXfZ4dZW3LU93Ka9yttJh5lFnr/QZfo9qmKsua1XU2gC0WBD2mQLTBqeu /udgqBgr9Whewlj/O8i+Mo7tYDBBQn/JKkWi8G61llirXmwj1heTPlsiO+4Ufde5Dd6+kR6pj/A81 4SZwkn8vCZXkK59wvk+B8Ez8L8CzJnpjKDJFGRTE0KRkWBhTSm+iYD3Gtq+gumSZPb8hAkp/CYid8 /5yaPjS1M6SpkHPy0PWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1on0sp-002QHH-9A; Mon, 24 Oct 2022 17:05:03 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1on0sm-002QGE-5N for linux-arm-kernel@lists.infradead.org; Mon, 24 Oct 2022 17:05:01 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 91A651516; Mon, 24 Oct 2022 10:05:02 -0700 (PDT) Received: from FVFF77S0Q05N (unknown [10.57.7.186]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 168B13F792; Mon, 24 Oct 2022 10:04:54 -0700 (PDT) Date: Mon, 24 Oct 2022 18:04:49 +0100 From: Mark Rutland To: Steven Rostedt Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, mhiramat@kernel.org, revest@chromium.org, will@kernel.org Subject: Re: [PATCH 1/4] ftrace: pass fregs to arch_ftrace_set_direct_caller() Message-ID: References: <20221024140846.3555435-1-mark.rutland@arm.com> <20221024140846.3555435-2-mark.rutland@arm.com> <20221024104845.3c898d85@gandalf.local.home> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20221024104845.3c898d85@gandalf.local.home> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221024_100500_268622_7BB36F51 X-CRM114-Status: GOOD ( 18.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBPY3QgMjQsIDIwMjIgYXQgMTA6NDg6NDVBTSAtMDQwMCwgU3RldmVuIFJvc3RlZHQg d3JvdGU6Cj4gT24gTW9uLCAyNCBPY3QgMjAyMiAxNTowODo0MyArMDEwMAo+IE1hcmsgUnV0bGFu ZCA8bWFyay5ydXRsYW5kQGFybS5jb20+IHdyb3RlOgo+IAo+ID4gLS0tIGEvaW5jbHVkZS9saW51 eC9mdHJhY2UuaAo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaAo+ID4gQEAgLTQyOSw2 ICs0MjksNyBAQCBzdGF0aWMgaW5saW5lIGludCBtb2RpZnlfZnRyYWNlX2RpcmVjdF9tdWx0aV9u b2xvY2soc3RydWN0IGZ0cmFjZV9vcHMgKm9wcywgdW5zaQo+ID4gIH0KPiA+ICAjZW5kaWYgLyog Q09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfRElSRUNUX0NBTExTICovCj4gPiAgCj4gPiArI2lm ZGVmIENPTkZJR19GVU5DVElPTl9UUkFDRVIKPiAKPiBJbnN0ZWFkIG9mIGFkZGluZyB0aGUgYWJv dmUgcHJlcHJvY2Vzc29yIGNoZWNrLCB0aGUgYmVsb3cgY2h1bmsgc2hvdWxkIGJlCj4gbW92ZWQg aW50byB0aGUgQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfRElSRUNUX0NBTExTIGJsb2NrIGFi b3ZlLgoKU3VyZTsgYnV0IG5vdGUgdGhhdCBkb2luZyB0aGF0IG5haXZlbHkgbWVhbnMgJ3N0cnVj dCBmdHJhY2VfcmVncycgd29uJ3QgYWx3YXlzCmJlIGRlY2xhcmVkIChlLmcuIGlmICFDT05GSUdf RlVOQ1RJT05fVFJBQ0VSKSwgYW5kIHdpbGwgcmVzdWx0IGluIHdhcm5pbmdzLCBlLmcuCgp8ICAg Q0MgICAgICBhcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHMucwp8IEluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuL2luY2x1ZGUvbGludXgva3ZtX2hvc3QuaDozMiwKfCAgICAgICAgICAgICAgICAgIGZy b20gYXJjaC94ODYva2VybmVsLy4uL2t2bS92bXgvdm14Lmg6NSwKfCAgICAgICAgICAgICAgICAg IGZyb20gYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzLmM6MjI6CnwgLi9pbmNsdWRlL2xpbnV4 L2Z0cmFjZS5oOjQ0NDo1NzogZXJyb3I6IOKAmHN0cnVjdCBmdHJhY2VfcmVnc+KAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KfCAgIDQ0NCB8IHN0YXRpYyBp bmxpbmUgdm9pZCBhcmNoX2Z0cmFjZV9zZXRfZGlyZWN0X2NhbGxlcihzdHJ1Y3QgZnRyYWNlX3Jl Z3MgKmZyZWdzLAp8ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgp8IGNjMTogYWxsIHdhcm5pbmdzIGJlaW5n IHRyZWF0ZWQgYXMgZXJyb3JzCnwgbWFrZVsxXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxk OjExODogYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzLnNdIEVycm9yIDEKfCBtYWtlOiAqKiog W01ha2VmaWxlOjEyNzA6IHByZXBhcmUwXSBFcnJvciAyCgouLi4gc28gSSdsbCBlaXRoZXIgbmVl ZCB0byBhZGQgc29tZSBpZmRlZmZlcnksIGZvciBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSLCBvciBJ CmNhbiBob2lzdCB0aGUgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBmdHJhY2VfcmVncycgdG8gbm90 IGRlcGVuZCBvbgpDT05GSUdfRlVOQ1RJT05fVFJBQ0VSLgoKSSBndWVzcyB0aGUgbGF0dGVyIGlz IHByZWZlcmFibGUsIGUuZy4KCnwgZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZnRyYWNlLmgg Yi9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oCnwgaW5kZXggMmIzNGZlYzQwYTM5Li5mMjAxZmNiZmZm YjAgMTAwNjQ0CnwgLS0tIGEvaW5jbHVkZS9saW51eC9mdHJhY2UuaAp8ICsrKyBiL2luY2x1ZGUv bGludXgvZnRyYWNlLmgKfCBAQCAtMzcsOSArMzcsMTAgQEAgZXh0ZXJuIHZvaWQgZnRyYWNlX2Jv b3Rfc25hcHNob3Qodm9pZCk7CnwgIHN0YXRpYyBpbmxpbmUgdm9pZCBmdHJhY2VfYm9vdF9zbmFw c2hvdCh2b2lkKSB7IH0KfCAgI2VuZGlmCnwgIAp8IC0jaWZkZWYgQ09ORklHX0ZVTkNUSU9OX1RS QUNFUgp8ICBzdHJ1Y3QgZnRyYWNlX29wczsKfCAgc3RydWN0IGZ0cmFjZV9yZWdzOwp8ICsKfCAr I2lmZGVmIENPTkZJR19GVU5DVElPTl9UUkFDRVIKfCAgLyoKfCAgICogSWYgdGhlIGFyY2gncyBt Y291bnQgY2FsbGVyIGRvZXMgbm90IHN1cHBvcnQgYWxsIG9mIGZ0cmFjZSdzCnwgICAqIGZlYXR1 cmVzLCB0aGVuIGl0IG11c3QgY2FsbCBhbiBpbmRpcmVjdCBmdW5jdGlvbiB0aGF0CgouLi4gc28g SSd2ZSBkb25lIHRoYXQgbG9jYWxseSBmb3Igbm93LgoKVGhhbmtzLApNYXJrLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ACB38ECAAA1 for ; Mon, 24 Oct 2022 18:50:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232172AbiJXSuV (ORCPT ); Mon, 24 Oct 2022 14:50:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232846AbiJXStw (ORCPT ); Mon, 24 Oct 2022 14:49:52 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 41A94B48AE for ; Mon, 24 Oct 2022 10:30:47 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 91A651516; Mon, 24 Oct 2022 10:05:02 -0700 (PDT) Received: from FVFF77S0Q05N (unknown [10.57.7.186]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 168B13F792; Mon, 24 Oct 2022 10:04:54 -0700 (PDT) Date: Mon, 24 Oct 2022 18:04:49 +0100 From: Mark Rutland To: Steven Rostedt Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, mhiramat@kernel.org, revest@chromium.org, will@kernel.org Subject: Re: [PATCH 1/4] ftrace: pass fregs to arch_ftrace_set_direct_caller() Message-ID: References: <20221024140846.3555435-1-mark.rutland@arm.com> <20221024140846.3555435-2-mark.rutland@arm.com> <20221024104845.3c898d85@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20221024104845.3c898d85@gandalf.local.home> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 24, 2022 at 10:48:45AM -0400, Steven Rostedt wrote: > On Mon, 24 Oct 2022 15:08:43 +0100 > Mark Rutland wrote: > > > --- a/include/linux/ftrace.h > > +++ b/include/linux/ftrace.h > > @@ -429,6 +429,7 @@ static inline int modify_ftrace_direct_multi_nolock(struct ftrace_ops *ops, unsi > > } > > #endif /* CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS */ > > > > +#ifdef CONFIG_FUNCTION_TRACER > > Instead of adding the above preprocessor check, the below chunk should be > moved into the CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS block above. Sure; but note that doing that naively means 'struct ftrace_regs' won't always be declared (e.g. if !CONFIG_FUNCTION_TRACER), and will result in warnings, e.g. | CC arch/x86/kernel/asm-offsets.s | In file included from ./include/linux/kvm_host.h:32, | from arch/x86/kernel/../kvm/vmx/vmx.h:5, | from arch/x86/kernel/asm-offsets.c:22: | ./include/linux/ftrace.h:444:57: error: ‘struct ftrace_regs’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] | 444 | static inline void arch_ftrace_set_direct_caller(struct ftrace_regs *fregs, | | ^~~~~~~~~~~ | cc1: all warnings being treated as errors | make[1]: *** [scripts/Makefile.build:118: arch/x86/kernel/asm-offsets.s] Error 1 | make: *** [Makefile:1270: prepare0] Error 2 ... so I'll either need to add some ifdeffery, for CONFIG_FUNCTION_TRACER, or I can hoist the declaration of 'struct ftrace_regs' to not depend on CONFIG_FUNCTION_TRACER. I guess the latter is preferable, e.g. | diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h | index 2b34fec40a39..f201fcbfffb0 100644 | --- a/include/linux/ftrace.h | +++ b/include/linux/ftrace.h | @@ -37,9 +37,10 @@ extern void ftrace_boot_snapshot(void); | static inline void ftrace_boot_snapshot(void) { } | #endif | | -#ifdef CONFIG_FUNCTION_TRACER | struct ftrace_ops; | struct ftrace_regs; | + | +#ifdef CONFIG_FUNCTION_TRACER | /* | * If the arch's mcount caller does not support all of ftrace's | * features, then it must call an indirect function that ... so I've done that locally for now. Thanks, Mark.