Skip to content

Commit

Permalink
use actual max val in histogram if approx bigger than it
Browse files Browse the repository at this point in the history
  • Loading branch information
kingluo committed May 5, 2024
1 parent cc61f1b commit fc2259b
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion fw/apm.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,9 @@ static inline bool
tfw_stats_adj_min(TfwPcntRanges *rng, unsigned int r_time)
{
if (r_time < rng->min_val) {
bool ret = rng->min_val != UINT_MAX;
rng->min_val = r_time;
return rng->min_val != UINT_MAX;
return ret;
}
return false;
}
Expand Down Expand Up @@ -768,6 +769,7 @@ tfw_apm_prnctl_calc(TfwApmRBuf *rbuf, TfwApmRBCtl *rbctl, TfwPrcntlStats *pstats
TfwApmRBEState st[TFW_APM_MAX_TMWSCALE];
TfwPcntRanges *pcntrng;
TfwApmRBEnt *rbent = rbuf->rbent;
unsigned int max_val = 0;

for (i = 0; i < rbuf->rbufsz; i++) {
pcntrng = &rbent[i].pcntrng;
Expand All @@ -780,6 +782,11 @@ tfw_apm_prnctl_calc(TfwApmRBuf *rbuf, TfwApmRBCtl *rbctl, TfwPrcntlStats *pstats
if (!pval[i])
pstats->val[p++] = 0;
}
for (i = 0; i < rbuf->rbufsz; i++) {
pcntrng = &rbent[i].pcntrng;
if (max_val < pcntrng->max_val)
max_val = pcntrng->max_val;
}
while (p < T_PSZ) {
int v_min = USHRT_MAX;
for (i = 0; i < rbuf->rbufsz; i++) {
Expand All @@ -794,6 +801,9 @@ tfw_apm_prnctl_calc(TfwApmRBuf *rbuf, TfwApmRBCtl *rbctl, TfwPrcntlStats *pstats
cnt += pcntrng->cnt[st[i].r][st[i].b];
tfw_apm_state_next(pcntrng, &st[i]);
}
if (v_min > max_val) {
v_min = max_val;
}
for ( ; p < T_PSZ && pval[p] <= cnt; ++p)
pstats->val[p] = v_min;
}
Expand Down

0 comments on commit fc2259b

Please sign in to comment.