Re: [PATCH] io_uring: Add to traces the req pointer when available

Olivier Langlois
2021-05-26T16:18:41Z

On Wed, 2021-05-26 at 14:38 +0200, Stefan Metzmacher wrote:
> Hi,
>
> > > @@ -333,13 +333,14 @@ TRACE_EVENT(io_uring_complete,
> > >   */
> > >  TRACE_EVENT(io_uring_submit_sqe,
> > >
> > > -       TP_PROTO(void *ctx, u8 opcode, u64 user_data, bool
> > > force_nonblock,
> > > -                bool sq_thread),
> > > +       TP_PROTO(void *ctx, void *req, u8 opcode, u64 user_data,
> > > +                bool force_nonblock, bool sq_thread),
> > >
> > > -       TP_ARGS(ctx, opcode, user_data, force_nonblock,
> > > sq_thread),
> > > +       TP_ARGS(ctx, req, opcode, user_data, force_nonblock,
> > > sq_thread),
> > >
> > >         TP_STRUCT__entry (
> > >                 __field(  void *,       ctx             )
> > > +               __field(  void *,       req             )
> > >                 __field(  u8,           opcode          )
> > >                 __field(  u64,          user_data       )
> > >                 __field(  bool,         force_nonblock  )
> > > @@ -348,26 +349,42 @@ TRACE_EVENT(io_uring_submit_sqe,
> > >
> > >         TP_fast_assign(
> > >                 __entry->ctx            = ctx;
> > > +               __entry->req            = req;
> > >                 __entry->opcode         = opcode;
> > >                 __entry->user_data      = user_data;
> > >                 __entry->force_nonblock = force_nonblock;
> > >                 __entry->sq_thread      = sq_thread;
> > >         ),
> > >
> > > -       TP_printk("ring %p, op %d, data 0x%llx, non block %d,
> > > sq_thread %d",
> > > -                         __entry->ctx, __entry->opcode,
> > > -                         (unsigned long long) __entry-
> > > >user_data,
> > > -                         __entry->force_nonblock, __entry-
> > > >sq_thread)
> > > +       TP_printk("ring %p, req %p, op %d, data 0x%llx, non block
> > > %d, "
> > > +                 "sq_thread %d",  __entry->ctx, __entry->req,
> > > +                 __entry->opcode, (unsigned long long)__entry-
> > > >user_data,
> > > +                 __entry->force_nonblock, __entry->sq_thread)
> > >  );
>
> If that gets changed, could be also include the personality id and
> flags here,
> and maybe also translated the opcode and flags to human readable
> strings?
>
If Jens and Pavel agrees that they would like to see this info in the
traces, I have no objection adding it.

Still waiting input from Steven Rostedt which I believe is the trace
system maintainer concerning the hash-ptr situation.

I did receive an auto-respond from him saying that he was in vacation
until May 28th...

Greetings,