Fixed frame statistics.

This commit is contained in:
Florian Pose 2010-03-08 07:40:54 +01:00
parent 697124e23c
commit 5203433078
1 changed files with 5 additions and 6 deletions

View File

@ -324,21 +324,20 @@ void ec_device_send(
// frame statistics
if (unlikely(jiffies - device->stats_jiffies >= HZ)) {
unsigned int i;
unsigned int tx_rate = device->tx_count - device->last_tx_count;
unsigned int tx_rate =
(device->tx_count - device->last_tx_count) * 1000;
int loss = device->tx_count - device->rx_count;
int loss_rate = (loss - device->last_loss) * 1000;
for (i = 0; i < EC_RATE_COUNT; i++) {
unsigned int n = rate_intervals[i];
device->tx_rates[i] =
device->tx_rates[i] * (n - 1) +
tx_rate * n;
(device->tx_rates[i] * (n - 1) + tx_rate) / n;
device->loss_rates[i] =
device->loss_rates[i] * (n - 1) +
loss_rate * n;
(device->loss_rates[i] * (n - 1) + loss_rate) / n;
}
device->last_tx_count = device->tx_count;
device->last_loss = loss;
device->stats_jiffies += HZ;
device->stats_jiffies = jiffies;
}
if (unlikely(!device->link_state)) // Link down