Chris Wilson cd82f37a9d drm/i915/shrinker: Wrap need_resched() inside preempt-disable
In order for us to successfully detect the end of a timeslice,
preemption must be disabled. Otherwise, inside the loop we may be
preempted many times without our noticing, and each time our timeslice
will be reset, invalidating need_resched()

Reported-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
Fixes: 290271de34f6 ("drm/i915: Spin for struct_mutex inside shrinker")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.13-rc1+
Link: https://patchwork.freedesktop.org/patch/msgid/20170804104135.26805-1-chris@chris-wilson.co.uk
Tested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
(cherry picked from commit 6cb0c6ad9e07f2c7971c4e8e0d9b7ceba151a925)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2017-08-07 13:38:56 +03:00
..
2017-07-09 18:48:37 -07:00
2017-07-12 16:26:04 -07:00
2017-06-14 12:31:58 -07:00
2017-06-14 12:31:58 -07:00
2017-06-16 13:58:27 +10:00
2017-07-09 18:48:37 -07:00
2017-07-09 18:48:37 -07:00
2017-07-09 18:48:37 -07:00
2017-06-16 13:58:27 +10:00
2017-06-12 09:42:18 -07:00
2017-06-16 13:58:27 +10:00
2017-05-08 09:28:39 +02:00
2017-06-16 13:58:27 +10:00
2017-06-16 13:58:27 +10:00
2017-06-14 12:31:58 -07:00