Prasanna S Panchamukhi wrote: >On Wed, Nov 09, 2005 at 09:52:40AM -0800, Zachary Amsden wrote: > > >>Ingo Molnar wrote: >> >> >> >>>* Zachary Amsden <zach@xxxxxxxxxx> wrote: >>> >>> >>> >>> >>> >>>>>I believe user space kprobes are being worked on by some IBM India folks >>>>>yes. >>>>> >>>>> >>>>> >>>>> >>>>I'm convinced this is pointless. What does it buy you over a ptrace >>>>based debugger? Why would you want extra code running in the kernel >>>>that can be done perfectly well in userspace? >>>> >>>> >>>> >>>> >>>kprobes are not just for 'debuggers', they are also used for tracing and >>>other dynamic instrumentation in projects like systemtap. Ptrace is way >>>too slow and limited for things like that. >>> >>> >>> >>> >>Well, if there is a justification for it, that means we really should >>handle all the nasty EIP conversion cases due to segmentation and v8086 >>mode in the kprobes code. I was hoping that might not be the case. >> >> >> > >As Ingo mentioned above, Systemtap uses kprobes infrastructure to provide >dynamic kernel instrumentation. Using which user can add lots of probes >easily, so we need to take care of this fast path. > >Instead of calling convert_eip_to_linear() for all cases, you can >just check if it is in kernel mode and calculate the address directly > > if (kernel mode) > addr = regs->eip - sizeof(kprobe_opcode_t); > else > addr = convert_eip_to_linear(..); > >there by avoiding call to convert_eip_to_linear () for every kernel probes. > >As Andi mentioned user space probes support is in progress and >this address conversion will help in case of user space probes as well. > I like this better. I have to rework that patch anyways, since it no longer applies cleanly. Zach