Trond, I had your old email that I Cc'd this patch to. I updated this in my git repo for your current email (if this is your current email).
-- Steve On Thu, 02 Apr 2015 21:38:17 -0400 Steven Rostedt <rost...@goodmis.org> wrote: > From: "Steven Rostedt (Red Hat)" <rost...@goodmis.org> > > The enums used in the tracepoints for __print_symbolic() have their > names shown in the tracepoint format files. User space tools do not know > how to convert those names into their values to be able to convert the > binary data. > > Use TRACE_DEFINE_ENUM() to export the enum names to their values for > userspace to do the parsing correctly. > > Cc: Trond Myklebust <trond.mykleb...@netapp.com> > Signed-off-by: Steven Rostedt <rost...@goodmis.org> > --- > include/trace/events/sunrpc.h | 62 > ++++++++++++++++++++++++++++++------------- > 1 file changed, 44 insertions(+), 18 deletions(-) > > diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h > index b9c1dc6c825a..fd1a02cb3c82 100644 > --- a/include/trace/events/sunrpc.h > +++ b/include/trace/events/sunrpc.h > @@ -179,27 +179,53 @@ DEFINE_EVENT(rpc_task_queued, rpc_task_wakeup, > > ); > > +/* > + * First define the enums in the below macros to be exported to userspace > + * via TRACE_DEFINE_ENUM(). > + */ > +#undef EM > +#undef EMe > +#define EM(a, b) TRACE_DEFINE_ENUM(a); > +#define EMe(a, b) TRACE_DEFINE_ENUM(a); > + > +#define RPC_SHOW_SOCKET \ > + EM( SS_FREE, "FREE" ) \ > + EM( SS_UNCONNECTED, "UNCONNECTED" ) \ > + EM( SS_CONNECTING, "CONNECTING," ) \ > + EM( SS_CONNECTED, "CONNECTED," ) \ > + EMe(SS_DISCONNECTING, "DISCONNECTING" ) > + > #define rpc_show_socket_state(state) \ > - __print_symbolic(state, \ > - { SS_FREE, "FREE" }, \ > - { SS_UNCONNECTED, "UNCONNECTED" }, \ > - { SS_CONNECTING, "CONNECTING," }, \ > - { SS_CONNECTED, "CONNECTED," }, \ > - { SS_DISCONNECTING, "DISCONNECTING" }) > + __print_symbolic(state, RPC_SHOW_SOCKET) > + > +RPC_SHOW_SOCKET > + > +#define RPC_SHOW_SOCK \ > + EM( TCP_ESTABLISHED, "ESTABLISHED" ) \ > + EM( TCP_SYN_SENT, "SYN_SENT" ) \ > + EM( TCP_SYN_RECV, "SYN_RECV" ) \ > + EM( TCP_FIN_WAIT1, "FIN_WAIT1" ) \ > + EM( TCP_FIN_WAIT2, "FIN_WAIT2" ) \ > + EM( TCP_TIME_WAIT, "TIME_WAIT" ) \ > + EM( TCP_CLOSE, "CLOSE" ) \ > + EM( TCP_CLOSE_WAIT, "CLOSE_WAIT" ) \ > + EM( TCP_LAST_ACK, "LAST_ACK" ) \ > + EM( TCP_LISTEN, "LISTEN" ) \ > + EMe( TCP_CLOSING, "CLOSING" ) > > #define rpc_show_sock_state(state) \ > - __print_symbolic(state, \ > - { TCP_ESTABLISHED, "ESTABLISHED" }, \ > - { TCP_SYN_SENT, "SYN_SENT" }, \ > - { TCP_SYN_RECV, "SYN_RECV" }, \ > - { TCP_FIN_WAIT1, "FIN_WAIT1" }, \ > - { TCP_FIN_WAIT2, "FIN_WAIT2" }, \ > - { TCP_TIME_WAIT, "TIME_WAIT" }, \ > - { TCP_CLOSE, "CLOSE" }, \ > - { TCP_CLOSE_WAIT, "CLOSE_WAIT" }, \ > - { TCP_LAST_ACK, "LAST_ACK" }, \ > - { TCP_LISTEN, "LISTEN" }, \ > - { TCP_CLOSING, "CLOSING" }) > + __print_symbolic(state, RPC_SHOW_SOCK) > + > +RPC_SHOW_SOCK > + > +/* > + * Now redefine the EM() and EMe() macros to map the enums to the strings > + * that will be printed in the output. > + */ > +#undef EM > +#undef EMe > +#define EM(a, b) {a, b}, > +#define EMe(a, b) {a, b} > > DECLARE_EVENT_CLASS(xs_socket_event, > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/