(2011/09/21 5:53), Stefan Hajnoczi wrote: > On Tue, Sep 20, 2011 at 02:12:25PM -0400, Christoph Hellwig wrote: >> On Tue, Sep 20, 2011 at 06:13:10PM +0100, Stefan Hajnoczi wrote: >>> You've probably thought of this but it would be nice to skip XOL for >>> nops. This would be a common case with static probes (e.g. sdt.h) where >>> the probe template includes a nop where we can easily plant int $0x3. >> >> Do we now have sdt.h support for uprobes? That's one of the killer >> features that always seemed to get postponed. > > Not yet but it's a question of doing roughly what SystemTap does to > parse the appropriate ELF sections and then putting those probes into > uprobes. > > Masami looked at this and found that SystemTap sdt.h currently requires > an extra userspace memory store in order to activate probes. Each probe > has a "semaphore" 16-bit counter which applications may test before > hitting the probe itself. This is used to avoid overhead in > applications that do expensive argument processing (e.g. creating > strings) for probes. Indeed, originally, those semaphores designed for such use cases. However, some applications *always* use it (e.g. qemu-kvm). > > But this should be solvable so it would be possible to use perf-probe(1) > on a std.h-enabled binary. Some distros already ship such binaries! I'm not sure that we should stick on the current implementation of the sdt.h. I think we'd better modify the sdt.h to replace such semaphores with checking whether the tracepoint is changed from nop. Or, we can introduce an add-hoc ptrace code to perftools for modifying those semaphores. However, this means that user always has to use perf to trace applications, and it's hard to trace multiple applications at a time (can we attach all of them?)... Thank you, -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@xxxxxxxxxxx -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>