svcrdma: trace undersized Write chunks
Clean up: Replace a dprintk call site. This is the last remaining dprintk call site in svc_rdma_rw.c, so remove dprintk infrastructure as well. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
9d20063892
commit
dbc17acd5d
|
@ -1665,6 +1665,38 @@ TRACE_EVENT(svcrdma_page_overrun_err,
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(svcrdma_small_wrch_err,
|
||||||
|
TP_PROTO(
|
||||||
|
const struct svcxprt_rdma *rdma,
|
||||||
|
unsigned int remaining,
|
||||||
|
unsigned int seg_no,
|
||||||
|
unsigned int num_segs
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_ARGS(rdma, remaining, seg_no, num_segs),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(unsigned int, remaining)
|
||||||
|
__field(unsigned int, seg_no)
|
||||||
|
__field(unsigned int, num_segs)
|
||||||
|
__string(device, rdma->sc_cm_id->device->name)
|
||||||
|
__string(addr, rdma->sc_xprt.xpt_remotebuf)
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->remaining = remaining;
|
||||||
|
__entry->seg_no = seg_no;
|
||||||
|
__entry->num_segs = num_segs;
|
||||||
|
__assign_str(device, rdma->sc_cm_id->device->name);
|
||||||
|
__assign_str(addr, rdma->sc_xprt.xpt_remotebuf);
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("addr=%s device=%s remaining=%u seg_no=%u num_segs=%u",
|
||||||
|
__get_str(addr), __get_str(device), __entry->remaining,
|
||||||
|
__entry->seg_no, __entry->num_segs
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
TRACE_EVENT(svcrdma_send_pullup,
|
TRACE_EVENT(svcrdma_send_pullup,
|
||||||
TP_PROTO(
|
TP_PROTO(
|
||||||
unsigned int len
|
unsigned int len
|
||||||
|
|
|
@ -9,13 +9,10 @@
|
||||||
|
|
||||||
#include <linux/sunrpc/rpc_rdma.h>
|
#include <linux/sunrpc/rpc_rdma.h>
|
||||||
#include <linux/sunrpc/svc_rdma.h>
|
#include <linux/sunrpc/svc_rdma.h>
|
||||||
#include <linux/sunrpc/debug.h>
|
|
||||||
|
|
||||||
#include "xprt_rdma.h"
|
#include "xprt_rdma.h"
|
||||||
#include <trace/events/rpcrdma.h>
|
#include <trace/events/rpcrdma.h>
|
||||||
|
|
||||||
#define RPCDBG_FACILITY RPCDBG_SVCXPRT
|
|
||||||
|
|
||||||
static void svc_rdma_write_done(struct ib_cq *cq, struct ib_wc *wc);
|
static void svc_rdma_write_done(struct ib_cq *cq, struct ib_wc *wc);
|
||||||
static void svc_rdma_wc_read_done(struct ib_cq *cq, struct ib_wc *wc);
|
static void svc_rdma_wc_read_done(struct ib_cq *cq, struct ib_wc *wc);
|
||||||
|
|
||||||
|
@ -484,7 +481,7 @@ svc_rdma_build_writes(struct svc_rdma_write_info *info,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_overflow:
|
out_overflow:
|
||||||
dprintk("svcrdma: inadequate space in Write chunk (%u)\n",
|
trace_svcrdma_small_wrch_err(rdma, remaining, info->wi_seg_no,
|
||||||
info->wi_nsegs);
|
info->wi_nsegs);
|
||||||
return -E2BIG;
|
return -E2BIG;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue