Djprobe provides the non-locking and ultra-light probe function. It uses the relative `jmp` opcode instead of `int3` break opcode. It can reduce overheads of probing by the interruption, single-stepping and locking.
The basic idea of Djprobe is to dynamically hook at any kernel function entry points and collect the debugging or performance analysis information non-disruptively.
The functionality of djprobe is very similar to Kprobe or Jprobe. The distinction of djprobe is to use jump instruction instead of break point instruction. This distinction reduces the overhead of each probe.
Here are some key features of "Djprobe":
· Djprobe can probe entries of almost all functions without any interruption.
· linux kernel 2.6.22
1) Download linux-2.6.22.tar.bz2
2) Prepare kernel source code.
$ tar xjf linux-2.6.22.tar.bz2
3) Patch the patchset to the kernel source by using quilt.
$ cp -r $(SOMEWHERE_DJPROBE)/patches linux-2.6.22/
$ cd linux-2.6.22/
$ quilt push -a
4) Ensure CONFIG_KPROBES is set to "y" while configuring
the kernel using make menuconfig/xconfig/oldconfig.
5) Build and install the new kernel.
What's New in This Release:
· Update against new patchset.
· Add rubytap script.