Message ID | 20171115172339.1791161-1-songliubraving@fb.com |
---|---|
Headers | show |
Series | enable creating [k,u]probe with perf_event_open | expand |
On Wed, Nov 15, 2017 at 09:23:31AM -0800, Song Liu wrote: > Changes RFC v2 to PATCH v1: > Check type PERF_TYPE_PROBE in perf_event_set_filter(). > Rebase on to tip perf/core. > > Changes RFC v1 to RFC v2: > Fix build issue reported by kbuild test bot by adding ifdef of > CONFIG_KPROBE_EVENTS, and CONFIG_UPROBE_EVENTS. > > RFC v1 cover letter: > > This is to follow up the discussion over "new kprobe api" at Linux > Plumbers 2017: > > With current kernel, user space tools can only create/destroy [k,u]probes > with a text-based API (kprobe_events and uprobe_events in tracefs). This > approach relies on user space to clean up the [k,u]probe after using them. > However, this is not easy for user space to clean up properly. > > To solve this problem, we introduce a file descriptor based API. > Specifically, we extended perf_event_open to create [k,u]probe, and attach > this [k,u]probe to the file descriptor created by perf_event_open. These > [k,u]probe are associated with this file descriptor, so they are not > available in tracefs. Peter, Ingo, could you please review the proposed perf_event_open api extension?
Just curious: why do you want to overload a multiplexer syscall even more instead of adding explicit syscalls?
On Thu, Nov 23, 2017 at 01:02:00AM -0800, Christoph Hellwig wrote: > Just curious: why do you want to overload a multiplexer syscall even > more instead of adding explicit syscalls? Mostly because perf provides much of what they already want; fd-based lifetime and bpf integration.