summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/selftests
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-02-15 08:43:40 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2017-02-15 10:07:18 +0000
commit8448661d65f6f5dbcdb9c5cba185b284f2464b65 (patch)
tree9f9d49a7e58323b08f26d2633fb0c3b2a83c682b /drivers/gpu/drm/i915/selftests
parentcbc4e9e6a6d31fcc44921d2be41104425be8ab01 (diff)
drm/i915: Convert clflushed pagetables over to WC maps
We flush the entire page every time we update a few bytes, making the update of a page table many, many times slower than is required. If we create a WC map of the page for our updates, we can avoid the clflush but incur additional cost for creating the pagetable. We amoritize that cost by reusing page vmappings, and only changing the page protection in batches. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/selftests')
-rw-r--r--drivers/gpu/drm/i915/selftests/i915_gem_gtt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
index 320c6879fd83..e23753181720 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
@@ -832,17 +832,17 @@ static int shrink_hole(struct drm_i915_private *i915,
unsigned long prime;
int err;
- i915->vm_fault.probability = 999;
- atomic_set(&i915->vm_fault.times, -1);
+ vm->fault_attr.probability = 999;
+ atomic_set(&vm->fault_attr.times, -1);
for_each_prime_number_from(prime, 0, ULONG_MAX - 1) {
- i915->vm_fault.interval = prime;
+ vm->fault_attr.interval = prime;
err = __shrink_hole(i915, vm, hole_start, hole_end, end_time);
if (err)
break;
}
- memset(&i915->vm_fault, 0, sizeof(i915->vm_fault));
+ memset(&vm->fault_attr, 0, sizeof(vm->fault_attr));
return err;
}