wlan: Rate limit excessive logging in SAP Tx path.
Currently when HDD Tx queue is 3/4 full,
low resource is set as True and is logged
stating that Tx queue is 3/4 full.
As a part of fix, rate limit above print
so that it doesn't flood log set.
Change-Id: I3d6dc5200a451d3f5509538a9b38bbd3a36a0a24
CRs-Fixed: 903941
diff --git a/CORE/HDD/inc/wlan_hdd_dp_utils.h b/CORE/HDD/inc/wlan_hdd_dp_utils.h
index ac48abd..fb1ce32 100644
--- a/CORE/HDD/inc/wlan_hdd_dp_utils.h
+++ b/CORE/HDD/inc/wlan_hdd_dp_utils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -63,6 +63,7 @@
hdd_list_node_t anchor;
v_SIZE_t count;
v_SIZE_t max_size;
+ int ratelimit_count;
spinlock_t lock;
} hdd_list_t;
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index 7d5c1f0..113c140 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -431,8 +431,10 @@
{
if (pSapCtx->aStaInfo[STAId].wmm_tx_queue[ac].count >= HDD_TX_QUEUE_LOW_WATER_MARK)
{
- VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
+ if (!(pSapCtx->aStaInfo[STAId].wmm_tx_queue[ac].ratelimit_count % 0x40))
+ VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
"%s: TX queue for Best Effort AC is 3/4th full", __func__);
+ pSapCtx->aStaInfo[STAId].wmm_tx_queue[ac].ratelimit_count++;
pSapCtx->aStaInfo[STAId].vosLowResource = VOS_TRUE;
}
else