Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'net-stats-helpers'

Li Zetao says:

====================
Use helper functions to update stats

The patch set uses the helper functions dev_sw_netstats_rx_add() and
dev_sw_netstats_tx_add() to update stats, which is the same as
implementing the function separately.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+5 -25
+3 -14
drivers/net/macsec.c
··· 518 518 519 519 static void count_tx(struct net_device *dev, int ret, int len) 520 520 { 521 - if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) { 522 - struct pcpu_sw_netstats *stats = this_cpu_ptr(dev->tstats); 523 - 524 - u64_stats_update_begin(&stats->syncp); 525 - u64_stats_inc(&stats->tx_packets); 526 - u64_stats_add(&stats->tx_bytes, len); 527 - u64_stats_update_end(&stats->syncp); 528 - } 521 + if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) 522 + dev_sw_netstats_tx_add(dev, 1, len); 529 523 } 530 524 531 525 static void macsec_encrypt_done(void *data, int err) ··· 821 827 822 828 static void count_rx(struct net_device *dev, int len) 823 829 { 824 - struct pcpu_sw_netstats *stats = this_cpu_ptr(dev->tstats); 825 - 826 - u64_stats_update_begin(&stats->syncp); 827 - u64_stats_inc(&stats->rx_packets); 828 - u64_stats_add(&stats->rx_bytes, len); 829 - u64_stats_update_end(&stats->syncp); 830 + dev_sw_netstats_rx_add(dev, len); 830 831 } 831 832 832 833 static void macsec_decrypt_done(void *data, int err)
+2 -11
drivers/net/vxlan/vxlan_core.c
··· 2328 2328 struct vxlan_dev *dst_vxlan, __be32 vni, 2329 2329 bool snoop) 2330 2330 { 2331 - struct pcpu_sw_netstats *tx_stats, *rx_stats; 2332 2331 union vxlan_addr loopback; 2333 2332 union vxlan_addr *remote_ip = &dst_vxlan->default_dst.remote_ip; 2334 2333 struct net_device *dev; 2335 2334 int len = skb->len; 2336 2335 2337 - tx_stats = this_cpu_ptr(src_vxlan->dev->tstats); 2338 - rx_stats = this_cpu_ptr(dst_vxlan->dev->tstats); 2339 2336 skb->pkt_type = PACKET_HOST; 2340 2337 skb->encapsulation = 0; 2341 2338 skb->dev = dst_vxlan->dev; ··· 2358 2361 if ((dst_vxlan->cfg.flags & VXLAN_F_LEARN) && snoop) 2359 2362 vxlan_snoop(dev, &loopback, eth_hdr(skb)->h_source, 0, vni); 2360 2363 2361 - u64_stats_update_begin(&tx_stats->syncp); 2362 - u64_stats_inc(&tx_stats->tx_packets); 2363 - u64_stats_add(&tx_stats->tx_bytes, len); 2364 - u64_stats_update_end(&tx_stats->syncp); 2364 + dev_sw_netstats_tx_add(src_vxlan->dev, 1, len); 2365 2365 vxlan_vnifilter_count(src_vxlan, vni, NULL, VXLAN_VNI_STATS_TX, len); 2366 2366 2367 2367 if (__netif_rx(skb) == NET_RX_SUCCESS) { 2368 - u64_stats_update_begin(&rx_stats->syncp); 2369 - u64_stats_inc(&rx_stats->rx_packets); 2370 - u64_stats_add(&rx_stats->rx_bytes, len); 2371 - u64_stats_update_end(&rx_stats->syncp); 2368 + dev_sw_netstats_rx_add(dst_vxlan->dev, len); 2372 2369 vxlan_vnifilter_count(dst_vxlan, vni, NULL, VXLAN_VNI_STATS_RX, 2373 2370 len); 2374 2371 } else {