This is the mail archive of the
systemtap@sources.redhat.com
mailing list for the systemtap project.
Re: [PATCH] djprobe: Low overhead probe method
- From: Maneesh Soni <maneesh at in dot ibm dot com>
- To: Masami Hiramatsu <hiramatu at sdl dot hitachi dot co dot jp>
- Cc: SystemTAP <systemtap at sources dot redhat dot com>, sugita at sdl dot hitachi dot co dot jp, Satoshi Oshima <soshima at redhat dot com>, aoki at sdl dot hitachi dot co dot jp, lkst-develop at lists dot sourceforge dot net
- Date: Thu, 14 Jul 2005 13:48:45 +0530
- Subject: Re: [PATCH] djprobe: Low overhead probe method
- References: <42D550F8.6030509@sdl.hitachi.co.jp>
- Reply-to: maneesh at in dot ibm dot com
On Thu, Jul 14, 2005 at 02:35:52AM +0900, Masami Hiramatsu wrote:
> Hello, all
>
> It has been months since I last wrote in this mailing list.
> Today, I'm pleased to announce releasing a new light weight probe
> program and a new version of Linux Kernel State Tracer (LKSTv2.3).
>
> This light weight probe is called "djprobe (direct jump probe)".
> Currently, it works on i386 architecture. This probe uses 'jmp' opcode
> instead of 'int3' to reduce overhead. In addition, it does not use any
> locks when it works, so it does not lock other processors.
> I attached a patch of djprobe for linux-2.6.13-rc2-mm3 in this mail.
>
> The djprobe's overhead is far smaller than kprobes' one. I already
> evaluated the overheads of djprobe and other probes in several
> situations. The report of the results is published at following URL:
>
> http://lkst.sourceforge.net/docs/probes-eval-report.pdf
>
> The results indicated that the djprobe is 10 times or more as fast as
> kprobe and jprobe. The djprobe works at roughly 100 nano-seconds or less
> (it depends on the processor on which djprobe works).
>
> You can download the full source package of djprobe (this includes
> documents, patches for 2.6.12 and for 2.6.13-rc2-mm3, examples,
> benchmark program, and kernel module version of djprobe) and LKST from
> following LKST project page:
>
> LKST project page: http://sourceforge.net/projects/lkst/
>
> I hope to make djprobe a member of kprobes family. In my honest opinion,
> djprobe is the best probe method in the view of performance. What would
> you think about this?
>
> And I have a plan that I use this light weight probe when I port LKST on
> the SystemTAP. Because, the LKST that will be working anytime should
> make an impact to system's performance as small as possible.
> If you have any comments, please let me know.
>
>
> By the way, I will attend the OLS2005 and join the SystemTAP's BOF. If I
> have a chance, I would like to introduce the LKST and the djprobe in the
> BOF.
>
> Best regards,
>
> --
> Masami HIRAMATSU
> 2nd Research Dept.
> Hitachi, Ltd., Systems Development Laboratory
> E-mail: hiramatu@sdl.hitachi.co.jp
>
> ---
>
> arch/i386/Kconfig.debug | 8 ++
> arch/i386/kernel/Makefile | 1
> arch/i386/kernel/kprobes.c | 138
> ++++++++++++++++++++++++++++++++++++++++
> arch/i386/kernel/stub_djprobe.S | 78 ++++++++++++++++++++++
> include/asm-i386/kprobes.h | 25 +++++++
> include/linux/kprobes.h | 52 +++++++++++++++
> kernel/kprobes.c | 126 ++++++++++++++++++++++++++++++++++++
> 7 files changed, 428 insertions(+)
>
> diff -Narup linux-2.6.13-rc2-mm3/arch/i386/Kconfig.debug
> linux-2.6.13-rc2-mm3djp/arch/i386/Kconfig.debug
> --- linux-2.6.13-rc2-mm3/arch/i386/Kconfig.debug 2005-07-12
> 23:37:27.000000000 +0900
Is this patch against 2.6.13-rc2-mm3? I could not find 2.6.13-rc2-mm3 patch
itself. The latest mm as in Andrew's site is 2.6.13-rc2-mm2 and I get
rejects if I apply djprobes patch to 2.6.13-rc2-mm2 sources.
Thanks
Maneesh
--
Maneesh Soni
Linux Technology Center,
IBM India Software Labs,
Bangalore, India
email: maneesh@in.ibm.com
Phone: 91-80-25044990