Re: [(take 2)patch 0/7] Notify page fault call chain

Keshavamurthy Anil S
2006-04-25T06:04:17Z

On Mon, Apr 24, 2006 at 02:28:24PM -0500, Robin Holt wrote:
> Anil,
>
> This set definitely improves things. My timings from last week must
> have been off. I think I may have still had the notify_die() call in
> the fault path. This week, I see a 35 nSec slowdown between with/without
> KRPOBES. Last week, I thought they were roughly equivalent.
The non-overloaded call chain notification with dynamic registeration/unregistration
is much better than earlier one. But if you still want to improve the 35 nSec
slowdown, then the only other alternative is to eliminate the call chain and
try calling kprobe_exceptions_notify() directly with the kprobe_running() around it.
i.e
static inline int notify_page_fault(enum die_val val, const char *str,
struct pt_regs *regs, long err, int trap, int sig)
{
if(kprobe_running())
{
struct die_args args = {
.regs = regs,
.str = str,
.err = err,
.trapnr = trap,
.signr = sig

return kprobe_exceptions_notify(NULL, &die_args, DIE_PAGE_FAULT);
}
}

Anyone has any other comments/suggestion?

-thanks,
Anil