summaryrefslogtreecommitdiff
path: root/qdf/linux/src
diff options
context:
space:
mode:
authorHouston Hoffman <hhoffman@codeaurora.org>2016-09-22 12:45:32 -0700
committerqcabuildsw <qcabuildsw@localhost>2016-10-07 18:11:59 -0700
commita77ce19047cc2e59e732fcdc309044a8937d3f5d (patch)
tree9c58f445d1d874775a4fd1e52b5089eb4bd14243 /qdf/linux/src
parentf6c046419d465066a55976b9861a011ed74b2d61 (diff)
qcacmn: Reduce log level in qdf_nbuf_track_memory_manager_destroy
These logs were being printed in the kmesg durring every unload. Questions about these logs wasted time and indicated the logs were too prominent and confusing. Only log nbuf tracking free list stats to the kernel log when unexpected conditions occured. Also distinguish between pre-filled tracking nodes and nodes that were used to track nbufs. Change-Id: I835ef2a04500dbab3229e6765fe7a168c05837fa CRs-Fixed: 1072098
Diffstat (limited to 'qdf/linux/src')
-rw-r--r--qdf/linux/src/qdf_nbuf.c38
1 files changed, 30 insertions, 8 deletions
diff --git a/qdf/linux/src/qdf_nbuf.c b/qdf/linux/src/qdf_nbuf.c
index e61eb5568728..311aa3ff2b91 100644
--- a/qdf/linux/src/qdf_nbuf.c
+++ b/qdf/linux/src/qdf_nbuf.c
@@ -1211,6 +1211,9 @@ static void qdf_nbuf_track_prefill(void)
qdf_nbuf_track_free(head);
head = node;
}
+
+ /* prefilled buffers should not count as used */
+ qdf_net_buf_track_max_used = 0;
}
/**
@@ -1251,17 +1254,36 @@ static void qdf_nbuf_track_memory_manager_destroy(void)
spin_lock_irqsave(&qdf_net_buf_track_free_list_lock, irq_flag);
node = qdf_net_buf_track_free_list;
- qdf_print("%s: %d residual freelist size\n",
- __func__, qdf_net_buf_track_free_list_count);
+ if (qdf_net_buf_track_max_used > FREEQ_POOLSIZE * 4)
+ qdf_print("%s: unexpectedly large max_used count %d",
+ __func__, qdf_net_buf_track_max_used);
- qdf_print("%s: %d max freelist size observed\n",
- __func__, qdf_net_buf_track_max_free);
+ if (qdf_net_buf_track_max_used < qdf_net_buf_track_max_allocated)
+ qdf_print("%s: %d unused trackers were allocated",
+ __func__,
+ qdf_net_buf_track_max_allocated -
+ qdf_net_buf_track_max_used);
- qdf_print("%s: %d max buffers used observed\n",
- __func__, qdf_net_buf_track_max_used);
+ if (qdf_net_buf_track_free_list_count > FREEQ_POOLSIZE &&
+ qdf_net_buf_track_free_list_count > 3*qdf_net_buf_track_max_used/4)
+ qdf_print("%s: check freelist shrinking functionality",
+ __func__);
- qdf_print("%s: %d max buffers allocated observed\n",
- __func__, qdf_net_buf_track_max_used);
+ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO,
+ "%s: %d residual freelist size\n",
+ __func__, qdf_net_buf_track_free_list_count);
+
+ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO,
+ "%s: %d max freelist size observed\n",
+ __func__, qdf_net_buf_track_max_free);
+
+ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO,
+ "%s: %d max buffers used observed\n",
+ __func__, qdf_net_buf_track_max_used);
+
+ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO,
+ "%s: %d max buffers allocated observed\n",
+ __func__, qdf_net_buf_track_max_allocated);
while (node) {
tmp = node;