Re: [PATCH v2 6/7] tracing/user_events: Use bits vs bytes for enabled status page data

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

 



On Mon, 25 Apr 2022 11:46:30 -0700
Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> wrote:

> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
> index 2bcae7abfa81..4afc41e321ac 100644
> --- a/kernel/trace/trace_events_user.c
> +++ b/kernel/trace/trace_events_user.c
> @@ -40,17 +40,26 @@
>   */
>  #define MAX_PAGE_ORDER 0
>  #define MAX_PAGES (1 << MAX_PAGE_ORDER)
> -#define MAX_EVENTS (MAX_PAGES * PAGE_SIZE)
> +#define MAX_BYTES (MAX_PAGES * PAGE_SIZE)
> +#define MAX_EVENTS (MAX_BYTES * 8)
>  
>  /* Limit how long of an event name plus args within the subsystem. */
>  #define MAX_EVENT_DESC 512
>  #define EVENT_NAME(user_event) ((user_event)->tracepoint.name)
>  #define MAX_FIELD_ARRAY_SIZE 1024
>  
> +#define STATUS_BYTE(bit) ((bit) >> 3)
> +#define STATUS_MASK(bit) (1 << ((bit) & 7))
> +
> +/* Internal bits to keep track of connected probes */
> +#define EVENT_STATUS_FTRACE (1 << 0)
> +#define EVENT_STATUS_PERF (1 << 1)
> +#define EVENT_STATUS_OTHER (1 << 7)

Did you mean to shift STATUS_OTHER by 7?

Is EVENT_STATUS_OTHER suppose to be one of the flags within the 3 bits of
the 7 in STATUS_MASK?

-- Steve

> +
>  static char *register_page_data;
>  
>  static DEFINE_MUTEX(reg_mutex);
> -static DEFINE_HASHTABLE(register_table, 4);
> +static DEFINE_HASHTABLE(register_table, 8);
>  static DECLARE_BITMAP(page_bitmap, MAX_EVENTS);
>  
>  /*
> @@ -72,6 +81,7 @@ struct user_event {
>  	int index;
>  	int flags;
>  	int min_size;
> +	char status;
>  };



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux