Skip to content

Commit

Permalink
drm/i915: Convert clflushed pagetables over to WC maps
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Chris Wilson committed Feb 15, 2017
1 parent cbc4e9e commit 8448661
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 170 deletions.
2 changes: 0 additions & 2 deletions drivers/gpu/drm/i915/i915_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -2481,8 +2481,6 @@ struct drm_i915_private {
/* Used to save the pipe-to-encoder mapping for audio */
struct intel_encoder *av_enc_map[I915_MAX_PIPES];

I915_SELFTEST_DECLARE(struct fault_attr vm_fault);

/*
* NOTE: This is the dri1/ums dungeon, don't add stuff here. Your patch
* will be rejected. Instead look for a better place.
Expand Down
Loading

0 comments on commit 8448661

Please sign in to comment.