All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Beau Belgrave <beaub@linux.microsoft.com>,
	rostedt@goodmis.org, mhiramat@kernel.org,
	dcook@linux.microsoft.com, alanau@linux.microsoft.com,
	brauner@kernel.org, akpm@linux-foundation.org
Cc: linux-trace-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 01/11] tracing/user_events: Split header into uapi and kernel
Date: Mon, 5 Dec 2022 16:13:28 -0500	[thread overview]
Message-ID: <27f02c53-e837-67a1-fb59-570f2780fde0@efficios.com> (raw)
In-Reply-To: <20221205210017.23440-2-beaub@linux.microsoft.com>

On 2022-12-05 16:00, Beau Belgrave wrote:
> The UAPI parts need to be split out from the kernel parts of user_events
> now that other parts of the kernel will reference it. Do so by moving
> the existing include/linux/user_events.h into
> include/uapi/linux/user_events.h.
> 
> Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com>
> ---
>   include/linux/user_events.h      | 52 +++++---------------------------
>   include/uapi/linux/user_events.h | 48 +++++++++++++++++++++++++++++
>   kernel/trace/trace_events_user.c |  5 ---
>   3 files changed, 56 insertions(+), 49 deletions(-)
>   create mode 100644 include/uapi/linux/user_events.h
> 
> diff --git a/include/linux/user_events.h b/include/linux/user_events.h
> index 592a3fbed98e..036b360f3d97 100644
> --- a/include/linux/user_events.h
> +++ b/include/linux/user_events.h
> @@ -1,54 +1,18 @@
> -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>   /*
> - * Copyright (c) 2021, Microsoft Corporation.
> + * Copyright (c) 2022, Microsoft Corporation.
>    *
>    * Authors:
>    *   Beau Belgrave <beaub@linux.microsoft.com>
>    */
> -#ifndef _UAPI_LINUX_USER_EVENTS_H
> -#define _UAPI_LINUX_USER_EVENTS_H
>   
> -#include <linux/types.h>
> -#include <linux/ioctl.h>
> +#ifndef _LINUX_USER_EVENTS_H
> +#define _LINUX_USER_EVENTS_H
>   
> -#ifdef __KERNEL__
> -#include <linux/uio.h>
> +#include <uapi/linux/user_events.h>
> +
> +#ifdef CONFIG_USER_EVENTS
>   #else
> -#include <sys/uio.h>
>   #endif

Not sure why this is left here ?

#ifdef CONFIG_USER_EVENTS
#else
#endif

It seems useless at this stage. Perhaps it's meant to show up in a 
following patch ?

[...]

> -
> -#endif /* _UAPI_LINUX_USER_EVENTS_H */
> +#endif /* _LINUX_USER_EVENTS_H */
> diff --git a/include/uapi/linux/user_events.h b/include/uapi/linux/user_events.h
> new file mode 100644
> index 000000000000..7700759a7cd9
> --- /dev/null
> +++ b/include/uapi/linux/user_events.h
> @@ -0,0 +1,48 @@
> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +/*
> + * Copyright (c) 2021-2022, Microsoft Corporation.
> + *
> + * Authors:
> + *   Beau Belgrave <beaub@linux.microsoft.com>
> + */
> +#ifndef _UAPI_LINUX_USER_EVENTS_H
> +#define _UAPI_LINUX_USER_EVENTS_H
> +
> +#include <linux/types.h>
> +#include <linux/ioctl.h>
> +
> +#define USER_EVENTS_SYSTEM "user_events"
> +#define USER_EVENTS_PREFIX "u:"
> +
> +/* Create dynamic location entry within a 32-bit value */
> +#define DYN_LOC(offset, size) ((size) << 16 | (offset))
> +
> +/*
> + * Describes an event registration and stores the results of the registration.
> + * This structure is passed to the DIAG_IOCSREG ioctl, callers at a minimum
> + * must set the size and name_args before invocation.
> + */
> +struct user_reg {
> +
> +	/* Input: Size of the user_reg structure being used */
> +	__u32 size;
> +
> +	/* Input: Pointer to string with event name, description and flags */
> +	__u64 name_args;
> +
> +	/* Output: Bitwise index of the event within the status page */
> +	__u32 status_bit;
> +
> +	/* Output: Index of the event to use when writing data */
> +	__u32 write_index;
> +} __attribute__((__packed__));
> +
> +#define DIAG_IOC_MAGIC '*'
> +
> +/* Requests to register a user_event */
> +#define DIAG_IOCSREG _IOWR(DIAG_IOC_MAGIC, 0, struct user_reg*)

Coding style: "struct user_reg *" (space before '*').

> +
> +/* Requests to delete a user_event */
> +#define DIAG_IOCSDEL _IOW(DIAG_IOC_MAGIC, 1, char*)

Coding style: space before '*'.

I notice the use of plural for "Requests". Are those batched requests, 
or a single request ?

Thanks,

Mathieu

> +
> +#endif /* _UAPI_LINUX_USER_EVENTS_H */
> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
> index ae78c2d53c8a..890357b48c37 100644
> --- a/kernel/trace/trace_events_user.c
> +++ b/kernel/trace/trace_events_user.c
> @@ -19,12 +19,7 @@
>   #include <linux/tracefs.h>
>   #include <linux/types.h>
>   #include <linux/uaccess.h>
> -/* Reminder to move to uapi when everything works */
> -#ifdef CONFIG_COMPILE_TEST
>   #include <linux/user_events.h>
> -#else
> -#include <uapi/linux/user_events.h>
> -#endif
>   #include "trace.h"
>   #include "trace_dynevent.h"
>   

-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com


  reply	other threads:[~2022-12-05 21:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-05 21:00 [PATCH v5 00/11] tracing/user_events: Remote write ABI Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 01/11] tracing/user_events: Split header into uapi and kernel Beau Belgrave
2022-12-05 21:13   ` Mathieu Desnoyers [this message]
2022-12-05 22:30     ` Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 02/11] tracing/user_events: Track fork/exec/exit for mm lifetime Beau Belgrave
2022-12-05 21:17   ` Mathieu Desnoyers
2022-12-05 21:00 ` [PATCH v5 03/11] tracing/user_events: Use remote writes for event enablement Beau Belgrave
2022-12-05 21:28   ` Mathieu Desnoyers
2022-12-05 22:26     ` Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 04/11] tracing/user_events: Fixup enable faults asyncly Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 05/11] tracing/user_events: Add ioctl for disabling addresses Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 06/11] tracing/user_events: Update self-tests to write ABI Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 07/11] tracing/user_events: Add ABI self-test Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 08/11] tracing/user_events: Use write ABI in example Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 09/11] tracing/user_events: Update documentation for ABI Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 10/11] tracing/user_events: Charge event allocs to cgroups Beau Belgrave
2022-12-05 21:00 ` [PATCH v5 11/11] tracing/user_events: Limit global user_event count Beau Belgrave
2022-12-05 21:33   ` Mathieu Desnoyers
2022-12-05 22:28     ` Beau Belgrave

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27f02c53-e837-67a1-fb59-570f2780fde0@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=akpm@linux-foundation.org \
    --cc=alanau@linux.microsoft.com \
    --cc=beaub@linux.microsoft.com \
    --cc=brauner@kernel.org \
    --cc=dcook@linux.microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.