From f9b24c7421792b365c40b0d543633c7f609965a5 Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Thu, 18 May 2017 14:38:05 -0400 Subject: [PATCH 1712/4131] drm/amdkfd: Print event limit messages only once per process To avoid spamming the log. Change-Id: I4db281fca9cd1c41510571afe182f760f96fa78b Signed-off-by: Felix Kuehling --- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 10 ++++++++-- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c index 3877d68..21712fa 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c @@ -390,11 +390,17 @@ create_signal_event(struct file *devkfd, struct kfd_process *p, { if ((ev->type == KFD_EVENT_TYPE_SIGNAL) && (p->signal_event_count == KFD_SIGNAL_EVENT_LIMIT)) { - pr_warn("Signal event wasn't created because limit was reached\n"); + if (!p->signal_event_limit_reached) { + pr_warn("Signal event wasn't created because limit was reached\n"); + p->signal_event_limit_reached = true; + } return -ENOMEM; } else if ((ev->type == KFD_EVENT_TYPE_DEBUG) && (p->debug_event_count == KFD_DEBUG_EVENT_LIMIT)) { - pr_warn("Debug event wasn't created because limit was reached\n"); + if (!p->debug_event_limit_reached) { + pr_warn("Debug event wasn't created because limit was reached\n"); + p->debug_event_limit_reached = true; + } return -ENOMEM; } diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h index 0ea3e2c..94938d6 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -732,6 +732,8 @@ struct kfd_process { u32 next_nonsignal_event_id; size_t signal_event_count; size_t debug_event_count; + bool signal_event_limit_reached; + bool debug_event_limit_reached; struct rb_root bo_interval_tree; -- 2.7.4