svn commit: r329470 - head/sys/compat/linuxkpi/common/include/linux

Hans Petter Selasky hselasky at FreeBSD.org
Sat Feb 17 21:25:20 UTC 2018


Author: hselasky
Date: Sat Feb 17 21:25:19 2018
New Revision: 329470
URL: https://svnweb.freebsd.org/changeset/base/329470

Log:
  Add support for printk_ratelimit() function macro and improve the existing
  printk_ratelimited() function macro to return a boolean stating if there
  was a printout, true, or not, false.
  
  MFC after:	1 week
  Submitted by:	Johannes Lundberg <johalun0 at gmail.com>
  Sponsored by:	Mellanox Technologies

Modified:
  head/sys/compat/linuxkpi/common/include/linux/printk.h

Modified: head/sys/compat/linuxkpi/common/include/linux/printk.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/printk.h	Sat Feb 17 20:59:12 2018	(r329469)
+++ head/sys/compat/linuxkpi/common/include/linux/printk.h	Sat Feb 17 21:25:19 2018	(r329470)
@@ -106,10 +106,16 @@ print_hex_dump_bytes(const char *prefix_str, const int
 	print_hex_dump(NULL, prefix_str, prefix_type, 16, 1, buf, len, 0);
 }
 
-#define	printk_ratelimited(...) do {		\
+#define	printk_ratelimit() ({			\
 	static linux_ratelimit_t __ratelimited;	\
-	if (linux_ratelimited(&__ratelimited))	\
+	linux_ratelimited(&__ratelimited);	\
+})
+
+#define	printk_ratelimited(...) ({		\
+	bool __retval = printk_ratelimit();	\
+	if (__retval)				\
 		printk(__VA_ARGS__);		\
-} while (0)
+	__retval;				\
+})
 
 #endif					/* _LINUX_PRINTK_H_ */


More information about the svn-src-all mailing list