summaryrefslogtreecommitdiff
path: root/include/net/rps.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/rps.h')
-rw-r--r--include/net/rps.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/net/rps.h b/include/net/rps.h
index 10ca25731c1e..a93401d23d66 100644
--- a/include/net/rps.h
+++ b/include/net/rps.h
@@ -138,11 +138,16 @@ static inline void rps_input_queue_tail_save(u32 *dest, u32 tail)
#endif
}
-static inline void rps_input_queue_head_incr(struct softnet_data *sd)
+static inline void rps_input_queue_head_add(struct softnet_data *sd, int val)
{
#ifdef CONFIG_RPS
- sd->input_queue_head++;
+ WRITE_ONCE(sd->input_queue_head, sd->input_queue_head + val);
#endif
}
+static inline void rps_input_queue_head_incr(struct softnet_data *sd)
+{
+ rps_input_queue_head_add(sd, 1);
+}
+
#endif /* _NET_RPS_H */