msm:ipa: add stats for low latency data-path
Rate limit the warning which could cause latency on low_lat data path. Add stats count for buffer replenish issues. Change-Id: I8ce8c7584be211e215a05b6c5c9a1ff1b2512240
This commit is contained in:
@@ -1999,6 +1999,8 @@ fail_kmem_cache_alloc:
|
|||||||
IPA_STATS_INC_CNT(ipa3_ctx->stats.wan_repl_rx_empty);
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.wan_repl_rx_empty);
|
||||||
else if (sys->ep->client == IPA_CLIENT_APPS_LAN_CONS)
|
else if (sys->ep->client == IPA_CLIENT_APPS_LAN_CONS)
|
||||||
IPA_STATS_INC_CNT(ipa3_ctx->stats.lan_repl_rx_empty);
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.lan_repl_rx_empty);
|
||||||
|
else if (sys->ep->client == IPA_CLIENT_APPS_WAN_LOW_LAT_CONS)
|
||||||
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.low_lat_repl_rx_empty);
|
||||||
pr_err_ratelimited("%s sys=%pK repl ring empty\n",
|
pr_err_ratelimited("%s sys=%pK repl ring empty\n",
|
||||||
__func__, sys);
|
__func__, sys);
|
||||||
goto begin;
|
goto begin;
|
||||||
@@ -2662,8 +2664,10 @@ static void ipa3_fast_replenish_rx_cache(struct ipa3_sys_context *sys)
|
|||||||
IPA_STATS_INC_CNT(ipa3_ctx->stats.wan_rx_empty);
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.wan_rx_empty);
|
||||||
else if (sys->ep->client == IPA_CLIENT_APPS_LAN_CONS)
|
else if (sys->ep->client == IPA_CLIENT_APPS_LAN_CONS)
|
||||||
IPA_STATS_INC_CNT(ipa3_ctx->stats.lan_rx_empty);
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.lan_rx_empty);
|
||||||
|
else if (sys->ep->client == IPA_CLIENT_APPS_WAN_LOW_LAT_CONS)
|
||||||
|
IPA_STATS_INC_CNT(ipa3_ctx->stats.low_lat_rx_empty);
|
||||||
else
|
else
|
||||||
WARN_ON(1);
|
WARN_ON_RATELIMIT_IPA(1);
|
||||||
queue_delayed_work(sys->wq, &sys->replenish_rx_work,
|
queue_delayed_work(sys->wq, &sys->replenish_rx_work,
|
||||||
msecs_to_jiffies(1));
|
msecs_to_jiffies(1));
|
||||||
}
|
}
|
||||||
|
@@ -1408,6 +1408,8 @@ struct ipa3_stats {
|
|||||||
u32 wan_repl_rx_empty;
|
u32 wan_repl_rx_empty;
|
||||||
u32 lan_rx_empty;
|
u32 lan_rx_empty;
|
||||||
u32 lan_repl_rx_empty;
|
u32 lan_repl_rx_empty;
|
||||||
|
u32 low_lat_rx_empty;
|
||||||
|
u32 low_lat_repl_rx_empty;
|
||||||
u32 flow_enable;
|
u32 flow_enable;
|
||||||
u32 flow_disable;
|
u32 flow_disable;
|
||||||
u32 tx_non_linear;
|
u32 tx_non_linear;
|
||||||
|
Reference in New Issue
Block a user