[PATCH v2 5/5] tracing/user_events: Add persist flag documentation

Beau Belgrave
2023-06-05T23:39:10Z

There is now a flag for user_events to use when registering events to
have events continue to exist upon the last reference put. Add the new
flag, USER_EVENT_REG_PERSIST, to user_events documentation files to let
people know when to use it.

Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com>
---
Documentation/trace/user_events.rst | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/Documentation/trace/user_events.rst b/Documentation/trace/user_events.rst
index f79987e16cf4..6736e5a32293 100644
--- a/Documentation/trace/user_events.rst
+++ b/Documentation/trace/user_events.rst
@@ -39,6 +39,14 @@ DIAG_IOCSREG.

This command takes a packed struct user_reg as an argument::

+ enum user_reg_flag {
+ /* Event will not delete upon last reference closing */
+ USER_EVENT_REG_PERSIST = 1U << 0,
+
+ /* This value or above is currently non-ABI */
+ USER_EVENT_REG_MAX = 1U << 1,
+ };
+
struct user_reg {
/* Input: Size of the user_reg structure being used */
__u32 size;
@@ -49,7 +57,7 @@ This command takes a packed struct user_reg as an argument::
/* Input: Enable size in bytes at address */
__u8 enable_size;

- /* Input: Flags for future use, set to 0 */
+ /* Input: Flags can be any of the above user_reg_flag values */
__u16 flags;

/* Input: Address to update when enabled */
@@ -73,10 +81,13 @@ The struct user_reg requires all the above inputs to be set appropriately.
This must be 4 (32-bit) or 8 (64-bit). 64-bit values are only allowed to be
used on 64-bit kernels, however, 32-bit can be used on all kernels.

-+ flags: The flags to use, if any. For the initial version this must be 0.
- Callers should first attempt to use flags and retry without flags to ensure
- support for lower versions of the kernel. If a flag is not supported -EINVAL
- is returned.
++ flags: The flags to use, if any. Callers should first attempt to use flags
+ and retry without flags to ensure support for lower versions of the kernel.
+ If a flag is not supported -EINVAL is returned.
+
+ **USER_EVENT_REG_PERSIST**
+ When the last reference is closed for the event, the event will continue
+ to exist until a delete IOCTL is issued by a user.

+ enable_addr: The address of the value to use to reflect event status. This
must be naturally aligned and write accessible within the user program.
--
2.25.1