Message ID | 20240521104825.1060966-10-jolsa@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | uprobe: uretprobe speed up | expand |
Hi Jiri, On Tue, May 21, 2024 at 12:48:25PM GMT, Jiri Olsa wrote: > Adding man page for new uretprobe syscall. > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- > man2/uretprobe.2 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 50 insertions(+) > create mode 100644 man2/uretprobe.2 > > diff --git a/man2/uretprobe.2 b/man2/uretprobe.2 > new file mode 100644 > index 000000000000..690fe3b1a44f > --- /dev/null > +++ b/man2/uretprobe.2 > @@ -0,0 +1,50 @@ > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > +.\" > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > +.\" > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > +.SH NAME > +uretprobe \- execute pending return uprobes > +.SH SYNOPSIS > +.nf > +.B int uretprobe(void) > +.fi What header file provides this system call? > +.SH DESCRIPTION > +The > +.BR uretprobe () > +syscall is an alternative to breakpoint instructions for > +triggering return uprobe consumers. > +.P > +Calls to > +.BR uretprobe () > +suscall are only made from the user-space trampoline provided by the kernel. s/suscall/system call/ > +Calls from any other place result in a > +.BR SIGILL . Maybe add an ERRORS section? > + We don't use blank lines; it causes a groff(1) warning, and other problems. Instead, use '.P'. > +.SH RETURN VALUE > +The > +.BR uretprobe () > +syscall return value is architecture-specific. > + .P > +.SH VERSIONS > +This syscall is not specified in POSIX, Redundant with "STANDARDS: None.". > +and details of its behavior vary across systems. Keep this. > +.SH STANDARDS > +None. > +.SH HISTORY > +TBD > +.SH NOTES > +The > +.BR uretprobe () > +syscall was initially introduced for the x86_64 architecture where it was shown > +to be faster than breakpoint traps. It might be extended to other architectures. Please use semantic newlines. $ MANWIDTH=72 man man-pages | sed -n '/Use semantic newlines/,/^$/p' Use semantic newlines In the source of a manual page, new sentences should be started on new lines, long sentences should be split into lines at clause breaks (commas, semicolons, colons, and so on), and long clauses should be split at phrase boundaries. This convention, sometimes known as "semantic newlines", makes it easier to see the effect of patches, which often operate at the level of individual sentences, clauses, or phrases. > +.P > +The > +.BR uretprobe () > +syscall exists only to allow the invocation of return uprobe consumers. s/syscall/system call/ > +It should > +.B never > +be called directly. > +Details of the arguments (if any) passed to > +.BR uretprobe () > +and the return value are architecture-specific. > -- > 2.44.0 Have a lovely day! Alex
On Tue, May 21, 2024 at 01:36:25PM +0200, Alejandro Colomar wrote: > Hi Jiri, > > On Tue, May 21, 2024 at 12:48:25PM GMT, Jiri Olsa wrote: > > Adding man page for new uretprobe syscall. > > > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > > --- > > man2/uretprobe.2 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 50 insertions(+) > > create mode 100644 man2/uretprobe.2 > > > > diff --git a/man2/uretprobe.2 b/man2/uretprobe.2 > > new file mode 100644 > > index 000000000000..690fe3b1a44f > > --- /dev/null > > +++ b/man2/uretprobe.2 > > @@ -0,0 +1,50 @@ > > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > > +.\" > > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > > +.\" > > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > > +.SH NAME > > +uretprobe \- execute pending return uprobes > > +.SH SYNOPSIS > > +.nf > > +.B int uretprobe(void) > > +.fi > > What header file provides this system call? there's no header, it's used/called only by user space trampoline provided by kernel, it's not expected to be called by user > > > +.SH DESCRIPTION > > +The > > +.BR uretprobe () > > +syscall is an alternative to breakpoint instructions for > > +triggering return uprobe consumers. > > +.P > > +Calls to > > +.BR uretprobe () > > +suscall are only made from the user-space trampoline provided by the kernel. > > s/suscall/system call/ ugh leftover sry > > > +Calls from any other place result in a > > +.BR SIGILL . > > Maybe add an ERRORS section? > > > + > > We don't use blank lines; it causes a groff(1) warning, and other > problems. Instead, use '.P'. > > > +.SH RETURN VALUE > > +The > > +.BR uretprobe () > > +syscall return value is architecture-specific. > > + > > .P > > > +.SH VERSIONS > > +This syscall is not specified in POSIX, > > Redundant with "STANDARDS: None.". > > > +and details of its behavior vary across systems. > > Keep this. ok > > > +.SH STANDARDS > > +None. > > +.SH HISTORY > > +TBD > > +.SH NOTES > > +The > > +.BR uretprobe () > > +syscall was initially introduced for the x86_64 architecture where it was shown > > +to be faster than breakpoint traps. It might be extended to other architectures. > > Please use semantic newlines. > > $ MANWIDTH=72 man man-pages | sed -n '/Use semantic newlines/,/^$/p' > Use semantic newlines > In the source of a manual page, new sentences should be started on > new lines, long sentences should be split into lines at clause > breaks (commas, semicolons, colons, and so on), and long clauses > should be split at phrase boundaries. This convention, sometimes > known as "semantic newlines", makes it easier to see the effect of > patches, which often operate at the level of individual sentences, > clauses, or phrases. ok thanks, jirka > > > +.P > > +The > > +.BR uretprobe () > > +syscall exists only to allow the invocation of return uprobe consumers. > > s/syscall/system call/ > > > +It should > > +.B never > > +be called directly. > > +Details of the arguments (if any) passed to > > +.BR uretprobe () > > +and the return value are architecture-specific. > > -- > > 2.44.0 > > Have a lovely day! > Alex > > -- > <https://www.alejandro-colomar.es/>
On Tue, May 21, 2024 at 01:48:59PM +0200, Jiri Olsa wrote: > On Tue, May 21, 2024 at 01:36:25PM +0200, Alejandro Colomar wrote: > > Hi Jiri, > > > > On Tue, May 21, 2024 at 12:48:25PM GMT, Jiri Olsa wrote: > > > Adding man page for new uretprobe syscall. > > > > > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > > > --- > > > man2/uretprobe.2 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 50 insertions(+) > > > create mode 100644 man2/uretprobe.2 > > > > > > diff --git a/man2/uretprobe.2 b/man2/uretprobe.2 > > > new file mode 100644 > > > index 000000000000..690fe3b1a44f > > > --- /dev/null > > > +++ b/man2/uretprobe.2 > > > @@ -0,0 +1,50 @@ > > > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > > > +.\" > > > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > > > +.\" > > > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > > > +.SH NAME > > > +uretprobe \- execute pending return uprobes > > > +.SH SYNOPSIS > > > +.nf > > > +.B int uretprobe(void) > > > +.fi > > > > What header file provides this system call? > > there's no header, it's used/called only by user space trampoline > provided by kernel, it's not expected to be called by user > > > > > > +.SH DESCRIPTION > > > +The > > > +.BR uretprobe () > > > +syscall is an alternative to breakpoint instructions for > > > +triggering return uprobe consumers. > > > +.P > > > +Calls to > > > +.BR uretprobe () > > > +suscall are only made from the user-space trampoline provided by the kernel. > > > > s/suscall/system call/ > > ugh leftover sry > > > > > > +Calls from any other place result in a > > > +.BR SIGILL . > > > > Maybe add an ERRORS section? > > > > > + > > > > We don't use blank lines; it causes a groff(1) warning, and other > > problems. Instead, use '.P'. > > > > > +.SH RETURN VALUE > > > +The > > > +.BR uretprobe () > > > +syscall return value is architecture-specific. > > > + > > > > .P > > > > > +.SH VERSIONS > > > +This syscall is not specified in POSIX, > > > > Redundant with "STANDARDS: None.". > > > > > +and details of its behavior vary across systems. > > > > Keep this. > > ok > > > > > > +.SH STANDARDS > > > +None. > > > +.SH HISTORY > > > +TBD > > > +.SH NOTES > > > +The > > > +.BR uretprobe () > > > +syscall was initially introduced for the x86_64 architecture where it was shown > > > +to be faster than breakpoint traps. It might be extended to other architectures. > > > > Please use semantic newlines. > > > > $ MANWIDTH=72 man man-pages | sed -n '/Use semantic newlines/,/^$/p' > > Use semantic newlines > > In the source of a manual page, new sentences should be started on > > new lines, long sentences should be split into lines at clause > > breaks (commas, semicolons, colons, and so on), and long clauses > > should be split at phrase boundaries. This convention, sometimes > > known as "semantic newlines", makes it easier to see the effect of > > patches, which often operate at the level of individual sentences, > > clauses, or phrases. > how about the change below? thanks, jirka --- diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 new file mode 100644 index 000000000000..959b7a47102b --- /dev/null +++ b/man/man2/uretprobe.2 @@ -0,0 +1,55 @@ +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" +.SH NAME +uretprobe \- execute pending return uprobes +.SH SYNOPSIS +.nf +.B int uretprobe(void) +.fi +.SH DESCRIPTION +The +.BR uretprobe () +system call is an alternative to breakpoint instructions for triggering return +uprobe consumers. +.P +Calls to +.BR uretprobe () +system call are only made from the user-space trampoline provided by the kernel. +Calls from any other place result in a +.BR SIGILL . +.SH RETURN VALUE +The +.BR uretprobe () +system call return value is architecture-specific. +.SH ERRORS +.BR SIGILL +The +.BR uretprobe () +system call was called by user. +.SH VERSIONS +Details of the +.BR uretprobe () +system call behavior vary across systems. +.SH STANDARDS +None. +.SH HISTORY +TBD +.SH NOTES +The +.BR uretprobe () +system call was initially introduced for the x86_64 architecture where it was shown +to be faster than breakpoint traps. +It might be extended to other architectures. +.P +The +.BR uretprobe () +system call exists only to allow the invocation of return uprobe consumers. +It should +.B never +be called directly. +Details of the arguments (if any) passed to +.BR uretprobe () +and the return value are architecture-specific.
Hi Jirka, On Tue, May 21, 2024 at 10:24:30PM GMT, Jiri Olsa wrote: > how about the change below? Much better. I still have a few comments below. :-) > > thanks, > jirka > > > --- > diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 > new file mode 100644 > index 000000000000..959b7a47102b > --- /dev/null > +++ b/man/man2/uretprobe.2 > @@ -0,0 +1,55 @@ > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > +.\" > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > +.\" > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > +.SH NAME > +uretprobe \- execute pending return uprobes > +.SH SYNOPSIS > +.nf > +.B int uretprobe(void) > +.fi > +.SH DESCRIPTION > +The > +.BR uretprobe () > +system call is an alternative to breakpoint instructions for triggering return > +uprobe consumers. > +.P > +Calls to > +.BR uretprobe () > +system call are only made from the user-space trampoline provided by the kernel. > +Calls from any other place result in a > +.BR SIGILL . > +.SH RETURN VALUE > +The > +.BR uretprobe () > +system call return value is architecture-specific. > +.SH ERRORS > +.BR SIGILL This should be a tagged paragraph, preceeded with '.TP'. See any manual page with an ERRORS section for an example. Also, BR is Bold alternating with Roman, but this is just bold, so it should use '.B'. .TP .B SIGILL > +The > +.BR uretprobe () > +system call was called by user. > +.SH VERSIONS > +Details of the > +.BR uretprobe () > +system call behavior vary across systems. > +.SH STANDARDS > +None. > +.SH HISTORY > +TBD > +.SH NOTES > +The > +.BR uretprobe () > +system call was initially introduced for the x86_64 architecture where it was shown We have a strong-ish limit at column 80. Please break after 'architecture', which is a clause boundary. Have a lovely night! Alex > +to be faster than breakpoint traps. > +It might be extended to other architectures. > +.P > +The > +.BR uretprobe () > +system call exists only to allow the invocation of return uprobe consumers. > +It should > +.B never > +be called directly. > +Details of the arguments (if any) passed to > +.BR uretprobe () > +and the return value are architecture-specific. >
On Tue, May 21, 2024 at 10:54:36PM +0200, Alejandro Colomar wrote: > Hi Jirka, > > On Tue, May 21, 2024 at 10:24:30PM GMT, Jiri Olsa wrote: > > how about the change below? > > Much better. I still have a few comments below. :-) > > > > > thanks, > > jirka > > > > > > --- > > diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 > > new file mode 100644 > > index 000000000000..959b7a47102b > > --- /dev/null > > +++ b/man/man2/uretprobe.2 > > @@ -0,0 +1,55 @@ > > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > > +.\" > > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > > +.\" > > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > > +.SH NAME > > +uretprobe \- execute pending return uprobes > > +.SH SYNOPSIS > > +.nf > > +.B int uretprobe(void) > > +.fi > > +.SH DESCRIPTION > > +The > > +.BR uretprobe () > > +system call is an alternative to breakpoint instructions for triggering return > > +uprobe consumers. > > +.P > > +Calls to > > +.BR uretprobe () > > +system call are only made from the user-space trampoline provided by the kernel. > > +Calls from any other place result in a > > +.BR SIGILL . > > +.SH RETURN VALUE > > +The > > +.BR uretprobe () > > +system call return value is architecture-specific. > > +.SH ERRORS > > +.BR SIGILL > > This should be a tagged paragraph, preceeded with '.TP'. See any manual > page with an ERRORS section for an example. > > Also, BR is Bold alternating with Roman, but this is just bold, so it > should use '.B'. > > .TP > .B SIGILL ok > > > +The > > +.BR uretprobe () > > +system call was called by user. > > +.SH VERSIONS > > +Details of the > > +.BR uretprobe () > > +system call behavior vary across systems. > > +.SH STANDARDS > > +None. > > +.SH HISTORY > > +TBD > > +.SH NOTES > > +The > > +.BR uretprobe () > > +system call was initially introduced for the x86_64 architecture where it was shown > > We have a strong-ish limit at column 80. Please break after > 'architecture', which is a clause boundary. > ok, thanks jirka --- diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 new file mode 100644 index 000000000000..5b5f340b59b6 --- /dev/null +++ b/man/man2/uretprobe.2 @@ -0,0 +1,56 @@ +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" +.SH NAME +uretprobe \- execute pending return uprobes +.SH SYNOPSIS +.nf +.B int uretprobe(void) +.fi +.SH DESCRIPTION +The +.BR uretprobe () +system call is an alternative to breakpoint instructions for triggering return +uprobe consumers. +.P +Calls to +.BR uretprobe () +system call are only made from the user-space trampoline provided by the kernel. +Calls from any other place result in a +.BR SIGILL . +.SH RETURN VALUE +The +.BR uretprobe () +system call return value is architecture-specific. +.SH ERRORS +.TP +.B SIGILL +The +.BR uretprobe () +system call was called by user. +.SH VERSIONS +Details of the +.BR uretprobe () +system call behavior vary across systems. +.SH STANDARDS +None. +.SH HISTORY +TBD +.SH NOTES +The +.BR uretprobe () +system call was initially introduced for the x86_64 architecture +where it was shown to be faster than breakpoint traps. +It might be extended to other architectures. +.P +The +.BR uretprobe () +system call exists only to allow the invocation of return uprobe consumers. +It should +.B never +be called directly. +Details of the arguments (if any) passed to +.BR uretprobe () +and the return value are architecture-specific.
Hi Jirka, On Wed, May 22, 2024 at 09:54:58AM GMT, Jiri Olsa wrote: > ok, thanks > > jirka > > > --- > diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 > new file mode 100644 > index 000000000000..5b5f340b59b6 > --- /dev/null > +++ b/man/man2/uretprobe.2 > @@ -0,0 +1,56 @@ > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > +.\" > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > +.\" > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > +.SH NAME > +uretprobe \- execute pending return uprobes > +.SH SYNOPSIS > +.nf > +.B int uretprobe(void) > +.fi > +.SH DESCRIPTION > +The > +.BR uretprobe () > +system call is an alternative to breakpoint instructions for triggering return > +uprobe consumers. > +.P > +Calls to > +.BR uretprobe () > +system call are only made from the user-space trampoline provided by the kernel. > +Calls from any other place result in a > +.BR SIGILL . > +.SH RETURN VALUE > +The > +.BR uretprobe () > +system call return value is architecture-specific. > +.SH ERRORS > +.TP > +.B SIGILL > +The > +.BR uretprobe () > +system call was called by user. Maybe 'a user-space program'? Anyway, LGTM. Thanks! Reviewed-by: Alejandro Colomar <alx@kernel.org> Have a lovely day! Alex > +.SH VERSIONS > +Details of the > +.BR uretprobe () > +system call behavior vary across systems. > +.SH STANDARDS > +None. > +.SH HISTORY > +TBD > +.SH NOTES > +The > +.BR uretprobe () > +system call was initially introduced for the x86_64 architecture > +where it was shown to be faster than breakpoint traps. > +It might be extended to other architectures. > +.P > +The > +.BR uretprobe () > +system call exists only to allow the invocation of return uprobe consumers. > +It should > +.B never > +be called directly. > +Details of the arguments (if any) passed to > +.BR uretprobe () > +and the return value are architecture-specific.
On Wed, May 22, 2024 at 12:59:46PM +0200, Alejandro Colomar wrote: > Hi Jirka, > > On Wed, May 22, 2024 at 09:54:58AM GMT, Jiri Olsa wrote: > > ok, thanks > > > > jirka > > > > > > --- > > diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2 > > new file mode 100644 > > index 000000000000..5b5f340b59b6 > > --- /dev/null > > +++ b/man/man2/uretprobe.2 > > @@ -0,0 +1,56 @@ > > +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> > > +.\" > > +.\" SPDX-License-Identifier: Linux-man-pages-copyleft > > +.\" > > +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" > > +.SH NAME > > +uretprobe \- execute pending return uprobes > > +.SH SYNOPSIS > > +.nf > > +.B int uretprobe(void) > > +.fi > > +.SH DESCRIPTION > > +The > > +.BR uretprobe () > > +system call is an alternative to breakpoint instructions for triggering return > > +uprobe consumers. > > +.P > > +Calls to > > +.BR uretprobe () > > +system call are only made from the user-space trampoline provided by the kernel. > > +Calls from any other place result in a > > +.BR SIGILL . > > +.SH RETURN VALUE > > +The > > +.BR uretprobe () > > +system call return value is architecture-specific. > > +.SH ERRORS > > +.TP > > +.B SIGILL > > +The > > +.BR uretprobe () > > +system call was called by user. > > Maybe 'a user-space program'? > Anyway, LGTM. Thanks! > > Reviewed-by: Alejandro Colomar <alx@kernel.org> ok, will change, thanks a lot jirka > > Have a lovely day! > Alex > > > +.SH VERSIONS > > +Details of the > > +.BR uretprobe () > > +system call behavior vary across systems. > > +.SH STANDARDS > > +None. > > +.SH HISTORY > > +TBD > > +.SH NOTES > > +The > > +.BR uretprobe () > > +system call was initially introduced for the x86_64 architecture > > +where it was shown to be faster than breakpoint traps. > > +It might be extended to other architectures. > > +.P > > +The > > +.BR uretprobe () > > +system call exists only to allow the invocation of return uprobe consumers. > > +It should > > +.B never > > +be called directly. > > +Details of the arguments (if any) passed to > > +.BR uretprobe () > > +and the return value are architecture-specific. > > -- > <https://www.alejandro-colomar.es/>
diff --git a/man2/uretprobe.2 b/man2/uretprobe.2 new file mode 100644 index 000000000000..690fe3b1a44f --- /dev/null +++ b/man2/uretprobe.2 @@ -0,0 +1,50 @@ +.\" Copyright (C) 2024, Jiri Olsa <jolsa@kernel.org> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH uretprobe 2 (date) "Linux man-pages (unreleased)" +.SH NAME +uretprobe \- execute pending return uprobes +.SH SYNOPSIS +.nf +.B int uretprobe(void) +.fi +.SH DESCRIPTION +The +.BR uretprobe () +syscall is an alternative to breakpoint instructions for +triggering return uprobe consumers. +.P +Calls to +.BR uretprobe () +suscall are only made from the user-space trampoline provided by the kernel. +Calls from any other place result in a +.BR SIGILL . + +.SH RETURN VALUE +The +.BR uretprobe () +syscall return value is architecture-specific. + +.SH VERSIONS +This syscall is not specified in POSIX, +and details of its behavior vary across systems. +.SH STANDARDS +None. +.SH HISTORY +TBD +.SH NOTES +The +.BR uretprobe () +syscall was initially introduced for the x86_64 architecture where it was shown +to be faster than breakpoint traps. It might be extended to other architectures. +.P +The +.BR uretprobe () +syscall exists only to allow the invocation of return uprobe consumers. +It should +.B never +be called directly. +Details of the arguments (if any) passed to +.BR uretprobe () +and the return value are architecture-specific.
Adding man page for new uretprobe syscall. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- man2/uretprobe.2 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 man2/uretprobe.2