Forráskód Böngészése

qcacmn: Reduce log level in peer unmap softirq context

Currently host is taking long time to process the peer unmap
event from FW which is executed in softirq context. Reason is
as part of unref delete spin lock is taken and error level logs
are logged and error level logs take more time to process when
some other printks are already in progress to write to console.
This is leading to change interface failure from SAP to STA as
due to longer time processing of peer unmap event.

Reduce the severity of log level such that logs are directed to
wifi logger logs instead to console.

Change-Id: I543619036aa06c9ac4d97d18e44465b3c9b71806
CRs-Fixed: 2271260
Sravan Kumar Kairam 6 éve
szülő
commit
51d4664cb5
3 módosított fájl, 11 hozzáadás és 12 törlés
  1. 5 6
      dp/wifi3.0/dp_main.c
  2. 1 1
      dp/wifi3.0/dp_peer.c
  3. 5 5
      dp/wifi3.0/dp_rx_defrag.c

+ 5 - 6
dp/wifi3.0/dp_main.c

@@ -4496,10 +4496,9 @@ void dp_peer_unref_delete(void *peer_handle)
 	uint16_t peer_id;
 	uint16_t vdev_id;
 
-	QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
-		  "%s: peer %pK ref_cnt(before decrement): %d", __func__,
+	QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_HIGH,
+		  "%s: peer %pK ref_cnt(before decrement): %d\n", __func__,
 		  peer, qdf_atomic_read(&peer->ref_cnt));
-
 	/*
 	 * Hold the lock all the way from checking if the peer ref count
 	 * is zero until the peer references are removed from the hash
@@ -4546,9 +4545,9 @@ void dp_peer_unref_delete(void *peer_handle)
 				peer_list_elem);
 		} else {
 			/*Ignoring the remove operation as peer not found*/
-			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_WARN,
-				"peer %pK not found in vdev (%pK)->peer_list:%pK",
-				peer, vdev, &peer->vdev->peer_list);
+			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
+				  "peer:%pK not found in vdev:%pK peerlist:%pK",
+				  peer, vdev, &peer->vdev->peer_list);
 		}
 
 		/* cleanup the peer data */

+ 1 - 1
dp/wifi3.0/dp_peer.c

@@ -944,7 +944,7 @@ static inline struct dp_peer *dp_peer_find_add_id(struct dp_soc *soc,
 		/* peer's ref count was already incremented by
 		 * peer_find_hash_find
 		 */
-		QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
+		QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO,
 			  "%s: ref_cnt: %d", __func__,
 			   qdf_atomic_read(&peer->ref_cnt));
 		soc->peer_id_to_obj_map[peer_id] = peer;

+ 5 - 5
dp/wifi3.0/dp_rx_defrag.c

@@ -121,8 +121,8 @@ void dp_rx_reorder_flush_frag(struct dp_peer *peer,
 {
 	struct dp_soc *soc;
 
-	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
-				FL("Flushing TID %d"), tid);
+	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_MED,
+		  FL("Flushing TID %d"), tid);
 
 	if (!peer) {
 		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
@@ -250,9 +250,9 @@ void dp_rx_defrag_waitlist_remove(struct dp_peer *peer, unsigned tid)
 		return;
 	}
 
-	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
-				FL("Remove TID %u from waitlist for peer %pK"),
-				tid, peer);
+	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_MED,
+		  FL("Remove TID %u from waitlist for peer %pK"),
+		  tid, peer);
 
 	qdf_spin_lock_bh(&soc->rx.defrag.defrag_lock);
 	TAILQ_FOREACH(rx_reorder, &soc->rx.defrag.waitlist,