ratelimit: add comment warning people off printk_ratelimit()
Andrew Morton [Tue, 26 Oct 2010 21:22:49 +0000 (14:22 -0700)]
printk_ratelimit() was a bad idea - we don't want subsytem A causing
ratelimiting of subsystem B's messages.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

include/linux/kernel.h

index e9b492b..77b04ed 100644 (file)
@@ -277,6 +277,11 @@ asmlinkage int vprintk(const char *fmt, va_list args)
 asmlinkage int printk(const char * fmt, ...)
        __attribute__ ((format (printf, 1, 2))) __cold;
 
+/*
+ * Please don't use printk_ratelimit(), because it shares ratelimiting state
+ * with all other unrelated printk_ratelimit() callsites.  Instead use
+ * printk_ratelimited() or plain old __ratelimit().
+ */
 extern int __printk_ratelimit(const char *func);
 #define printk_ratelimit() __printk_ratelimit(__func__)
 extern bool printk_timed_ratelimit(unsigned long *caller_jiffies,