]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Convert clflushed pagetables over to WC maps
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 15 Feb 2017 08:43:40 +0000 (08:43 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 15 Feb 2017 10:07:18 +0000 (10:07 +0000)
commitb81b8ee382041b228553a71157f4da970a8291aa
tree9f9d49a7e58323b08f26d2633fb0c3b2a83c682b
parent865bd6c71a64582a8f585121f40ee677c1066c56
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>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gem_gtt.h
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c