From: Mark Rutland <mark.rutland@arm.com> To: Steven Rostedt <rostedt@goodmis.org> Cc: "Wangshaobo (bobo)" <bobo.shaobowang@huawei.com>, cj.chengjian@huawei.com, huawei.libin@huawei.com, xiexiuqi@huawei.com, liwei391@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, will@kernel.org, zengshun.wu@outlook.com Subject: Re: [RFC PATCH -next v2 0/4] arm64/ftrace: support dynamic trampoline Date: Wed, 25 May 2022 18:26:04 +0100 [thread overview] Message-ID: <Yo5mrDnNctKmG2PQ@FVFF77S0Q05N> (raw) In-Reply-To: <20220525095845.53ec8fe0@gandalf.local.home> On Wed, May 25, 2022 at 09:58:45AM -0400, Steven Rostedt wrote: > On Wed, 25 May 2022 13:45:13 +0100 > Mark Rutland <mark.rutland@arm.com> wrote: > > > ... the compiler places 3 NOPs *before* any BTI, and 2 NOPs *after* any BTI, > > still recording the location of the first NOP. So in the two cases we get: > > > > NOP <--- recorded location > > NOP > > NOP > > __func_without_bti: > > NOP > > NOP > > > > NOP <--- recorded location > > NOP > > NOP > > __func_with_bti: > > BTI > > NOP > > NOP > > Are you saying that the above "recorded location" is what we have in > mcount_loc section? Yes; I'm saying that with this series, the compiler would record that into the mcount_loc section. Note that's not necessarily what goes into rec->ip, which we can adjust at initialization time to be within the function. We'd need to record the presence/absence of the BTI somewhere (I guess in dyn_arch_ftrace). > If that's the case, we will need to modify it to point to something that > kallsyms will recognize (ie. sym+0 or greater). Because that will cause > set_ftrace_filter to fail as well. Yup, understood. Like I mentioned it also wrecks the unwinder and would make it really hard to implement RELIABLE_STACKTRACE. Just to be clear, I don't think we should follow this specific approach. I just wrote the examples to clarify what was being proposed. Thanks, Mark.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com> To: Steven Rostedt <rostedt@goodmis.org> Cc: "Wangshaobo (bobo)" <bobo.shaobowang@huawei.com>, cj.chengjian@huawei.com, huawei.libin@huawei.com, xiexiuqi@huawei.com, liwei391@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, will@kernel.org, zengshun.wu@outlook.com Subject: Re: [RFC PATCH -next v2 0/4] arm64/ftrace: support dynamic trampoline Date: Wed, 25 May 2022 18:26:04 +0100 [thread overview] Message-ID: <Yo5mrDnNctKmG2PQ@FVFF77S0Q05N> (raw) In-Reply-To: <20220525095845.53ec8fe0@gandalf.local.home> On Wed, May 25, 2022 at 09:58:45AM -0400, Steven Rostedt wrote: > On Wed, 25 May 2022 13:45:13 +0100 > Mark Rutland <mark.rutland@arm.com> wrote: > > > ... the compiler places 3 NOPs *before* any BTI, and 2 NOPs *after* any BTI, > > still recording the location of the first NOP. So in the two cases we get: > > > > NOP <--- recorded location > > NOP > > NOP > > __func_without_bti: > > NOP > > NOP > > > > NOP <--- recorded location > > NOP > > NOP > > __func_with_bti: > > BTI > > NOP > > NOP > > Are you saying that the above "recorded location" is what we have in > mcount_loc section? Yes; I'm saying that with this series, the compiler would record that into the mcount_loc section. Note that's not necessarily what goes into rec->ip, which we can adjust at initialization time to be within the function. We'd need to record the presence/absence of the BTI somewhere (I guess in dyn_arch_ftrace). > If that's the case, we will need to modify it to point to something that > kallsyms will recognize (ie. sym+0 or greater). Because that will cause > set_ftrace_filter to fail as well. Yup, understood. Like I mentioned it also wrecks the unwinder and would make it really hard to implement RELIABLE_STACKTRACE. Just to be clear, I don't think we should follow this specific approach. I just wrote the examples to clarify what was being proposed. Thanks, Mark. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-05-25 17:26 UTC|newest] Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-16 10:01 [RFC PATCH -next v2 0/4] arm64/ftrace: support dynamic trampoline Wang ShaoBo 2022-03-16 10:01 ` Wang ShaoBo 2022-03-16 10:01 ` [RFC PATCH -next v2 1/4] arm64: introduce aarch64_insn_gen_load_literal Wang ShaoBo 2022-03-16 10:01 ` Wang ShaoBo 2022-03-16 10:01 ` [RFC PATCH -next v2 2/4] arm64/ftrace: introduce ftrace dynamic trampoline entrances Wang ShaoBo 2022-03-16 10:01 ` Wang ShaoBo 2022-03-16 10:01 ` [RFC PATCH -next v2 3/4] arm64/ftrace: support dynamically allocated trampolines Wang ShaoBo 2022-03-16 10:01 ` Wang ShaoBo 2022-04-21 13:10 ` Mark Rutland 2022-04-21 13:10 ` Mark Rutland 2022-04-21 14:06 ` Steven Rostedt 2022-04-21 14:06 ` Steven Rostedt 2022-04-21 14:08 ` Steven Rostedt 2022-04-21 14:08 ` Steven Rostedt 2022-04-21 15:14 ` Mark Rutland 2022-04-21 15:14 ` Mark Rutland 2022-04-21 15:42 ` Steven Rostedt 2022-04-21 15:42 ` Steven Rostedt 2022-04-21 16:27 ` Mark Rutland 2022-04-21 16:27 ` Mark Rutland 2022-04-21 17:06 ` Steven Rostedt 2022-04-21 17:06 ` Steven Rostedt 2022-04-22 10:12 ` Mark Rutland 2022-04-22 10:12 ` Mark Rutland 2022-04-22 15:45 ` Steven Rostedt 2022-04-22 15:45 ` Steven Rostedt 2022-04-22 17:27 ` Mark Rutland 2022-04-22 17:27 ` Mark Rutland 2022-04-26 8:47 ` Masami Hiramatsu 2022-04-26 8:47 ` Masami Hiramatsu 2022-05-04 10:24 ` Mark Rutland 2022-05-04 10:24 ` Mark Rutland 2022-05-05 3:15 ` Masami Hiramatsu 2022-05-05 3:15 ` Masami Hiramatsu 2022-05-09 18:22 ` Steven Rostedt 2022-05-09 18:22 ` Steven Rostedt 2022-05-10 9:10 ` Masami Hiramatsu 2022-05-10 9:10 ` Masami Hiramatsu 2022-05-10 14:44 ` Steven Rostedt 2022-05-10 14:44 ` Steven Rostedt 2022-05-11 14:34 ` Masami Hiramatsu 2022-05-11 14:34 ` Masami Hiramatsu 2022-05-11 15:12 ` Steven Rostedt 2022-05-11 15:12 ` Steven Rostedt 2022-05-12 12:02 ` Masami Hiramatsu 2022-05-12 12:02 ` Masami Hiramatsu 2022-05-12 13:50 ` Steven Rostedt 2022-05-12 13:50 ` Steven Rostedt 2022-05-25 12:17 ` Mark Rutland 2022-05-25 12:17 ` Mark Rutland 2022-05-25 13:43 ` Steven Rostedt 2022-05-25 13:43 ` Steven Rostedt 2022-05-25 17:12 ` Mark Rutland 2022-05-25 17:12 ` Mark Rutland 2022-05-30 1:03 ` Masami Hiramatsu 2022-05-30 1:03 ` Masami Hiramatsu 2022-05-30 12:38 ` Jiri Olsa 2022-05-30 12:38 ` Jiri Olsa 2022-05-31 1:00 ` Masami Hiramatsu 2022-05-31 1:00 ` Masami Hiramatsu 2022-05-04 12:43 ` Mark Rutland 2022-05-04 12:43 ` Mark Rutland 2022-05-05 2:57 ` Wangshaobo (bobo) 2022-05-05 2:57 ` Wangshaobo (bobo) 2022-05-25 12:27 ` Mark Rutland 2022-05-25 12:27 ` Mark Rutland 2022-04-27 8:54 ` Wangshaobo (bobo) 2022-04-27 8:54 ` Wangshaobo (bobo) 2022-03-16 10:01 ` [RFC PATCH -next v2 4/4] arm64/ftrace: implement long jump for dynamic trampolines Wang ShaoBo 2022-03-16 10:01 ` Wang ShaoBo 2022-04-21 13:47 ` Mark Rutland 2022-04-21 13:47 ` Mark Rutland 2022-03-16 14:29 ` [RFC PATCH -next v2 0/4] arm64/ftrace: support dynamic trampoline Steven Rostedt 2022-03-16 14:29 ` Steven Rostedt 2022-04-20 18:11 ` Steven Rostedt 2022-04-20 18:11 ` Steven Rostedt 2022-04-21 1:13 ` Wangshaobo (bobo) 2022-04-21 1:13 ` Wangshaobo (bobo) 2022-04-21 12:37 ` Steven Rostedt 2022-04-21 12:37 ` Steven Rostedt 2022-05-25 12:45 ` Mark Rutland 2022-05-25 12:45 ` Mark Rutland 2022-05-25 13:58 ` Steven Rostedt 2022-05-25 13:58 ` Steven Rostedt 2022-05-25 17:26 ` Mark Rutland [this message] 2022-05-25 17:26 ` Mark Rutland 2022-04-21 12:53 ` Mark Rutland 2022-04-21 12:53 ` Mark Rutland
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=Yo5mrDnNctKmG2PQ@FVFF77S0Q05N \ --to=mark.rutland@arm.com \ --cc=bobo.shaobowang@huawei.com \ --cc=catalin.marinas@arm.com \ --cc=cj.chengjian@huawei.com \ --cc=huawei.libin@huawei.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=liwei391@huawei.com \ --cc=rostedt@goodmis.org \ --cc=will@kernel.org \ --cc=xiexiuqi@huawei.com \ --cc=zengshun.wu@outlook.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.