Selaa lähdekoodia

rmnet_core: featurize ftraces

For compilation on LE targets

Change-Id: I661600cfaee256b5ff37da93b5bd7638d3039f42
Signed-off-by: Conner Huff <[email protected]>
Conner Huff 5 vuotta sitten
vanhempi
sitoutus
5c8f59b9b2
4 muutettua tiedostoa jossa 23 lisäystä ja 1 poistoa
  1. 2 0
      core/rmnet_config.h
  2. 11 0
      core/rmnet_handlers.c
  3. 3 1
      core/rmnet_trace.h
  4. 7 0
      core/rmnet_vnd.c

+ 2 - 0
core/rmnet_config.h

@@ -175,6 +175,7 @@ enum rmnet_dl_marker_prio {
 	RMNET_SHS,
 };
 
+#ifdef CONFIG_FTRACE
 enum rmnet_trace_func {
 	RMNET_MODULE,
 	NW_STACK_MODULE,
@@ -189,6 +190,7 @@ enum rmnet_trace_evt {
 	NW_STACK_RX,
 	NW_STACK_TX,
 };
+#endif
 
 int rmnet_is_real_dev_registered(const struct net_device *real_dev);
 struct rmnet_port *rmnet_get_port(struct net_device *real_dev);

+ 11 - 0
core/rmnet_handlers.c

@@ -32,6 +32,8 @@
 
 #define RMNET_IP_VERSION_4 0x40
 #define RMNET_IP_VERSION_6 0x60
+
+#ifdef CONFIG_FTRACE
 #define CREATE_TRACE_POINTS
 #include "rmnet_trace.h"
 
@@ -50,6 +52,7 @@ EXPORT_TRACEPOINT_SYMBOL(rmnet_err);
 EXPORT_TRACEPOINT_SYMBOL(rmnet_freq_update);
 EXPORT_TRACEPOINT_SYMBOL(rmnet_freq_reset);
 EXPORT_TRACEPOINT_SYMBOL(rmnet_freq_boost);
+#endif
 
 /* Helper Functions */
 
@@ -101,8 +104,10 @@ rmnet_deliver_skb(struct sk_buff *skb, struct rmnet_port *port)
 {
 	int (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
 
+#ifdef CONFIG_FTRACE
 	trace_rmnet_low(RMNET_MODULE, RMNET_DLVR_SKB, 0xDEF, 0xDEF,
 			0xDEF, 0xDEF, (void *)skb, NULL);
+#endif
 	skb_reset_transport_header(skb);
 	skb_reset_network_header(skb);
 	rmnet_vnd_rx_fixup(skb->dev, skb->len);
@@ -131,8 +136,10 @@ rmnet_deliver_skb_wq(struct sk_buff *skb, struct rmnet_port *port,
 	int (*rmnet_shs_stamp)(struct sk_buff *skb, struct rmnet_port *port);
 	struct rmnet_priv *priv = netdev_priv(skb->dev);
 
+#ifdef CONFIG_FTRACE
 	trace_rmnet_low(RMNET_MODULE, RMNET_DLVR_SKB, 0xDEF, 0xDEF,
 			0xDEF, 0xDEF, (void *)skb, NULL);
+#endif
 	skb_reset_transport_header(skb);
 	skb_reset_network_header(skb);
 	rmnet_vnd_rx_fixup(skb->dev, skb->len);
@@ -393,8 +400,10 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb)
 	if (skb->pkt_type == PACKET_LOOPBACK)
 		return RX_HANDLER_PASS;
 
+#ifdef CONFIG_FTRACE
 	trace_rmnet_low(RMNET_MODULE, RMNET_RCV_FROM_PND, 0xDEF,
 			0xDEF, 0xDEF, 0xDEF, NULL, NULL);
+#endif
 	dev = skb->dev;
 	port = rmnet_get_port(dev);
 
@@ -425,8 +434,10 @@ void rmnet_egress_handler(struct sk_buff *skb)
 	int err;
 	u32 skb_len;
 
+#ifdef CONFIG_FTRACE
 	trace_rmnet_low(RMNET_MODULE, RMNET_TX_UL_PKT, 0xDEF, 0xDEF, 0xDEF,
 			0xDEF, (void *)skb, NULL);
+#endif
 	sk_pacing_shift_update(skb->sk, 8);
 
 	orig_dev = skb->dev;

+ 3 - 1
core/rmnet_trace.h

@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
  */
-
+#ifdef CONFIG_FTRACE
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM rmnet
 #undef TRACE_INCLUDE_PATH
@@ -282,3 +282,5 @@ TP_printk("freq policy update core:%u policy freq floor :%u freq ceil :%u",
 #endif /* _TRACE_RMNET_H */
 
 #include <trace/define_trace.h>
+
+#endif

+ 7 - 0
core/rmnet_vnd.c

@@ -29,7 +29,10 @@
 
 #include "qmi_rmnet.h"
 #include "rmnet_qmi.h"
+
+#ifdef CONFIG_FTRACE
 #include "rmnet_trace.h"
+#endif
 
 /* RX/TX Fixup */
 
@@ -75,7 +78,9 @@ static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb,
 					AF_INET : AF_INET6;
 		mark = skb->mark;
 		len = skb->len;
+#ifdef CONFIG_FTRACE
 		trace_rmnet_xmit_skb(skb);
+#endif
 		rmnet_egress_handler(skb);
 		qmi_rmnet_burst_fc_check(dev, ip_type, mark, len);
 		qmi_rmnet_work_maybe_restart(rmnet_get_rmnet_port(dev));
@@ -173,6 +178,7 @@ static u16 rmnet_vnd_select_queue(struct net_device *dev,
 	int boost_trigger = 0;
 	int txq = 0;
 
+#ifdef CONFIG_FTRACE
 	if (trace_print_skb_gso_enabled()) {
 		if (!skb_shinfo(skb)->gso_size)
 			goto skip_trace;
@@ -192,6 +198,7 @@ static u16 rmnet_vnd_select_queue(struct net_device *dev,
 	}
 
 skip_trace:
+#endif
 	if (priv->real_dev)
 		txq = qmi_rmnet_get_queue(dev, skb);