From 51d4664cb5489b66f61b94b7f3768cc2b033f5f2 Mon Sep 17 00:00:00 2001 From: Sravan Kumar Kairam Date: Fri, 24 Aug 2018 15:07:55 +0530 Subject: [PATCH] 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 --- dp/wifi3.0/dp_main.c | 11 +++++------ dp/wifi3.0/dp_peer.c | 2 +- dp/wifi3.0/dp_rx_defrag.c | 10 +++++----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index b08be9863748..dd97072923e5 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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 */ diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 66645e718fcf..ccab2567dc28 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/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; diff --git a/dp/wifi3.0/dp_rx_defrag.c b/dp/wifi3.0/dp_rx_defrag.c index b6ec907d3b71..0bfc0a0d6ef9 100644 --- a/dp/wifi3.0/dp_rx_defrag.c +++ b/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,