lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <6d10f3f83de675ab390e9791b66aa5ec8f1cb6bd.1556531633.git.igor.russkikh@aquantia.com> Date: Mon, 29 Apr 2019 10:05:05 +0000 From: Igor Russkikh <Igor.Russkikh@...antia.com> To: "David S . Miller" <davem@...emloft.net> CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, Nikita Danilov <Nikita.Danilov@...antia.com>, Dmitry Bogdanov <Dmitry.Bogdanov@...antia.com>, Igor Russkikh <Igor.Russkikh@...antia.com>, Nikita Danilov <Nikita.Danilov@...antia.com> Subject: [PATCH v4 net-next 13/15] net: aquantia: get total counters from DMA block From: Dmitry Bogdanov <dmitry.bogdanov@...antia.com> aq_nic_update_ndev_stats pushes statistics to ndev->stats from system interface. This is not always good because it counts packets/bytes before any of rx filters (including mac filter). Its better to report the packet/bytes statistics from DMA counters which gives actual values of data transferred over pci. System level stats is still available via ethtool. Signed-off-by: Nikita Danilov <ndanilov@...antia.com> Signed-off-by: Igor Russkikh <igor.russkikh@...antia.com> Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@...antia.com> --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 8018f483ae45..e82d25a91bc1 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -753,11 +753,12 @@ static void aq_nic_update_ndev_stats(struct aq_nic_s *self) struct net_device *ndev = self->ndev; struct aq_stats_s *stats = self->aq_hw_ops->hw_get_hw_stats(self->aq_hw); - ndev->stats.rx_packets = stats->uprc + stats->mprc + stats->bprc; - ndev->stats.rx_bytes = stats->ubrc + stats->mbrc + stats->bbrc; + ndev->stats.rx_packets = stats->dma_pkt_rc; + ndev->stats.rx_bytes = stats->dma_oct_rc; ndev->stats.rx_errors = stats->erpr; - ndev->stats.tx_packets = stats->uptc + stats->mptc + stats->bptc; - ndev->stats.tx_bytes = stats->ubtc + stats->mbtc + stats->bbtc; + ndev->stats.rx_dropped = stats->dpc; + ndev->stats.tx_packets = stats->dma_pkt_tc; + ndev->stats.tx_bytes = stats->dma_oct_tc; ndev->stats.tx_errors = stats->erpt; ndev->stats.multicast = stats->mprc; } -- 2.17.1
Powered by blists - more mailing lists