Re: linux-next: add utrace tree

Hi -

oleg wrote:

I'm personally very dubious that there are any merits to utrace that
outweigh the very clear disadvantages: just another layer that adds a new
level of abstraction to the only interface that people actually _use_,
namely ptrace.

Of course they can't use other interfaces, we don't have them. And
without the new abstraction layer we will never have, I think.

This is one of the reasons we built, up on request of lkml people, the
utrace-gdbstub prototype ( It
presents a standard userspace debugging interface -- actually, more
standard than ptrace! It has the potential to be more powerful
feature-wise and perhaps even perform faster than ptrace. And yet
that RFC didn't receive any on-topic review, only wishes for
unspecified blue-sky integration with kernel debugging.

So then there's uprobes, which is another potential utrace "killer
app", if it weren't so tainted by some peoples' disdain for its
current user, when other users are already being seriously discussed.
So a working prototype, which demonstrates both the utility of utrace
itself and the end-user value of user-space probing, is disregarded.

And there are several smaller utrace clients in the works, each of
them merge candidates in the future. Yes, most of them may be
rewritten with special-purpose hook after hook as people reinvent the
utrace wheel piece by piece, but how long will that take? How is the
opportunity cost of missing features valued?

Finally, I don't know how to address the logic of "if a feature
requires utrace, that's a bad argument for utrace" and at the same
time "you need to show a killer app for utrace". What could possibly
satisfy both of those constraints? Please advise.

- FChE
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at

Relevant Pages

  • Re: linux-next: add utrace tree
    ... have a common VFS interface because we want to show _one_ interface to ... Everybody agrees that ptrace() is horrible and a royal pain to use, ... I believe that "utrace" is the kernel side of that API. ... If utrace was a 'better ptrace' syscall, where the syscall itself is the goal ...
  • Re: HW breakpoints perf_events request
    ... But I rather hope we can extend ptrace interface to handle such new ... having a more scalable breakpoint interface ... Yes, it uses utrace, but that's an implementation detail. ...
  • [patch 0/1] x86, ptrace: execution trace support
    ... Execution trace support for application debugging. ... The following patch establishes the user interface and the low-level ... The user interface uses ptrace to expose the feature to application ... interface for utrace. ...
  • Re: [PATCH 2/3] utrace core
    ... implementing user thread tracing and debugging. ... utrace and ptrace do not play together at all. ... The "prototype utrace-ftrace interface" seems to be more a cool toy rather ...
  • arm utrace
    ... the utrace way to do this is to add another regset ... Your PTRACE_SET_SYSCALL support would use this. ... it can continue to be supported via the ptrace compatibility. ... What you need is temporary breakpoint insertion, ...