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

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
...@@ -1989,20 +1989,24 @@ TRACE_EVENT(svc_wake_up, ...@@ -1989,20 +1989,24 @@ TRACE_EVENT(svc_wake_up,
TRACE_EVENT(svc_alloc_arg_err, TRACE_EVENT(svc_alloc_arg_err,
TP_PROTO( TP_PROTO(
unsigned int pages unsigned int requested,
unsigned int allocated
), ),
TP_ARGS(pages), TP_ARGS(requested, allocated),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(unsigned int, pages) __field(unsigned int, requested)
__field(unsigned int, allocated)
), ),
TP_fast_assign( 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, DECLARE_EVENT_CLASS(svc_deferred_event,
......
...@@ -691,7 +691,7 @@ static int svc_alloc_arg(struct svc_rqst *rqstp) ...@@ -691,7 +691,7 @@ static int svc_alloc_arg(struct svc_rqst *rqstp)
set_current_state(TASK_RUNNING); set_current_state(TASK_RUNNING);
return -EINTR; return -EINTR;
} }
trace_svc_alloc_arg_err(pages); trace_svc_alloc_arg_err(pages, ret);
memalloc_retry_wait(GFP_KERNEL); memalloc_retry_wait(GFP_KERNEL);
} }
rqstp->rq_page_end = &rqstp->rq_pages[pages]; rqstp->rq_page_end = &rqstp->rq_pages[pages];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment