[ Added the user space perf folks ] On Fri, 22 Jul 2022 18:45:30 +0000 Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote: > >> +TRACE_EVENT(xs_data_ready, > >> + TP_PROTO( > >> + const struct rpc_xprt *xprt > >> + ), > >> + > >> + TP_ARGS(xprt), > >> + > >> + TP_STRUCT__entry( > >> + __sockaddr(addr, xprt->addrlen) > >> + ), > >> + > >> + TP_fast_assign( > >> + __assign_sockaddr(addr, &xprt->addr, xprt->addrlen); > >> + ), > >> + > >> + TP_printk("peer=%pISpc", __get_sockaddr(addr)) > > > > NACK. Please resolve and store the string up front instead of storing > > the sockaddr. Most versions of perf can't resolve those kernel-specific > > %p printks and just end up barfing on them. > > Interesting. We added get_sockaddr() to avoid this issue in > trace-cmd. Sounds like perf needs to be fixed up too, or > maybe this is another case of having an old libtraceevent? > > Meanwhile, I can revert this back to the old way of handling > presentation addresses. > Hmm, I thought that perf now uses the external libtraceevent. Perhaps it hasn't been updated to the latest release that has the ability to parse this. Maybe just install git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git ? -- Steve