]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Remove bogus locking check in the hangcheck code
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 3 Feb 2015 10:45:40 +0000 (11:45 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 3 Feb 2015 16:13:04 +0000 (17:13 +0100)
commitf92f506d6c2a4e1730c8ad3ba1a543ba5adc92ac
treeda8cc18f5ce451d3e5cbfcdb90508f77d903c9e9
parent30c3c2dfca8c2142e6ef8d778999a54225bd015a
drm/i915: Remove bogus locking check in the hangcheck code

You can _never_ assert that a lock is not held, except in some very
restricted corner cases where it's guranteed that your code is running
single-threade (e.g. driver load before you've published any pointers
leading to that lock).

In addition the early return breaks a bunch of testcases since with
highly concurrent hangcheck stress tests the reset fails to work and
the test doesn't recover and time out.

This regression has been introduced in

commit 34efe9ca91a510a68edcc7c7dd5fb3444f607b70
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Wed Jan 28 17:03:14 2015 +0200

    drm/i915: Remove nested work in gpu error handling

Aside: It is possible to check whether a given task doesn't hold a
lock, but only when lockdep is enabled, using the lockdep_assert_held
stuff.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88908
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
drivers/gpu/drm/i915/i915_irq.c