qcacmn: Update vdev rate stats when user requests for vdev stats
Rate statistics are updated at both peer and vdev level in Tx HTT and Rx monitor path. As per peer optimization changes, macro DP_UPDATE_EXTD_STATS is used for aggregation of extended stats and this macro is used for both peer and vdev stats query. With this approach, when user requests for vdev stats, then rate stats for vdev are updated with the rate values of the last peer present in peer list of vdev and this results in wrong output. In order to fix this, add an API to update the rate stats for vdev separately. Change-Id: I546a130e84f7fd577b80ace24e1dbb71000c0698 CRs-Fixed: 3132195
This commit is contained in:

committed by
Madan Koyyalamudi

parent
c27e15c6da
commit
ff71f151fc
@@ -7725,6 +7725,16 @@ void dp_update_vdev_ingress_stats(struct dp_vdev *tgtobj)
|
||||
tgtobj->stats.tx_i.dropped.headroom_insufficient;
|
||||
}
|
||||
|
||||
void dp_update_vdev_rate_stats(struct cdp_vdev_stats *tgtobj,
|
||||
struct cdp_vdev_stats *srcobj)
|
||||
{
|
||||
tgtobj->tx.last_tx_rate = srcobj->tx.last_tx_rate;
|
||||
tgtobj->tx.last_tx_rate_mcs = srcobj->tx.last_tx_rate_mcs;
|
||||
tgtobj->tx.mcast_last_tx_rate = srcobj->tx.mcast_last_tx_rate;
|
||||
tgtobj->tx.mcast_last_tx_rate_mcs = srcobj->tx.mcast_last_tx_rate_mcs;
|
||||
tgtobj->rx.last_rx_rate = srcobj->rx.last_rx_rate;
|
||||
}
|
||||
|
||||
void dp_update_pdev_ingress_stats(struct dp_pdev *tgtobj,
|
||||
struct dp_vdev *srcobj)
|
||||
{
|
||||
|
Reference in New Issue
Block a user