From d9eb3ce9a8a297256cf7d3e1d75b1f27b33f81eb Mon Sep 17 00:00:00 2001 From: Deepak Kumar Date: Wed, 21 Jun 2017 13:12:33 +0530 Subject: [PATCH] msm: kgsl: Limit the frequency of logging on memory allocation failure Excessive logging due to several successive memory allocation failure may cause a watchdog bite. Hence, this change adds ratelimit to logging on memory allocation failure. Change-Id: I8e5d78918a32c48ef7fa587f3dc63cbd1f065d5f Signed-off-by: Deepak Kumar --- drivers/gpu/msm/kgsl_sharedmem.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 7f4a5a3b251f..27733b068434 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "kgsl.h" #include "kgsl_sharedmem.h" @@ -699,6 +700,10 @@ kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, size_t len; unsigned int align; + static DEFINE_RATELIMIT_STATE(_rs, + DEFAULT_RATELIMIT_INTERVAL, + DEFAULT_RATELIMIT_BURST); + size = PAGE_ALIGN(size); if (size == 0 || size > UINT_MAX) return -EINVAL; @@ -761,7 +766,8 @@ kgsl_sharedmem_page_alloc_user(struct kgsl_memdesc *memdesc, */ memdesc->size = (size - len); - if (sharedmem_noretry_flag != true) + if (sharedmem_noretry_flag != true && + __ratelimit(&_rs)) KGSL_CORE_ERR( "Out of memory: only allocated %lldKB of %lldKB requested\n", (size - len) >> 10, size >> 10);