drm/i915: Handle GPU hangs during fault gracefully.
Instead of killing the process, just return no page found and reschedule the process giving the GPU some time to (hopefully) recover. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
75e9e9158f
commit
045e769ab6
1 changed files with 2 additions and 1 deletions
|
@ -1340,11 +1340,12 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
|||
mutex_unlock(&dev->struct_mutex);
|
||||
|
||||
switch (ret) {
|
||||
case -EAGAIN:
|
||||
set_need_resched();
|
||||
case 0:
|
||||
case -ERESTARTSYS:
|
||||
return VM_FAULT_NOPAGE;
|
||||
case -ENOMEM:
|
||||
case -EAGAIN:
|
||||
return VM_FAULT_OOM;
|
||||
default:
|
||||
return VM_FAULT_SIGBUS;
|
||||
|
|
Loading…
Add table
Reference in a new issue