rxrpc: Fix handling of enums-to-string translation in tracing
Fix the way enum values are translated into strings in AF_RXRPC tracepoints. The problem with just doing a lookup in a normal flat array of strings or chars is that external tracing infrastructure can't find it. Rather, TRACE_DEFINE_ENUM must be used. Also sort the enums and string tables to make it easier to keep them in order so that a future patch to __print_symbolic() can be optimised to try a direct lookup into the table first before iterating over it. A couple of _proto() macro calls are removed because they refered to tables that got moved to the tracing infrastructure. The relevant data can be found by way of tracing. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -767,15 +767,6 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb,
|
||||
|
||||
trace_rxrpc_rx_ack(call, first_soft_ack, summary.ack_reason, nr_acks);
|
||||
|
||||
_proto("Rx ACK %%%u { m=%hu f=#%u p=#%u s=%%%u r=%s n=%u }",
|
||||
sp->hdr.serial,
|
||||
ntohs(buf.ack.maxSkew),
|
||||
first_soft_ack,
|
||||
ntohl(buf.ack.previousPacket),
|
||||
acked_serial,
|
||||
rxrpc_ack_names[summary.ack_reason],
|
||||
buf.ack.nAcks);
|
||||
|
||||
if (buf.ack.reason == RXRPC_ACK_PING_RESPONSE)
|
||||
rxrpc_input_ping_response(call, skb->tstamp, acked_serial,
|
||||
sp->hdr.serial);
|
||||
@@ -931,7 +922,6 @@ static void rxrpc_input_call_packet(struct rxrpc_call *call,
|
||||
break;
|
||||
|
||||
default:
|
||||
_proto("Rx %s %%%u", rxrpc_pkts[sp->hdr.type], sp->hdr.serial);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user