Re: [v3 1/1] driver-core: Shut up dev_dbg_reatelimited() without DEBUG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/04/2012 06:40 AM, Hiroshi Doyu wrote:
> dev_dbg_reatelimited() without DEBUG printed "217078 callbacks
> suppressed". This shouldn't print anything without DEBUG.
> 
> With CONFIG_DYNAMIC_DEBUG, the print should be configured as expected.
> 
> Signed-off-by: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
> Reported-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
> Tested-by: Antti Palosaari <crope@xxxxxx>
> Tested-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
> Acked-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  include/linux/device.h |   62 +++++++++++++++++++++++++++++------------------
>  1 files changed, 38 insertions(+), 24 deletions(-)
> 
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 9648331..bb6ffcb 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -932,6 +932,32 @@ int _dev_info(const struct device *dev, const char *fmt, ...)
>  
>  #endif
>  
> +/*
> + * Stupid hackaround for existing uses of non-printk uses dev_info
> + *
> + * Note that the definition of dev_info below is actually _dev_info
> + * and a macro is used to avoid redefining dev_info
> + */
> +
> +#define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg)
> +
> +#if defined(CONFIG_DYNAMIC_DEBUG)
> +#define dev_dbg(dev, format, ...)		     \
> +do {						     \
> +	dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \
> +} while (0)
> +#elif defined(DEBUG)
> +#define dev_dbg(dev, format, arg...)		\
> +	dev_printk(KERN_DEBUG, dev, format, ##arg)
> +#else
> +#define dev_dbg(dev, format, arg...)				\
> +({								\
> +	if (0)							\
> +		dev_printk(KERN_DEBUG, dev, format, ##arg);	\
> +	0;							\
> +})
> +#endif
> +
>  #define dev_level_ratelimited(dev_level, dev, fmt, ...)			\
>  do {									\
>  	static DEFINE_RATELIMIT_STATE(_rs,				\
> @@ -955,33 +981,21 @@ do {									\
>  	dev_level_ratelimited(dev_notice, dev, fmt, ##__VA_ARGS__)
>  #define dev_info_ratelimited(dev, fmt, ...)				\
>  	dev_level_ratelimited(dev_info, dev, fmt, ##__VA_ARGS__)
> +#if defined(CONFIG_DYNAMIC_DEBUG) || defined(DEBUG)
>  #define dev_dbg_ratelimited(dev, fmt, ...)				\
> -	dev_level_ratelimited(dev_dbg, dev, fmt, ##__VA_ARGS__)
> -
> -/*
> - * Stupid hackaround for existing uses of non-printk uses dev_info
> - *
> - * Note that the definition of dev_info below is actually _dev_info
> - * and a macro is used to avoid redefining dev_info
> - */
> -
> -#define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg)
> -
> -#if defined(CONFIG_DYNAMIC_DEBUG)
> -#define dev_dbg(dev, format, ...)		     \
> -do {						     \
> -	dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \
> +do {									\
> +	static DEFINE_RATELIMIT_STATE(_rs,				\
> +				      DEFAULT_RATELIMIT_INTERVAL,	\
> +				      DEFAULT_RATELIMIT_BURST);		\
> +	DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);			\
> +	if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT) &&	\
> +	    __ratelimit(&_rs))						\
> +		__dynamic_pr_debug(&descriptor, pr_fmt(fmt),		\
> +				   ##__VA_ARGS__);			\
>  } while (0)
> -#elif defined(DEBUG)
> -#define dev_dbg(dev, format, arg...)		\
> -	dev_printk(KERN_DEBUG, dev, format, ##arg)
>  #else
> -#define dev_dbg(dev, format, arg...)				\
> -({								\
> -	if (0)							\
> -		dev_printk(KERN_DEBUG, dev, format, ##arg);	\
> -	0;							\
> -})
> +#define dev_dbg_ratelimited(dev, fmt, ...)			\
> +	no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
>  #endif
>  
>  #ifdef VERBOSE_DEBUG
> 

http://patchwork.linuxtv.org/patch/14158/
Koji have the old one.
Please do patch whit this one from Hiroshi, so we can use it with
latest&greatest media_build without 'usb_urb_complete' flood.
In an attach is Beefy Miracle aligned diff.

Muchas gracias,
poma

--- v3-1-1-driver-core-Shut-up-dev_dbg_reatelimited-without-DEBUG.patch	2012-10-01 12:21:59.743710145 +0200
+++ device.h-3.5.4-2.fc17.x86_64.patch	2012-10-01 14:29:52.875520419 +0200
@@ -1,8 +1,6 @@
-diff --git a/include/linux/device.h b/include/linux/device.h
-index 9648331..bb6ffcb 100644
---- a/include/linux/device.h
-+++ b/include/linux/device.h
-@@ -932,6 +932,32 @@ int _dev_info(const struct device *dev, const char *fmt, ...)
+--- /usr/src/kernels/3.5.4-2.fc17.x86_64/include/linux/device.h.orig	2012-10-01 14:28:24.609693878 +0200
++++ /usr/src/kernels/3.5.4-2.fc17.x86_64/include/linux/device.h	2012-10-01 14:29:50.725647318 +0200
+@@ -939,6 +939,32 @@
  
  #endif
  
@@ -35,7 +33,7 @@
  #define dev_level_ratelimited(dev_level, dev, fmt, ...)			\
  do {									\
  	static DEFINE_RATELIMIT_STATE(_rs,				\
-@@ -955,33 +981,21 @@ do {									\
+@@ -962,33 +988,21 @@
  	dev_level_ratelimited(dev_notice, dev, fmt, ##__VA_ARGS__)
  #define dev_info_ratelimited(dev, fmt, ...)				\
  	dev_level_ratelimited(dev_info, dev, fmt, ##__VA_ARGS__)

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux