Jim Keniston <jkeni...@us.ibm.com> writes: > [...] > Years ago, we had pre-utrace versions of uprobes where the uprobes > breakpoint-handler code was dispatched from the die_notifier, before the > int3 turned into a SIGTRAP. I believe that's what Peter is > recommending. On my old Pentium M... > - a pre-utrace uprobe hit cost about 1 usec; > - a utrace-based uprobe hit cost about 3 usec; > [...] > So yeah, learning about the int3 via utrace after the SIGTRAP gets > created adds some overhead to uprobes. [...]
Was this test comparing likewise fruit? For example, did it account for factors where other processes were gdb-int3-instrumented or with lots of kprobes active? Differently multithreaded? Demultiplexing probes amongst multiple processes? (It's counterintuitive that the utrace/kernel int3->sigtrap dispatching code alone should cause thousands of extra instructions.) - FChE