Skip to content

Kernel API wishlist

Chris Jones edited this page Feb 27, 2014 · 11 revisions

List of linux kernel work that would help rr.

In-kernel buffering of syscall outparam data

Syscallbuf+vsyscall hooking works OK in practice, but the kernel can do so much better, so much more easily. Essentially it "just" has to record copy_to_user() within syscall handlers, plus a bit of metadata. Perhaps could be exposed through perf_event.

Trapping on CPUID, like the RDTSC traps

Modern Intel chips can do this.

Expose Branch Trace Store to userspace

Probably through perf_event. There was a previous attempt to do this, but I think it fizzled out.

Efficient way for ptrace tracers to wait on a tracee's private futex

rr wants to use this for efficiently waiting on CLONE_CLEAR_CHILDTID futexes.

Bugfix: pwrite64/pread64 modify registers in a way visible to userspace

Counter to the syscall ABI. Bug that we shouldn't let slip through the cracks.

Clone this wiki locally