Commit 26af8931 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/breadcrumbs: Reduce missed-breadcrumb false positive rate



Change the on-cpu check to on-runqueue to catch if the waiter has been
woken (and reset its current_state back to TASK_UNINTERRUPTIBLE to
perform the seqno check) but is sleeping due to being preempted off the
cpu.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181203113701.12106-1-chris@chris-wilson.co.uk
parent 949fc52a
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -27,11 +27,7 @@

#include "i915_drv.h"

#ifdef CONFIG_SMP
#define task_asleep(tsk) ((tsk)->state & TASK_NORMAL && !(tsk)->on_cpu)
#else
#define task_asleep(tsk) ((tsk)->state & TASK_NORMAL)
#endif
#define task_asleep(tsk) ((tsk)->state & TASK_NORMAL && !(tsk)->on_rq)

static unsigned int __intel_breadcrumbs_wakeup(struct intel_breadcrumbs *b)
{