From: Shan Wei <[email protected]>

this_cpu_add is an atomic operation.
and be more faster than per_cpu_ptr operation.

Signed-off-by: Shan Wei <[email protected]>
Reviewed-by: Christoph Lameter <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Signed-off-by: Marek Lindner <[email protected]>
Signed-off-by: Antonio Quartulli <[email protected]>
---
 net/batman-adv/main.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 2f85577..c4fe41f 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -276,9 +276,7 @@ static inline bool batadv_has_timed_out(unsigned long 
timestamp,
 static inline void batadv_add_counter(struct batadv_priv *bat_priv, size_t idx,
                                      size_t count)
 {
-       int cpu = get_cpu();
-       per_cpu_ptr(bat_priv->bat_counters, cpu)[idx] += count;
-       put_cpu();
+       this_cpu_add(bat_priv->bat_counters[idx], count);
 }
 
 #define batadv_inc_counter(b, i) batadv_add_counter(b, i, 1)
-- 
1.8.0.2

Reply via email to