]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Retain default context state across shrinking
authorVenkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Fri, 27 Nov 2020 12:07:16 +0000 (12:07 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Nov 2020 20:12:55 +0000 (20:12 +0000)
commit7be3376b96cb56e78395713b195872ab13268965
tree5c974447e0acd148c7ad435e7138a0530a9364ea
parentacbfe1ee47e6f1466542a08e4b80778509191fad
drm/i915/gt: Retain default context state across shrinking

As we use a shmemfs file to hold the context state, when not in use it
may be swapped out, such as across suspend. Since we wrote into the
shmemfs without marking the pages as dirty, the contents may be dropped
instead of being written back to swap. On re-using the shmemfs file,
such as creating a new context after resume, the contents of that file
were likely garbage and so the new context could then hang the GPU.

Simply mark the page as being written when copying into the shmemfs
file, and it the new contents will be retained across swapout.

Fixes: f1cdfce7ec5a ("drm/i915/gt: Keep a no-frills swappable copy of the default context state")
Cc: Sudeep Dutt <sudeep.dutt@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: CQ Tang <cq.tang@intel.com>
Signed-off-by: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: <stable@vger.kernel.org> # v5.8+
Link: https://patchwork.freedesktop.org/patch/msgid/20201127120718.454037-161-matthew.auld@intel.com
drivers/gpu/drm/i915/gt/shmem_utils.c