nfsd: Fix a perf warning
authorTrond Myklebust <trondmy@gmail.com>
Tue, 14 Jan 2020 17:00:21 +0000 (12:00 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 6 Feb 2020 16:22:54 +0000 (11:22 -0500)
perf does not know how to deal with a __builtin_bswap32() call, and
complains. All other functions just store the xid etc in host endian
form, so let's do that in the tracepoint for nfsd_file_acquire too.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/trace.h

index ffc78a0..b073bdc 100644 (file)
@@ -228,7 +228,7 @@ TRACE_EVENT(nfsd_file_acquire,
        TP_ARGS(rqstp, hash, inode, may_flags, nf, status),
 
        TP_STRUCT__entry(
-               __field(__be32, xid)
+               __field(u32, xid)
                __field(unsigned int, hash)
                __field(void *, inode)
                __field(unsigned int, may_flags)
@@ -236,11 +236,11 @@ TRACE_EVENT(nfsd_file_acquire,
                __field(unsigned long, nf_flags)
                __field(unsigned char, nf_may)
                __field(struct file *, nf_file)
-               __field(__be32, status)
+               __field(u32, status)
        ),
 
        TP_fast_assign(
-               __entry->xid = rqstp->rq_xid;
+               __entry->xid = be32_to_cpu(rqstp->rq_xid);
                __entry->hash = hash;
                __entry->inode = inode;
                __entry->may_flags = may_flags;
@@ -248,15 +248,15 @@ TRACE_EVENT(nfsd_file_acquire,
                __entry->nf_flags = nf ? nf->nf_flags : 0;
                __entry->nf_may = nf ? nf->nf_may : 0;
                __entry->nf_file = nf ? nf->nf_file : NULL;
-               __entry->status = status;
+               __entry->status = be32_to_cpu(status);
        ),
 
        TP_printk("xid=0x%x hash=0x%x inode=0x%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=0x%p status=%u",
-                       be32_to_cpu(__entry->xid), __entry->hash, __entry->inode,
+                       __entry->xid, __entry->hash, __entry->inode,
                        show_nf_may(__entry->may_flags), __entry->nf_ref,
                        show_nf_flags(__entry->nf_flags),
                        show_nf_may(__entry->nf_may), __entry->nf_file,
-                       be32_to_cpu(__entry->status))
+                       __entry->status)
 );
 
 DECLARE_EVENT_CLASS(nfsd_file_search_class,