public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <hiramatu@sdl.hitachi.co.jp>
To: "bibo,mao" <bibo.mao@intel.com>
Cc: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@intel.com>,
		Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
		SystemTAP <systemtap@sources.redhat.com>,
		Yumiko Sugita <sugita@sdl.hitachi.co.jp>,
		Satoshi Oshima <soshima@redhat.com>,
	Hideo Aoki <haoki@redhat.com>,
		Prasanna S Panchamukhi <prasanna@in.ibm.com>,
		Jim Keniston <jkenisto@us.ibm.com>
Subject: Re: [PATCH]kprobe booster for IA64
Date: Thu, 08 Jun 2006 14:31:00 -0000	[thread overview]
Message-ID: <448834B6.1010002@sdl.hitachi.co.jp> (raw)
In-Reply-To: <44868B03.70108@intel.com>

Hi bibo,

bibo,mao wrote:
> hiramatu san,
> If the probed instruction can cause one fault, there may be some problem.
> Because original instruction is copied into 2nd element of ainsn.insn,
> instruction execution address is different, search_exception_tables result
> will be different also.

Thank you for your good advice.
As far as I can see, the search_exception_tables() checks whether the
page-fault address is expected to cause an exception.
If it is correct, I think the problem can be avoided by disabling
booster if the table contains the target address.
For example;

	if (can_boost(template) && !search_exception_tables(p->addr)) {
		p->ainsn.inst_flag |= INST_FLAG_BOOSTABLE;
	}

What would you think about this idea?

Thanks

> 
> Thanks
> bibo,mao
> 
> Masami Hiramatsu wrote:
>> Hi, Anil and Ananth
>>
>> I ported the kprobe-booster to the IA64 architecture.
>> This patch can be applied against 2.6.17-rc5-mm3.
>> And here is the patch. Could you review it?
>>
>> This patch modifies kprobe as below;
>> - Boost if the target bundle don't use B and X unit.
>> - Introduce INST_FLAG_BOOSTABLE value for ainsn.insn_flag.
>>   If this flag is set, the kprobe is boostable.
>> - Change instruction buffer(ainsn.insn) to an array of
>>   bundles which has three elements. The 2nd element and the
>>   3rd element of this array are used for dynamic execution.
>>
>> And this patch is Lindent clean ;)
>>
>> I measured the overhead of the booster by using
>> the benchmark kernel module attached to this mail.
>>
>> noprobe: 436 machine cycles
>> noboost: 1162 machine cycles
>> boosted: 829 machine cycles
>>
>> CPU spec: Itanium2 1.3GHz (2CPUs)
>>
>>
>>
-- 
Masami HIRAMATSU
2nd Research Dept.
Hitachi, Ltd., Systems Development Laboratory
E-mail: hiramatu@sdl.hitachi.co.jp

  reply	other threads:[~2006-06-08 14:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-06  6:35 Masami Hiramatsu
2006-06-07  8:17 ` bibo,mao
2006-06-08 14:31   ` Masami Hiramatsu [this message]
2006-06-09  3:03     ` bibo,mao
2006-06-15  5:46       ` Masami Hiramatsu
2006-06-27  0:16         ` Masami Hiramatsu
2006-06-29  3:16 ` Keshavamurthy Anil S
2006-07-04 22:56   ` Masami Hiramatsu
2006-07-12  6:22     ` Preemption-safe kprobe-booster(Re: [PATCH]kprobe booster for IA64) Masami Hiramatsu
2006-07-12  8:09       ` Keshavamurthy Anil S
2006-07-13 11:25         ` Masami Hiramatsu
2006-07-14 18:41           ` Keshavamurthy Anil S
2006-07-15  6:20             ` 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=448834B6.1010002@sdl.hitachi.co.jp \
    --to=hiramatu@sdl.hitachi.co.jp \
    --cc=ananth@in.ibm.com \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=bibo.mao@intel.com \
    --cc=haoki@redhat.com \
    --cc=jkenisto@us.ibm.com \
    --cc=prasanna@in.ibm.com \
    --cc=soshima@redhat.com \
    --cc=sugita@sdl.hitachi.co.jp \
    --cc=systemtap@sources.redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).