All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	"Frank Ch. Eigler" <fche@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	yrl.pp-manager.tt@hitachi.com
Subject: Re: Re: [RFC PATCH -tip  1/9] ftrace: Add pt_regs acceptable trace callback
Date: Mon, 04 Jun 2012 22:58:01 +0900	[thread overview]
Message-ID: <4FCCBEE9.8030006@hitachi.com> (raw)
In-Reply-To: <1338602877.13348.474.camel@gandalf.stny.rr.com>

(2012/06/02 11:07), Steven Rostedt wrote:
> On Tue, 2012-05-29 at 21:48 +0900, Masami Hiramatsu wrote:
> 
>>  struct ftrace_ops {
>> -	ftrace_func_t			func;
>> +	union {
>> +		ftrace_func_t			func;
>> +		ftrace_regs_func_t		regs_func;
>> +	};
>>  	struct ftrace_ops		*next;
>>  	unsigned long			flags;
>>  	int __percpu			*disabled;
>> @@ -164,6 +182,7 @@ static inline int ftrace_function_local_disabled(struct ftrace_ops *ops)
>>  }
> 
> [..]
> 
>>  
>>  static struct ftrace_ops global_ops = {
>> -	.func			= ftrace_stub,
>> +	.regs_func		= ftrace_regs_stub,
>>  	.notrace_hash		= EMPTY_HASH,
>>  	.filter_hash		= EMPTY_HASH,
>> +	.flags			= FTRACE_OPS_FL_SAVE_REGS,
>>  };
>>  
>>  static DEFINE_MUTEX(ftrace_regex_lock);
>> @@ -3911,7 +3924,8 @@ void __init ftrace_init(void)
>>  #else
>>  
>>  static struct ftrace_ops global_ops = {
>> -	.func			= ftrace_stub,
>> +	.regs_func		= ftrace_regs_stub,
>> +	.flags			= FTRACE_OPS_FL_SAVE_REGS,
>>  };
>>  
> 
> Ug, this wont compile with some versions of gcc :-(
> 
> The one I stumbled on is gcc 4.5.1 (which I test builds against 4.5.1
> and 4.6.0). Then I saw this BZ:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676
> 
> This can't be a union :-(  Then we can not initialize it.

Hmm, how about initializing in __init function ?
Or we can make func and regs_func in different members,
instead of using a union. (in that case, we can remove
FTRACE_OPS_FL_SAVE_REGS.)
I just consider passing uninitialized argument to user
function can cause unexpected behavior...

Thank you,

-- 
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com

  reply	other threads:[~2012-06-04 13:58 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-29 12:48 [RFC PATCH -tip 0/9]ftrace, kprobes: Ftrace-based kprobe optimization Masami Hiramatsu
2012-05-29 12:48 ` [RFC PATCH -tip 1/9] ftrace: Add pt_regs acceptable trace callback Masami Hiramatsu
2012-06-02  2:07   ` Steven Rostedt
2012-06-04 13:58     ` Masami Hiramatsu [this message]
2012-06-04 14:25       ` Steven Rostedt
2012-06-04 14:57         ` Masami Hiramatsu
2012-06-04 15:11           ` Steven Rostedt
2012-05-29 12:49 ` [RFC PATCH -tip 2/9] ftrace/x86-64: support SAVE_REGS feature on x86-64 Masami Hiramatsu
2012-05-29 23:05   ` Steven Rostedt
2012-05-30  6:39     ` Masami Hiramatsu
2012-05-30 11:34       ` Steven Rostedt
2012-05-29 12:49 ` [RFC PATCH -tip 3/9] ftrace/x86: Support SAVE_REGS feature on i386 Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 4/9] ftrace: add ftrace_set_filter_ip() for address based filter Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 5/9] kprobes: Inverse taking of module_mutex with kprobe_mutex Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 6/9] kprobes: cleanup to separate probe-able check Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 7/9] kprobes: Move locks into appropriate functions Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 8/9] kprobes: introduce ftrace based optiomization Masami Hiramatsu
2012-05-30  7:22   ` Ananth N Mavinakayanahalli
2012-05-30  7:56     ` Masami Hiramatsu
2012-05-29 12:49 ` [RFC PATCH -tip 9/9] kprobes/x86: ftrace based optiomization for x86 Masami Hiramatsu
2012-05-29 22:45 ` [RFC PATCH -tip 0/9]ftrace, kprobes: Ftrace-based kprobe optimization Steven Rostedt
2012-05-30  6:59   ` Masami Hiramatsu
2012-05-30 11:39     ` Steven Rostedt
2012-05-31 15:01       ` Masami Hiramatsu
2012-05-31 15:15         ` Steven Rostedt
2012-05-31 15:28           ` Masami Hiramatsu
2012-06-01 13:36           ` Masami Hiramatsu
2012-06-01 14:20             ` Steven Rostedt
2012-06-04 11:45               ` Masami Hiramatsu
2012-06-04 12:07                 ` Steven Rostedt
2012-06-04 12:24                   ` 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=4FCCBEE9.8030006@hitachi.com \
    --to=masami.hiramatsu.pt@hitachi.com \
    --cc=akpm@linux-foundation.org \
    --cc=ananth@in.ibm.com \
    --cc=fche@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=yrl.pp-manager.tt@hitachi.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: 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.