[PATCH] ratelimit: check the condition in WARN_RATELIMIT first

From: Jiri Slaby
Date: Fri Aug 17 2012 - 09:42:27 EST


Before calling __ratelimit in __WARN_RATELIMIT, check the condition
first. When this check was not there, we got constant income of:
tty_init_dev: 60 callbacks suppressed
tty_init_dev: 59 callbacks suppressed

Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
---
include/linux/ratelimit.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h
index e11ccb4..966d35c 100644
--- a/include/linux/ratelimit.h
+++ b/include/linux/ratelimit.h
@@ -49,8 +49,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func);
#define __WARN_RATELIMIT(condition, state, format...) \
({ \
int rtn = 0; \
- if (unlikely(__ratelimit(state))) \
- rtn = WARN(condition, format); \
+ int __rtcond = !!condition; \
+ if (unlikely(__rtcond && __ratelimit(state))) \
+ rtn = WARN(__rtcond, format); \
rtn; \
})

--
1.7.11.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/