diff mbox series

[1/9,net-next] net: netdevice.h: sw_netstats_rx_add helper

Message ID 20201005203418.55128-1-fabf@skynet.be
State New
Headers show
Series [1/9,net-next] net: netdevice.h: sw_netstats_rx_add helper | expand

Commit Message

Fabian Frederick Oct. 5, 2020, 8:34 p.m. UTC
some drivers/network protocols update rx bytes/packets under
u64_stats_update_begin/end sequence.
Add a specific helper like dev_lstats_add()

Signed-off-by: Fabian Frederick <fabf@skynet.be>
---
 include/linux/netdevice.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Jakub Kicinski Oct. 5, 2020, 11:14 p.m. UTC | #1
On Mon,  5 Oct 2020 22:34:18 +0200 Fabian Frederick wrote:
> +static inline void dev_sw_netstats_rx_add(struct net_device *dev, unsigned int len)
> +{
> +	struct pcpu_sw_netstats *tstats = this_cpu_ptr(dev->tstats);
> +
> +	u64_stats_update_begin(&tstats->syncp);
> +	tstats->rx_bytes += len;
> +	tstats->rx_packets++;
> +	u64_stats_update_end(&tstats->syncp);
> +

checkpatch points out there is an unnecessary empty line here

> +}
diff mbox series

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 0c79d9e56a5e5..42b18e034adde 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2530,6 +2530,17 @@  struct pcpu_lstats {
 
 void dev_lstats_read(struct net_device *dev, u64 *packets, u64 *bytes);
 
+static inline void dev_sw_netstats_rx_add(struct net_device *dev, unsigned int len)
+{
+	struct pcpu_sw_netstats *tstats = this_cpu_ptr(dev->tstats);
+
+	u64_stats_update_begin(&tstats->syncp);
+	tstats->rx_bytes += len;
+	tstats->rx_packets++;
+	u64_stats_update_end(&tstats->syncp);
+
+}
+
 static inline void dev_lstats_add(struct net_device *dev, unsigned int len)
 {
 	struct pcpu_lstats *lstats = this_cpu_ptr(dev->lstats);