[Intel-gfx] [PATCH 1/6] drm/print: introduce new struct drm_device based WARN* macros

Sam Ravnborg sam at ravnborg.org
Mon Jan 13 18:54:56 UTC 2020


Hi Pankaj.

On Mon, Jan 13, 2020 at 05:25:52PM +0530, Pankaj Bharadiya wrote:
> Add new struct drm_device based WARN* macros. These are modeled after
> the core kernel device based WARN* macros. These would be preferred
> over the regular WARN* macros, where possible.
> 
> These macros include device information in the backtrace, so we know
> what device the warnings originate from.
> 
> Knowing the device specific information in the backtrace would be
> helpful in development all around.
> 
> Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya at intel.com>
> ---
>  include/drm/drm_print.h | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index 8f99d389792d..61a7224e697d 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -553,4 +553,34 @@ void __drm_err(const char *format, ...);
>  #define DRM_DEBUG_PRIME_RATELIMITED(fmt, ...)				\
>  	DRM_DEV_DEBUG_PRIME_RATELIMITED(NULL, fmt, ##__VA_ARGS__)
>  
> +/*
> + * struct drm_device based WARNs
> + *
> + *
> + * drm_WARN*() acts like WARN*(), but with the key difference of
> + * using device specific information so that we know from which device
> + * warning is originating from.
> + *
> + * Prefer drm_device based dev_WARN* over regular WARN*
> + */
...

> +	drm_WARN_ONCE((drm), (x), "%s",					\
> +		      "drm_WARN_ON_ONCE(" __stringify(x) ")")
> +
>  #endif /* DRM_PRINT_H_ */

As this is the now recommend way to use WARN() and friends, can we have
this moved upward in this file.
So we at some not-so-distant-future can have all the legacy logging in
the bottom of the file, and all the shiny new stuff at the top.
So people browsing the file see the new stuff before the legacy stuff.

Not a big deal - we can always move it later if we are inclined to do
so.

Very good that you follow-up with some actual usage.
This is a good way to verify that you got it right.

	Sam


More information about the dri-devel mailing list