> That is, I don't think this scheme will work for the various RISC > architectures, given their very limited immediate range turns a typical > call into a multi-instruction trainwreck real quick. > > Now, that isn't a problem if their exceptions and syscalls are of equal > speed. Yep, on arm64 we definitely can't patch in branches reliably; using BRK (as we do today) is the only reliable option, and it *shouldn't* be slower than a syscall. Looking around, we have a different latent issue with uprobes on arm64 in that only certain instructions can be modified while being concurrently executed (in addition to the atomictiy of updating the bytes in memory), and for everything else we need to stop-the-world. We handle that for kprobes but it looks like we don't have any infrastructure to handle that for uprobes. Mark.