Parcourir la source

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>
David Howells il y a 8 ans
Parent
commit
3e018daf04
1 fichiers modifiés avec 7 ajouts et 2 suppressions
  1. 7 2
      net/rxrpc/proc.c

+ 7 - 2
net/rxrpc/proc.c

@@ -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;
 }
 }