Commit 28fffa6c authored by Chuck Lever's avatar Chuck Lever
Browse files

SUNRPC: Expand the svc_alloc_arg_err tracepoint



Record not only the number of pages requested, but the number of
pages that were actually allocated, to get a measure of progress
(or lack thereof).

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 184cefbe
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -1989,20 +1989,24 @@ TRACE_EVENT(svc_wake_up,

TRACE_EVENT(svc_alloc_arg_err,
	TP_PROTO(
		unsigned int pages
		unsigned int requested,
		unsigned int allocated
	),

	TP_ARGS(pages),
	TP_ARGS(requested, allocated),

	TP_STRUCT__entry(
		__field(unsigned int, pages)
		__field(unsigned int, requested)
		__field(unsigned int, allocated)
	),

	TP_fast_assign(
		__entry->pages = pages;
		__entry->requested = requested;
		__entry->allocated = allocated;
	),

	TP_printk("pages=%u", __entry->pages)
	TP_printk("requested=%u allocated=%u",
		__entry->requested, __entry->allocated)
);

DECLARE_EVENT_CLASS(svc_deferred_event,
+1 −1
Original line number Diff line number Diff line
@@ -691,7 +691,7 @@ static int svc_alloc_arg(struct svc_rqst *rqstp)
			set_current_state(TASK_RUNNING);
			return -EINTR;
		}
		trace_svc_alloc_arg_err(pages);
		trace_svc_alloc_arg_err(pages, ret);
		memalloc_retry_wait(GFP_KERNEL);
	}
	rqstp->rq_page_end = &rqstp->rq_pages[pages];