Re: [PATCH v2] perf_event_open.2: add type kprobe and uprobe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Jan 9, 2018, at 3:31 PM, Michael Kerrisk (man-pages) <mtk.manpages@xxxxxxxxx> wrote:
> 
> On 01/09/2018 08:39 PM, Song Liu wrote:
>> Two new types kprobe and uprobe are being added to perf_event_open,
>> which allow creating kprobe or uprobe with perf_event_open. This
>> patch adds information about these types.
> 
> Hello Song Liu,
> 
> Thank you for the quick revision. I've merged this patch into
> a local branch, and made a few trivial edits. If the change is
> merged in 4.16, I'll merge the man-pages changes. Would
> you be so kind as to remind me when the patch is merged in 4.16.
> 
> Thanks,
> 
> Michael

Thanks Michael!

I will definitely  send reminder when the kernel patches get merged. 

Best,
Song

> 
>> 
>> Signed-off-by: Song Liu <songliubraving@xxxxxx>
>> ---
>> man2/perf_event_open.2 | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 51 insertions(+)
>> 
>> diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
>> index c91da3f..b5f2596 100644
>> --- a/man2/perf_event_open.2
>> +++ b/man2/perf_event_open.2
>> @@ -256,11 +256,15 @@ struct perf_event_attr {
>> 
>>     union {
>>         __u64 bp_addr;          /* breakpoint address */
>> +        __u64 kprobe_func;      /* for perf_kprobe */
>> +        __u64 uprobe_path;      /* for perf_uprobe */
>>         __u64 config1;          /* extension of config */
>>     };
>> 
>>     union {
>>         __u64 bp_len;           /* breakpoint length */
>> +        __u64 kprobe_addr;      /* with kprobe_func == NULL */
>> +        __u64 probe_offset;     /* for perf_[k,u]probe */
>>         __u64 config2;          /* extension of config1 */
>>     };
>>     __u64 branch_sample_type;   /* enum perf_branch_sample_type */
>> @@ -336,6 +340,14 @@ field.
>> For instance,
>> .I /sys/bus/event_source/devices/cpu/type
>> contains the value for the core CPU PMU, which is usually 4.
>> +.TP
>> +.BR kprobe " and " uprobe " (since Linux 4.16)"
>> +These two dynamic PMUs create a kprobe/uprobe and attach it to the
>> +file descriptor generated by perf_event_open. The kprobe/uprobe
>> +will be destroyed on the destruction of the file descriptor.
>> +See fields
>> +.IR kprobe_func ", " uprobe_path ", " kprobe_addr ", and " probe_offset
>> +for more details.
>> .RE
>> .TP
>> .I "size"
>> @@ -627,6 +639,45 @@ then leave
>> .I config
>> set to zero.
>> Its parameters are set in other places.
>> +.PP
>> +If
>> +.I type
>> +is
>> +.BR kprobe
>> +or
>> +.BR uprobe ,
>> +set
>> +.IR retprobe
>> +(bit 0 of
>> +.IR config ,
>> +see /sys/bus/event_source/devices/[k,u]probe/format/retprobe)
>> +for kretprobe/uretprobe. See fields
>> +.IR kprobe_func ", " uprobe_path ", " kprobe_addr ", and " probe_offset
>> +for more details.
>> +.RE
>> +.TP
>> +.IR kprobe_func ", " uprobe_path ", " kprobe_addr ", and " probe_offset
>> +.EE
>> +These fields describes the kprobe/uprobe for dynamic PMU
>> +.BR kprobe
>> +and
>> +.BR uprobe .
>> +For
>> +.BR kprobe ": "
>> +use
>> +.I kprobe_func
>> +and
>> +.IR probe_offset ,
>> +or use
>> +.I kprobe_addr
>> +and leave
>> +.I kprobe_func
>> +as NULL. For
>> +.BR uprobe ": "
>> +use
>> +.I uprobe_path
>> +and
>> +.IR probe_offset .
>> .RE
>> .TP
>> .IR sample_period ", " sample_freq
>> 
> 
> 
> -- 
> Michael Kerrisk
> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
> Linux/UNIX System Programming Training: https://urldefense.proofpoint.com/v2/url?u=http-3A__man7.org_training_&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=dR8692q0_uaizy0jkrBJQM5k2hfm4CiFxYT8KaysFrg&m=-QUclEjc2UtlNesnYHjWUeEPT5j6l14tJ6oxqre3KOg&s=y2SbV6TEeVSyhAfscexcyKtxB0not7EOezM0CNZeVVY&e=

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux