Browse Source

qcacmn: add extra stats pdev and vdev lvl

stats added for descriptor alloc fail and tx outstanding too many

Change-Id: Ie2c676979f21e8f0ab217e8c666a8cdf3efbf7f1
Ruben Columbus 4 years ago
parent
commit
60e9a2d116
3 changed files with 9 additions and 0 deletions
  1. 2 0
      dp/inc/cdp_txrx_stats_struct.h
  2. 4 0
      dp/wifi3.0/dp_stats.c
  3. 3 0
      dp/wifi3.0/dp_tx.c

+ 2 - 0
dp/inc/cdp_txrx_stats_struct.h

@@ -1245,6 +1245,8 @@ struct cdp_tx_ingress_stats {
 	struct {
 		struct cdp_pkt_info dropped_pkt;
 		struct cdp_pkt_info  desc_na;
+		struct cdp_pkt_info  desc_na_exc_alloc_fail;
+		struct cdp_pkt_info  desc_na_exc_outstand;
 		struct cdp_pkt_info  exc_desc_na;
 		uint32_t ring_full;
 		uint32_t enqueue_fail;

+ 4 - 0
dp/wifi3.0/dp_stats.c

@@ -6164,6 +6164,10 @@ dp_print_pdev_tx_stats(struct dp_pdev *pdev)
 		       pdev->stats.tx_i.dropped.desc_na.num);
 	DP_PRINT_STATS("	HW enqueue failed= %d",
 		       pdev->stats.tx_i.dropped.enqueue_fail);
+	DP_PRINT_STATS("        Descriptor alloc fail = %d",
+		       pdev->stats.tx_i.dropped.desc_na_exc_alloc_fail.num);
+	DP_PRINT_STATS("        Tx outstanding too many = %d",
+		       pdev->stats.tx_i.dropped.desc_na_exc_outstand.num);
 	DP_PRINT_STATS("	Pkt dropped in vdev-id check= %d",
 		       pdev->stats.tx_i.dropped.fail_per_pkt_vdev_id_check);
 	DP_PRINT_STATS("	Resources Full = %d",

+ 3 - 0
dp/wifi3.0/dp_tx.c

@@ -128,6 +128,7 @@ dp_tx_limit_check(struct dp_vdev *vdev)
 			pdev->num_tx_allowed) {
 		dp_tx_info("queued packets are more than max tx, drop the frame");
 		DP_STATS_INC(vdev, tx_i.dropped.desc_na.num, 1);
+		DP_STATS_INC(vdev, tx_i.dropped.desc_na_exc_outstand.num, 1);
 		return true;
 	}
 	return false;
@@ -870,8 +871,10 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
 
 	/* Allocate software Tx descriptor */
 	tx_desc = dp_tx_desc_alloc(soc, desc_pool_id);
+
 	if (qdf_unlikely(!tx_desc)) {
 		DP_STATS_INC(vdev, tx_i.dropped.desc_na.num, 1);
+		DP_STATS_INC(vdev, tx_i.dropped.desc_na_exc_alloc_fail.num, 1);
 		return NULL;
 	}