batman-adv: use per_cpu_add helper
authorShan Wei <davidshan@tencent.com>
Tue, 13 Nov 2012 01:53:26 +0000 (09:53 +0800)
committerAntonio Quartulli <ordex@autistici.org>
Sat, 12 Jan 2013 10:58:19 +0000 (20:58 +1000)
this_cpu_add is an atomic operation.
and be more faster than per_cpu_ptr operation.

Signed-off-by: Shan Wei <davidshan@tencent.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
net/batman-adv/main.h

index 2f85577..c4fe41f 100644 (file)
@@ -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)