|
@@ -465,7 +465,7 @@ i915_gem_shmem_pread(struct drm_device *dev,
|
|
|
|
|
|
mutex_unlock(&dev->struct_mutex);
|
|
|
|
|
|
- if (!prefaulted) {
|
|
|
+ if (likely(!i915_prefault_disable) && !prefaulted) {
|
|
|
ret = fault_in_multipages_writeable(user_data, remain);
|
|
|
/* Userspace is tricking us, but we've already clobbered
|
|
|
* its pages with the prefault and promised to write the
|
|
@@ -860,10 +860,12 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
|
|
|
args->size))
|
|
|
return -EFAULT;
|
|
|
|
|
|
- ret = fault_in_multipages_readable(to_user_ptr(args->data_ptr),
|
|
|
- args->size);
|
|
|
- if (ret)
|
|
|
- return -EFAULT;
|
|
|
+ if (likely(!i915_prefault_disable)) {
|
|
|
+ ret = fault_in_multipages_readable(to_user_ptr(args->data_ptr),
|
|
|
+ args->size);
|
|
|
+ if (ret)
|
|
|
+ return -EFAULT;
|
|
|
+ }
|
|
|
|
|
|
ret = i915_mutex_lock_interruptible(dev);
|
|
|
if (ret)
|