Re: [PATCH v5 3.1.0-rc4-tip 8/26] x86: analyze instruction and determine fixups.
From: Masami Hiramatsu <hidden>
Date: 2011-09-23 11:54:19
Also in:
lkml
(2011/09/21 5:53), Stefan Hajnoczi wrote:
On Tue, Sep 20, 2011 at 02:12:25PM -0400, Christoph Hellwig wrote:quoted
On Tue, Sep 20, 2011 at 06:13:10PM +0100, Stefan Hajnoczi wrote:quoted
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@hitachi.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a>