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
|
@ -1340,11 +1340,12 @@ unlock:
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
|
case -EAGAIN:
|
||||||
|
set_need_resched();
|
||||||
case 0:
|
case 0:
|
||||||
case -ERESTARTSYS:
|
case -ERESTARTSYS:
|
||||||
return VM_FAULT_NOPAGE;
|
return VM_FAULT_NOPAGE;
|
||||||
case -ENOMEM:
|
case -ENOMEM:
|
||||||
case -EAGAIN:
|
|
||||||
return VM_FAULT_OOM;
|
return VM_FAULT_OOM;
|
||||||
default:
|
default:
|
||||||
return VM_FAULT_SIGBUS;
|
return VM_FAULT_SIGBUS;
|
||||||
|
|
Loading…
Reference in New Issue