From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@kernel.org>,
linux-arch@vger.kernel.org,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Sandeepa Prabhu <sandeepa.prabhu@linaro.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
x86@kernel.org, lkml <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@redhat.com>,
systemtap@sourceware.org, "David S. Miller" <davem@davemloft.net>
Subject: Re: Re: [PATCH -tip v5.1 12/18] ftrace/kprobes: Use NOKPROBE_SYMBOL macro in ftrace
Date: Thu, 12 Dec 2013 13:13:18 +0900 [thread overview]
Message-ID: <52A937DE.408@hitachi.com> (raw)
In-Reply-To: <20131211203435.43531ca5@gandalf.local.home>
(2013/12/12 10:34), Steven Rostedt wrote:
> On Tue, 10 Dec 2013 09:57:14 +0000
> Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
>
>
>> --- a/kernel/trace/trace_kprobe.c
>> +++ b/kernel/trace/trace_kprobe.c
>> @@ -51,45 +51,45 @@ struct event_file_link {
>> (sizeof(struct probe_arg) * (n)))
>>
>>
>> -static __kprobes bool trace_probe_is_return(struct trace_probe *tp)
>> +static __always_inline bool trace_probe_is_return(struct trace_probe *tp)
>
> I wonder if we should have a comment somewhere explaining why we are
> using __always_inline. Maybe we should add a new annotation:
>
> #define kprobes_inline __always_inline
>
> ?
>
> The above would be self documenting, and we can also include a comment
> with the define that states why it is there. Otherwise 10 years from
> now, someone is going to see these and say "WTF!" and remove them.
Hm, agreed, and I think nokprobe_inline is better since it is
similar to NOKPROBE_SYMBOL(). :)
[...]
>> @@ -755,8 +755,8 @@ static const struct file_operations kprobe_profile_ops = {
>> };
>>
>> /* Sum up total data length for dynamic arraies (strings) */
>> -static __kprobes int __get_data_size(struct trace_probe *tp,
>> - struct pt_regs *regs)
>> +static __always_inline
>> +int __get_data_size(struct trace_probe *tp, struct pt_regs *regs)
>
> This function is used 4 times within the file and is not that small. I
> think it's a bit too big for an inline, and qualifies for a normal
> function with a NOKPROBE_SYMBOL() attached.
OK, I'll do so.
>> @@ -771,9 +771,9 @@ static __kprobes int __get_data_size(struct trace_probe *tp,
>> }
>>
>> /* Store the value of each argument */
>> -static __kprobes void store_trace_args(int ent_size, struct trace_probe *tp,
>> - struct pt_regs *regs,
>> - u8 *data, int maxlen)
>> +static __always_inline
>> +void store_trace_args(int ent_size, struct trace_probe *tp,
>> + struct pt_regs *regs, u8 *data, int maxlen)
>
> Same here (even more so!)
OK.
>> {
>> int i;
>> u32 end = tp->size;
>> @@ -803,7 +803,7 @@ static __kprobes void store_trace_args(int ent_size, struct trace_probe *tp,
>> }
>>
>> /* Kprobe handler */
>> -static __kprobes void
>> +static __always_inline void
>> __kprobe_trace_func(struct trace_probe *tp, struct pt_regs *regs,
>> struct ftrace_event_file *ftrace_file)
>
> OK, this one is big, but it's only used once.
Right, at least in my build binary, it is inlined.
Thank you,
--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
next prev parent reply other threads:[~2013-12-12 4:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 10:47 [PATCH -tip v5 00/18] kprobes: introduce NOKPROBE_SYMBOL(), cleanup and fixes crash bugs Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 01/18] kprobes: Prohibit probing on .entry.text code Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 02/18] kprobes: Introduce NOKPROBE_SYMBOL() macro for blacklist Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 03/18] [BUGFIX] kprobes/x86: Prohibit probing on debug_stack_* Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 04/18] [BUGFIX] x86: Prohibit probing on native_set_debugreg Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 05/18] [BUGFIX] x86: Prohibit probing on thunk functions and restore Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 06/18] kprobes/x86: Call exception handlers directly from do_int3/do_debug Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 07/18] kprobes/x86: Allow probe on some kprobe preparation functions Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 08/18] kprobes: Allow probe on some kprobe functions Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 09/18] ftrace/kprobes: Allow probing on some preparation functions Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 10/18] x86: Use NOKPROBE_SYMBOL() instead of __kprobes annotation Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 11/18] kprobes: Use NOKPROBE_SYMBOL macro instead of __kprobes Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 12/18] ftrace/kprobes: Use NOKPROBE_SYMBOL macro in ftrace Masami Hiramatsu
2013-12-09 17:04 ` Steven Rostedt
2013-12-10 8:54 ` Masami Hiramatsu
2013-12-10 9:57 ` [PATCH -tip v5.1 " Masami Hiramatsu
2013-12-12 1:34 ` Steven Rostedt
2013-12-12 4:13 ` Masami Hiramatsu [this message]
2013-12-09 10:47 ` [PATCH -tip v5 13/18] notifier: Use NOKPROBE_SYMBOL macro in notifier Masami Hiramatsu
2013-12-11 2:58 ` Masami Hiramatsu
2013-12-11 3:04 ` Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 14/18] sched: Use NOKPROBE_SYMBOL macro in sched Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 15/18] kprobes: Show blacklist entries via debugfs Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 16/18] kprobes: Support blacklist functions in module Masami Hiramatsu
2013-12-09 10:47 ` [PATCH -tip v5 17/18] kprobes: Use NOKPROBE_SYMBOL() in sample modules Masami Hiramatsu
2013-12-09 10:48 ` [PATCH -tip v5 18/18] kprobes/x86: Use kprobe_blacklist for .kprobes.text and .entry.text Masami Hiramatsu
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=52A937DE.408@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=ananth@in.ibm.com \
--cc=davem@davemloft.net \
--cc=fweisbec@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=sandeepa.prabhu@linaro.org \
--cc=systemtap@sourceware.org \
--cc=x86@kernel.org \
/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: link
Be 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.