mirror of https://gitee.com/openkylin/linux.git
drm/i915/gtt: disable 2M pages for pre-gen11
We currently disable THP(Transparent-Huge-Pages) for our shmem objects due to a performance regression with read BW in some internal benchmarks. Given that this is our main source of 2M pages, there really isn't much point in enabling 2M GTT pages, especially as that comes at the cost of disabling the GTT cache. However from gen11 it looks like we should hopefully see the HW issue resolved. Given this opt for only enabling 2M GTT pages from gen11 onwards. Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190809193456.3836-2-matthew.auld@intel.com
This commit is contained in:
parent
1feb7864b2
commit
aaa914cd1c
|
@ -522,8 +522,6 @@ static const struct intel_device_info intel_haswell_gt3_info = {
|
||||||
#define GEN8_FEATURES \
|
#define GEN8_FEATURES \
|
||||||
G75_FEATURES, \
|
G75_FEATURES, \
|
||||||
GEN(8), \
|
GEN(8), \
|
||||||
.page_sizes = I915_GTT_PAGE_SIZE_4K | \
|
|
||||||
I915_GTT_PAGE_SIZE_2M, \
|
|
||||||
.has_logical_ring_contexts = 1, \
|
.has_logical_ring_contexts = 1, \
|
||||||
.ppgtt_type = INTEL_PPGTT_FULL, \
|
.ppgtt_type = INTEL_PPGTT_FULL, \
|
||||||
.ppgtt_size = 48, \
|
.ppgtt_size = 48, \
|
||||||
|
@ -586,8 +584,7 @@ static const struct intel_device_info intel_cherryview_info = {
|
||||||
|
|
||||||
#define GEN9_DEFAULT_PAGE_SIZES \
|
#define GEN9_DEFAULT_PAGE_SIZES \
|
||||||
.page_sizes = I915_GTT_PAGE_SIZE_4K | \
|
.page_sizes = I915_GTT_PAGE_SIZE_4K | \
|
||||||
I915_GTT_PAGE_SIZE_64K | \
|
I915_GTT_PAGE_SIZE_64K
|
||||||
I915_GTT_PAGE_SIZE_2M
|
|
||||||
|
|
||||||
#define GEN9_FEATURES \
|
#define GEN9_FEATURES \
|
||||||
GEN8_FEATURES, \
|
GEN8_FEATURES, \
|
||||||
|
@ -727,8 +724,14 @@ static const struct intel_device_info intel_cannonlake_info = {
|
||||||
.gt = 2,
|
.gt = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define GEN11_DEFAULT_PAGE_SIZES \
|
||||||
|
.page_sizes = I915_GTT_PAGE_SIZE_4K | \
|
||||||
|
I915_GTT_PAGE_SIZE_64K | \
|
||||||
|
I915_GTT_PAGE_SIZE_2M
|
||||||
|
|
||||||
#define GEN11_FEATURES \
|
#define GEN11_FEATURES \
|
||||||
GEN10_FEATURES, \
|
GEN10_FEATURES, \
|
||||||
|
GEN11_DEFAULT_PAGE_SIZES, \
|
||||||
.pipe_offsets = { \
|
.pipe_offsets = { \
|
||||||
[TRANSCODER_A] = PIPE_A_OFFSET, \
|
[TRANSCODER_A] = PIPE_A_OFFSET, \
|
||||||
[TRANSCODER_B] = PIPE_B_OFFSET, \
|
[TRANSCODER_B] = PIPE_B_OFFSET, \
|
||||||
|
|
Loading…
Reference in New Issue