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; > };