batman-adv: remove unnecessary logspam
authorAndré Gaul <gaul@web-yard.de>
Tue, 10 Jun 2014 15:50:31 +0000 (17:50 +0200)
committerAntonio Quartulli <antonio@meshcoding.com>
Tue, 5 Aug 2014 07:41:54 +0000 (09:41 +0200)
This patch removes unnecessary logspam which resulted from superfluous
calls to net_ratelimit(). With the supplied patch, net_ratelimit() is
called after the loglevel has been checked.

Signed-off-by: André Gaul <gaul@web-yard.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/main.h
net/batman-adv/routing.c

index 118b990..257840e 100644 (file)
@@ -238,21 +238,29 @@ enum batadv_dbg_level {
 int batadv_debug_log(struct batadv_priv *bat_priv, const char *fmt, ...)
 __printf(2, 3);
 
-#define batadv_dbg(type, bat_priv, fmt, arg...)                        \
+/* possibly ratelimited debug output */
+#define _batadv_dbg(type, bat_priv, ratelimited, fmt, arg...)  \
        do {                                                    \
-               if (atomic_read(&bat_priv->log_level) & type)   \
+               if (atomic_read(&bat_priv->log_level) & type && \
+                   (!ratelimited || net_ratelimit()))          \
                        batadv_debug_log(bat_priv, fmt, ## arg);\
        }                                                       \
        while (0)
 #else /* !CONFIG_BATMAN_ADV_DEBUG */
-__printf(3, 4)
-static inline void batadv_dbg(int type __always_unused,
-                             struct batadv_priv *bat_priv __always_unused,
-                             const char *fmt __always_unused, ...)
+__printf(4, 5)
+static inline void _batadv_dbg(int type __always_unused,
+                              struct batadv_priv *bat_priv __always_unused,
+                              int ratelimited __always_unused,
+                              const char *fmt __always_unused, ...)
 {
 }
 #endif
 
+#define batadv_dbg(type, bat_priv, arg...) \
+       _batadv_dbg(type, bat_priv, 0, ## arg)
+#define batadv_dbg_ratelimited(type, bat_priv, arg...) \
+       _batadv_dbg(type, bat_priv, 1, ## arg)
+
 #define batadv_info(net_dev, fmt, arg...)                              \
        do {                                                            \
                struct net_device *_netdev = (net_dev);                 \
index 3514153..35f76f2 100644 (file)
@@ -706,11 +706,11 @@ static int batadv_check_unicast_ttvn(struct batadv_priv *bat_priv,
        if (batadv_tt_local_client_is_roaming(bat_priv, ethhdr->h_dest, vid)) {
                if (batadv_reroute_unicast_packet(bat_priv, unicast_packet,
                                                  ethhdr->h_dest, vid))
-                       net_ratelimited_function(batadv_dbg, BATADV_DBG_TT,
-                                                bat_priv,
-                                                "Rerouting unicast packet to %pM (dst=%pM): Local Roaming\n",
-                                                unicast_packet->dest,
-                                                ethhdr->h_dest);
+                       batadv_dbg_ratelimited(BATADV_DBG_TT,
+                                              bat_priv,
+                                              "Rerouting unicast packet to %pM (dst=%pM): Local Roaming\n",
+                                              unicast_packet->dest,
+                                              ethhdr->h_dest);
                /* at this point the mesh destination should have been
                 * substituted with the originator address found in the global
                 * table. If not, let the packet go untouched anyway because
@@ -752,10 +752,10 @@ static int batadv_check_unicast_ttvn(struct batadv_priv *bat_priv,
         */
        if (batadv_reroute_unicast_packet(bat_priv, unicast_packet,
                                          ethhdr->h_dest, vid)) {
-               net_ratelimited_function(batadv_dbg, BATADV_DBG_TT, bat_priv,
-                                        "Rerouting unicast packet to %pM (dst=%pM): TTVN mismatch old_ttvn=%u new_ttvn=%u\n",
-                                        unicast_packet->dest, ethhdr->h_dest,
-                                        old_ttvn, curr_ttvn);
+               batadv_dbg_ratelimited(BATADV_DBG_TT, bat_priv,
+                                      "Rerouting unicast packet to %pM (dst=%pM): TTVN mismatch old_ttvn=%u new_ttvn=%u\n",
+                                      unicast_packet->dest, ethhdr->h_dest,
+                                      old_ttvn, curr_ttvn);
                return 1;
        }