Message ID | 1385062191-30854-1-git-send-email-robdclark@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Thu, Nov 21, 2013 at 02:29:51PM -0500, Rob Clark wrote: > For error traces in situations that can run away, it is nice to have a > rate-limited version of DRM_ERROR() to avoid massing log flooding. s/massing/massive/? Other than that, looks good: Reviewed-by: Thierry Reding <treding@nvidia.com>
On Fri, Nov 22, 2013 at 10:34 AM, Thierry Reding <thierry.reding@gmail.com> wrote: > On Thu, Nov 21, 2013 at 02:29:51PM -0500, Rob Clark wrote: >> For error traces in situations that can run away, it is nice to have a >> rate-limited version of DRM_ERROR() to avoid massing log flooding. > > s/massing/massive/? errg, yes Dave, let me know if you want me to resend or just smash that spelling fix in yourself BR, -R > Other than that, looks good: > > Reviewed-by: Thierry Reding <treding@nvidia.com>
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 0a372b2..dd6699e 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -56,6 +56,7 @@ #include <linux/mutex.h> #include <linux/io.h> #include <linux/slab.h> +#include <linux/ratelimit.h> #if defined(__alpha__) || defined(__powerpc__) #include <asm/pgtable.h> /* For pte_wrprotect */ #endif @@ -180,6 +181,22 @@ int drm_err(const char *func, const char *format, ...); #define DRM_ERROR(fmt, ...) \ drm_err(__func__, fmt, ##__VA_ARGS__) +/** + * Rate limited error output. Like DRM_ERROR() but won't flood the log. + * + * \param fmt printf() like format string. + * \param arg arguments + */ +#define DRM_ERROR_RATELIMITED(fmt, ...) \ +({ \ + static DEFINE_RATELIMIT_STATE(_rs, \ + DEFAULT_RATELIMIT_INTERVAL, \ + DEFAULT_RATELIMIT_BURST); \ + \ + if (__ratelimit(&_rs)) \ + drm_err(__func__, fmt, ##__VA_ARGS__); \ +}) + #define DRM_INFO(fmt, ...) \ printk(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
For error traces in situations that can run away, it is nice to have a rate-limited version of DRM_ERROR() to avoid massing log flooding. Signed-off-by: Rob Clark <robdclark@gmail.com> --- include/drm/drmP.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)