rxrpc: Show a call's hard-ACK cursors in /proc/net/rxrpc_calls
Show a call's hard-ACK cursors in /proc/net/rxrpc_calls so that a call's progress can be more easily monitored. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
b1d9f7fde0
commit
3e018daf04
|
@ -52,6 +52,7 @@ static int rxrpc_call_seq_show(struct seq_file *seq, void *v)
|
||||||
struct rxrpc_sock *rx;
|
struct rxrpc_sock *rx;
|
||||||
struct rxrpc_peer *peer;
|
struct rxrpc_peer *peer;
|
||||||
struct rxrpc_call *call;
|
struct rxrpc_call *call;
|
||||||
|
rxrpc_seq_t tx_hard_ack, rx_hard_ack;
|
||||||
char lbuff[50], rbuff[50];
|
char lbuff[50], rbuff[50];
|
||||||
|
|
||||||
if (v == &rxrpc_calls) {
|
if (v == &rxrpc_calls) {
|
||||||
|
@ -82,9 +83,11 @@ static int rxrpc_call_seq_show(struct seq_file *seq, void *v)
|
||||||
else
|
else
|
||||||
strcpy(rbuff, "no_connection");
|
strcpy(rbuff, "no_connection");
|
||||||
|
|
||||||
|
tx_hard_ack = READ_ONCE(call->tx_hard_ack);
|
||||||
|
rx_hard_ack = READ_ONCE(call->rx_hard_ack);
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"UDP %-47.47s %-47.47s %4x %08x %08x %s %3u"
|
"UDP %-47.47s %-47.47s %4x %08x %08x %s %3u"
|
||||||
" %-8.8s %08x %lx\n",
|
" %-8.8s %08x %lx %08x %02x %08x %02x\n",
|
||||||
lbuff,
|
lbuff,
|
||||||
rbuff,
|
rbuff,
|
||||||
call->service_id,
|
call->service_id,
|
||||||
|
@ -94,7 +97,9 @@ static int rxrpc_call_seq_show(struct seq_file *seq, void *v)
|
||||||
atomic_read(&call->usage),
|
atomic_read(&call->usage),
|
||||||
rxrpc_call_states[call->state],
|
rxrpc_call_states[call->state],
|
||||||
call->abort_code,
|
call->abort_code,
|
||||||
call->user_call_ID);
|
call->user_call_ID,
|
||||||
|
tx_hard_ack, READ_ONCE(call->tx_top) - tx_hard_ack,
|
||||||
|
rx_hard_ack, READ_ONCE(call->rx_top) - rx_hard_ack);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue