* [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation
@ 2023-05-25 16:25 Andi Shyti
2023-05-25 16:25 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Andi Shyti @ 2023-05-25 16:25 UTC (permalink / raw)
To: Intel GFX
From: Fei Yang <fei.yang@intel.com>
[ Just resending this patch to in order to have the results from the igt's
written for this patch ]
This series introduce a new extension for GEM_CREATE,
1. end support for set caching ioctl [PATCH 1/2]
2. add set_pat extension for gem_create [PATCH 2/2]
v2: drop one patch that was merged separately
commit 341ad0e8e254 ("drm/i915/mtl: Add PTE encode function")
v3: rebased on https://patchwork.freedesktop.org/series/117082/
v4: fix missing unlock introduced in v3, and
solve a rebase conflict
v5: replace obj->cache_level with pat_set_by_user,
fix i915_cache_level_str() for legacy platforms.
v6: rebased on https://patchwork.freedesktop.org/series/117480/
v7: rebased on https://patchwork.freedesktop.org/series/117528/
v8: dropped the two dependent patches that has been merged
separately. Add IGT link and Tested-by (MESA).
v9: addressing comments (Andi)
v10: acked-by and tested-by MESA
v11: drop "end support for set caching ioctl" (merged)
remove tools/include/uapi/drm/i915_drm.h
v12: drop Bspec reference in comment. add to commit message instead
Test-with: 20230524155610.360748-2-fei.yang@intel.com
Fei Yang (1):
drm/i915: Allow user to set cache at BO creation
drivers/gpu/drm/i915/gem/i915_gem_create.c | 36 +++++++++++++++++++
drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 ++++
include/uapi/drm/i915_drm.h | 41 ++++++++++++++++++++++
3 files changed, 83 insertions(+)
--
2.40.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [Intel-gfx] [CI v12 1/1] drm/i915: Allow user to set cache at BO creation 2023-05-25 16:25 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti @ 2023-05-25 16:25 ` Andi Shyti 2023-05-25 17:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Allow user to set cache at BO creation (rev13) Patchwork ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Andi Shyti @ 2023-05-25 16:25 UTC (permalink / raw) To: Intel GFX From: Fei Yang <fei.yang@intel.com> To comply with the design that buffer objects shall have immutable cache setting through out their life cycle, {set, get}_caching ioctl's are no longer supported from MTL onward. With that change caching policy can only be set at object creation time. The current code applies a default (platform dependent) cache setting for all objects. However this is not optimal for performance tuning. The patch extends the existing gem_create uAPI to let user set PAT index for the object at creation time. The new extension is platform independent, so UMD's can switch to using this extension for older platforms as well, while {set, get}_caching are still supported on these legacy paltforms for compatibility reason. BSpec: 45101 Test igt@gem_create@create_ext_set_pat posted at https://patchwork.freedesktop.org/series/118314/ Tested with https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878 Signed-off-by: Fei Yang <fei.yang@intel.com> Cc: Chris Wilson <chris.p.wilson@linux.intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> Tested-by: Jordan Justen <jordan.l.justen@intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_create.c | 36 +++++++++++++++++++ drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 ++++ include/uapi/drm/i915_drm.h | 41 ++++++++++++++++++++++ 3 files changed, 83 insertions(+) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c index bfe1dbda4cb75..644a936248ad5 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c @@ -245,6 +245,7 @@ struct create_ext { unsigned int n_placements; unsigned int placement_mask; unsigned long flags; + unsigned int pat_index; }; static void repr_placements(char *buf, size_t size, @@ -394,11 +395,39 @@ static int ext_set_protected(struct i915_user_extension __user *base, void *data return 0; } +static int ext_set_pat(struct i915_user_extension __user *base, void *data) +{ + struct create_ext *ext_data = data; + struct drm_i915_private *i915 = ext_data->i915; + struct drm_i915_gem_create_ext_set_pat ext; + unsigned int max_pat_index; + + BUILD_BUG_ON(sizeof(struct drm_i915_gem_create_ext_set_pat) != + offsetofend(struct drm_i915_gem_create_ext_set_pat, rsvd)); + + if (copy_from_user(&ext, base, sizeof(ext))) + return -EFAULT; + + max_pat_index = INTEL_INFO(i915)->max_pat_index; + + if (ext.pat_index > max_pat_index) { + drm_dbg(&i915->drm, "PAT index is invalid: %u\n", + ext.pat_index); + return -EINVAL; + } + + ext_data->pat_index = ext.pat_index; + + return 0; +} + static const i915_user_extension_fn create_extensions[] = { [I915_GEM_CREATE_EXT_MEMORY_REGIONS] = ext_set_placements, [I915_GEM_CREATE_EXT_PROTECTED_CONTENT] = ext_set_protected, + [I915_GEM_CREATE_EXT_SET_PAT] = ext_set_pat, }; +#define PAT_INDEX_NOT_SET 0xffff /** * i915_gem_create_ext_ioctl - Creates a new mm object and returns a handle to it. * @dev: drm device pointer @@ -418,6 +447,7 @@ i915_gem_create_ext_ioctl(struct drm_device *dev, void *data, if (args->flags & ~I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS) return -EINVAL; + ext_data.pat_index = PAT_INDEX_NOT_SET; ret = i915_user_extensions(u64_to_user_ptr(args->extensions), create_extensions, ARRAY_SIZE(create_extensions), @@ -454,5 +484,11 @@ i915_gem_create_ext_ioctl(struct drm_device *dev, void *data, if (IS_ERR(obj)) return PTR_ERR(obj); + if (ext_data.pat_index != PAT_INDEX_NOT_SET) { + i915_gem_object_set_pat_index(obj, ext_data.pat_index); + /* Mark pat_index is set by UMD */ + obj->pat_set_by_user = true; + } + return i915_gem_publish(obj, file, &args->size, &args->handle); } diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c index 46a19b099ec88..97ac6fb37958f 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -208,6 +208,12 @@ bool i915_gem_object_can_bypass_llc(struct drm_i915_gem_object *obj) if (!(obj->flags & I915_BO_ALLOC_USER)) return false; + /* + * Always flush cache for UMD objects at creation time. + */ + if (obj->pat_set_by_user) + return true; + /* * EHL and JSL add the 'Bypass LLC' MOCS entry, which should make it * possible for userspace to bypass the GTT caching bits set by the diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index f31dfacde6014..4083a23e0614f 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -3679,9 +3679,13 @@ struct drm_i915_gem_create_ext { * * For I915_GEM_CREATE_EXT_PROTECTED_CONTENT usage see * struct drm_i915_gem_create_ext_protected_content. + * + * For I915_GEM_CREATE_EXT_SET_PAT usage see + * struct drm_i915_gem_create_ext_set_pat. */ #define I915_GEM_CREATE_EXT_MEMORY_REGIONS 0 #define I915_GEM_CREATE_EXT_PROTECTED_CONTENT 1 +#define I915_GEM_CREATE_EXT_SET_PAT 2 __u64 extensions; }; @@ -3796,6 +3800,43 @@ struct drm_i915_gem_create_ext_protected_content { __u32 flags; }; +/** + * struct drm_i915_gem_create_ext_set_pat - The + * I915_GEM_CREATE_EXT_SET_PAT extension. + * + * If this extension is provided, the specified caching policy (PAT index) is + * applied to the buffer object. + * + * Below is an example on how to create an object with specific caching policy: + * + * .. code-block:: C + * + * struct drm_i915_gem_create_ext_set_pat set_pat_ext = { + * .base = { .name = I915_GEM_CREATE_EXT_SET_PAT }, + * .pat_index = 0, + * }; + * struct drm_i915_gem_create_ext create_ext = { + * .size = PAGE_SIZE, + * .extensions = (uintptr_t)&set_pat_ext, + * }; + * + * int err = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE_EXT, &create_ext); + * if (err) ... + */ +struct drm_i915_gem_create_ext_set_pat { + /** @base: Extension link. See struct i915_user_extension. */ + struct i915_user_extension base; + /** + * @pat_index: PAT index to be set + * PAT index is a bit field in Page Table Entry to control caching + * behaviors for GPU accesses. The definition of PAT index is + * platform dependent and can be found in hardware specifications, + */ + __u32 pat_index; + /** @rsvd: reserved for future use */ + __u32 rsvd; +}; + /* ID of the protected content session managed by i915 when PXP is active */ #define I915_PROTECTED_CONTENT_DEFAULT_SESSION 0xf -- 2.40.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Allow user to set cache at BO creation (rev13) 2023-05-25 16:25 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti 2023-05-25 16:25 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti @ 2023-05-25 17:27 ` Patchwork 2023-05-25 19:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2023-05-26 8:56 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-05-25 17:27 UTC (permalink / raw) To: fei.yang; +Cc: intel-gfx == Series Details == Series: drm/i915: Allow user to set cache at BO creation (rev13) URL : https://patchwork.freedesktop.org/series/116870/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Allow user to set cache at BO creation (rev13) 2023-05-25 16:25 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti 2023-05-25 16:25 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti 2023-05-25 17:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Allow user to set cache at BO creation (rev13) Patchwork @ 2023-05-25 19:37 ` Patchwork 2023-05-26 8:56 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-05-25 19:37 UTC (permalink / raw) To: fei.yang; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 12288 bytes --] == Series Details == Series: drm/i915: Allow user to set cache at BO creation (rev13) URL : https://patchwork.freedesktop.org/series/116870/ State : success == Summary == CI Bug Log - changes from CI_DRM_13188 -> Patchwork_116870v13 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/index.html Participating hosts (39 -> 39) ------------------------------ Additional (1): bat-dg2-9 Missing (1): fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_116870v13: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@gem_exec_parallel@engines@userptr: - {bat-mtlp-6}: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/bat-mtlp-6/igt@gem_exec_parallel@engines@userptr.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-mtlp-6/igt@gem_exec_parallel@engines@userptr.html Known issues ------------ Here are the changes found in Patchwork_116870v13 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_mmap@basic: - bat-dg2-9: NOTRUN -> [SKIP][3] ([i915#4083]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@gem_mmap@basic.html * igt@gem_mmap_gtt@basic: - bat-dg2-9: NOTRUN -> [SKIP][4] ([i915#4077]) +2 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@gem_mmap_gtt@basic.html * igt@gem_render_tiled_blits@basic: - bat-dg2-9: NOTRUN -> [SKIP][5] ([i915#4079]) +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@gem_render_tiled_blits@basic.html * igt@i915_pm_backlight@basic-brightness: - bat-dg2-9: NOTRUN -> [SKIP][6] ([i915#5354] / [i915#7561]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@i915_pm_backlight@basic-brightness.html * igt@i915_pm_rps@basic-api: - bat-dg2-9: NOTRUN -> [SKIP][7] ([i915#6621]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@gt_heartbeat: - fi-kbl-soraka: [PASS][8] -> [DMESG-FAIL][9] ([i915#5334] / [i915#7872]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html - fi-glk-j4005: [PASS][10] -> [DMESG-FAIL][11] ([i915#5334]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/fi-glk-j4005/igt@i915_selftest@live@gt_heartbeat.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/fi-glk-j4005/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@requests: - bat-rpls-1: [PASS][12] -> [ABORT][13] ([i915#4983] / [i915#7911] / [i915#7920]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/bat-rpls-1/igt@i915_selftest@live@requests.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-rpls-1/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@slpc: - bat-rpls-2: NOTRUN -> [DMESG-WARN][14] ([i915#6367]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-rpls-2/igt@i915_selftest@live@slpc.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-rpls-2: NOTRUN -> [ABORT][15] ([i915#6687]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-dg2-9: NOTRUN -> [SKIP][16] ([i915#5190]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-x-tiled-legacy: - bat-dg2-9: NOTRUN -> [SKIP][17] ([i915#4212]) +2 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_addfb_basic@basic-x-tiled-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-dg2-9: NOTRUN -> [SKIP][18] ([i915#4215] / [i915#5190]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - bat-dg2-9: NOTRUN -> [SKIP][19] ([IGT#6] / [i915#4212]) +4 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - fi-glk-j4005: NOTRUN -> [SKIP][20] ([fdo#109271]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/fi-glk-j4005/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_chamelium_hpd@vga-hpd-fast: - bat-dg2-9: NOTRUN -> [SKIP][21] ([i915#7828]) +8 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_chamelium_hpd@vga-hpd-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-dg2-9: NOTRUN -> [SKIP][22] ([IGT#6] / [i915#4103] / [i915#4213]) +1 similar issue [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_force_connector_basic@force-load-detect: - bat-dg2-9: NOTRUN -> [SKIP][23] ([IGT#6] / [fdo#109285]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_force_connector_basic@prune-stale-modes: - bat-dg2-9: NOTRUN -> [SKIP][24] ([IGT#6] / [i915#5274]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1: - bat-dg2-8: [PASS][25] -> [FAIL][26] ([i915#7932]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html * igt@kms_psr@sprite_plane_onoff: - bat-dg2-9: NOTRUN -> [SKIP][27] ([IGT#6] / [i915#1072]) +3 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_psr@sprite_plane_onoff.html * igt@kms_setmode@basic-clone-single-crtc: - bat-dg2-9: NOTRUN -> [SKIP][28] ([IGT#6] / [i915#3555] / [i915#4579]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-flip: - bat-dg2-9: NOTRUN -> [SKIP][29] ([i915#3708]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html * igt@prime_vgem@basic-fence-mmap: - bat-dg2-9: NOTRUN -> [SKIP][30] ([i915#3708] / [i915#4077]) +1 similar issue [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-write: - bat-dg2-9: NOTRUN -> [SKIP][31] ([i915#3291] / [i915#3708]) +2 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-dg2-9/igt@prime_vgem@basic-write.html #### Possible fixes #### * igt@i915_selftest@live@late_gt_pm: - fi-glk-j4005: [ABORT][32] ([i915#6217]) -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/fi-glk-j4005/igt@i915_selftest@live@late_gt_pm.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/fi-glk-j4005/igt@i915_selftest@live@late_gt_pm.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][34] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][35] [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/bat-rpls-2/igt@i915_selftest@live@reset.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/bat-rpls-2/igt@i915_selftest@live@reset.html * igt@prime_vgem@basic-fence-mmap: - fi-kbl-soraka: [INCOMPLETE][36] -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/fi-kbl-soraka/igt@prime_vgem@basic-fence-mmap.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/fi-kbl-soraka/igt@prime_vgem@basic-fence-mmap.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6217]: https://gitlab.freedesktop.org/drm/intel/issues/6217 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872 [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#8189]: https://gitlab.freedesktop.org/drm/intel/issues/8189 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 Build changes ------------- * IGT: IGT_7303 -> IGTPW_9037 * Linux: CI_DRM_13188 -> Patchwork_116870v13 CI-20190529: 20190529 CI_DRM_13188: c32513de80b47e8f2f1ef45cfb753c0ba2800f75 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9037: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9037/index.html IGT_7303: 8f09a9f1da506db907b549bb477f3233b5416733 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_116870v13: c32513de80b47e8f2f1ef45cfb753c0ba2800f75 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits c8a090954f04 drm/i915: Allow user to set cache at BO creation == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/index.html [-- Attachment #2: Type: text/html, Size: 14248 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Allow user to set cache at BO creation (rev13) 2023-05-25 16:25 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti ` (2 preceding siblings ...) 2023-05-25 19:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2023-05-26 8:56 ` Patchwork 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-05-26 8:56 UTC (permalink / raw) To: fei.yang; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 16099 bytes --] == Series Details == Series: drm/i915: Allow user to set cache at BO creation (rev13) URL : https://patchwork.freedesktop.org/series/116870/ State : success == Summary == CI Bug Log - changes from CI_DRM_13188_full -> Patchwork_116870v13_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_116870v13_full: ### IGT changes ### #### Possible regressions #### * igt@gem_create@create-ext-set-pat (NEW): - {shard-dg1}: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-dg1-15/igt@gem_create@create-ext-set-pat.html New tests --------- New tests have been introduced between CI_DRM_13188_full and Patchwork_116870v13_full: ### New IGT tests (1) ### * igt@gem_create@create-ext-set-pat: - Statuses : 1 fail(s) 5 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_116870v13_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@preservation-s3@vecs0: - shard-apl: [PASS][2] -> [ABORT][3] ([i915#180]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl4/igt@gem_ctx_isolation@preservation-s3@vecs0.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl4/igt@gem_ctx_isolation@preservation-s3@vecs0.html * igt@gem_exec_endless@dispatch@rcs0: - shard-apl: [PASS][4] -> [TIMEOUT][5] ([i915#3778]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl6/igt@gem_exec_endless@dispatch@rcs0.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl2/igt@gem_exec_endless@dispatch@rcs0.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-apl: NOTRUN -> [SKIP][6] ([fdo#109271]) +4 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl1/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@kms_color@ctm-green-to-red@pipe-a-hdmi-a-1: - shard-snb: NOTRUN -> [SKIP][7] ([fdo#109271]) +18 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-snb1/igt@kms_color@ctm-green-to-red@pipe-a-hdmi-a-1.html * igt@kms_color@degamma@pipe-b-hdmi-a-1: - shard-snb: NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#4579]) +12 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-snb1/igt@kms_color@degamma@pipe-b-hdmi-a-1.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-apl: [PASS][9] -> [FAIL][10] ([IGT#6] / [i915#2346]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_flip@plain-flip-ts-check@b-hdmi-a1: - shard-glk: [PASS][11] -> [FAIL][12] ([i915#2122]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-glk6/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-glk7/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc: - shard-apl: NOTRUN -> [SKIP][13] ([IGT#6] / [fdo#109271]) +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html * igt@kms_psr2_sf@overlay-plane-update-continuous-sf: - shard-apl: NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#658]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl6/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html * igt@perf@stress-open-close@0-rcs0: - shard-glk: [PASS][15] -> [ABORT][16] ([i915#5213] / [i915#7941]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-glk3/igt@perf@stress-open-close@0-rcs0.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-glk3/igt@perf@stress-open-close@0-rcs0.html #### Possible fixes #### * igt@gem_barrier_race@remote-request@rcs0: - {shard-rkl}: [ABORT][17] ([i915#7461] / [i915#8211]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-rkl-1/igt@gem_barrier_race@remote-request@rcs0.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-rkl-3/igt@gem_barrier_race@remote-request@rcs0.html - {shard-dg1}: [ABORT][19] ([i915#7461] / [i915#8234]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-dg1-18/igt@gem_barrier_race@remote-request@rcs0.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-dg1-16/igt@gem_barrier_race@remote-request@rcs0.html * igt@gem_eio@unwedge-stress: - {shard-dg1}: [FAIL][21] ([i915#5784]) -> [PASS][22] +2 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-dg1-14/igt@gem_eio@unwedge-stress.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-dg1-14/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-flow@rcs0: - {shard-tglu}: [FAIL][23] ([i915#2842]) -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-tglu-7/igt@gem_exec_fair@basic-flow@rcs0.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-tglu-6/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-apl: [FAIL][25] ([i915#2842]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl6/igt@gem_exec_fair@basic-none-solo@rcs0.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][27] ([i915#2842]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - {shard-rkl}: [FAIL][29] ([i915#2842]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-rkl-2/igt@gem_exec_fair@basic-pace-solo@rcs0.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-rkl-1/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a: - {shard-rkl}: [SKIP][31] ([i915#1937] / [i915#4579]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-rkl-6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-rkl-7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html * igt@i915_selftest@live@gt_heartbeat: - shard-apl: [DMESG-FAIL][33] ([i915#5334]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl6/igt@i915_selftest@live@gt_heartbeat.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl4/igt@i915_selftest@live@gt_heartbeat.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [FAIL][35] ([IGT#6] / [i915#2346]) -> [PASS][36] +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][37] ([i915#2122]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-glk6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html * igt@perf_pmu@busy-idle-check-all@vecs0: - {shard-dg1}: [FAIL][39] ([i915#4521]) -> [PASS][40] +2 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-dg1-17/igt@perf_pmu@busy-idle-check-all@vecs0.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-dg1-17/igt@perf_pmu@busy-idle-check-all@vecs0.html #### Warnings #### * igt@kms_content_protection@srm@pipe-a-dp-1: - shard-apl: [TIMEOUT][41] ([i915#7173]) -> [FAIL][42] ([i915#7173]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13188/shard-apl6/igt@kms_content_protection@srm@pipe-a-dp-1.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/shard-apl3/igt@kms_content_protection@srm@pipe-a-dp-1.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313 [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023 [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#4521]: https://gitlab.freedesktop.org/drm/intel/issues/4521 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767 [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6786]: https://gitlab.freedesktop.org/drm/intel/issues/6786 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211 [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502 Build changes ------------- * IGT: IGT_7303 -> IGTPW_9037 * Linux: CI_DRM_13188 -> Patchwork_116870v13 CI-20190529: 20190529 CI_DRM_13188: c32513de80b47e8f2f1ef45cfb753c0ba2800f75 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9037: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9037/index.html IGT_7303: 8f09a9f1da506db907b549bb477f3233b5416733 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_116870v13: c32513de80b47e8f2f1ef45cfb753c0ba2800f75 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116870v13/index.html [-- Attachment #2: Type: text/html, Size: 13714 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation
@ 2023-05-26 17:29 Andi Shyti
2023-05-26 17:29 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti
0 siblings, 1 reply; 6+ messages in thread
From: Andi Shyti @ 2023-05-26 17:29 UTC (permalink / raw)
To: Intel GFX, Andi Shyti, Fei Yang
From: Fei Yang <fei.yang@intel.com>
[ Just resending this patch to in order to have the results from the igt's
written for this patch ]
This series introduce a new extension for GEM_CREATE,
1. end support for set caching ioctl [PATCH 1/2]
2. add set_pat extension for gem_create [PATCH 2/2]
v2: drop one patch that was merged separately
commit 341ad0e8e254 ("drm/i915/mtl: Add PTE encode function")
v3: rebased on https://patchwork.freedesktop.org/series/117082/
v4: fix missing unlock introduced in v3, and
solve a rebase conflict
v5: replace obj->cache_level with pat_set_by_user,
fix i915_cache_level_str() for legacy platforms.
v6: rebased on https://patchwork.freedesktop.org/series/117480/
v7: rebased on https://patchwork.freedesktop.org/series/117528/
v8: dropped the two dependent patches that has been merged
separately. Add IGT link and Tested-by (MESA).
v9: addressing comments (Andi)
v10: acked-by and tested-by MESA
v11: drop "end support for set caching ioctl" (merged)
remove tools/include/uapi/drm/i915_drm.h
v12: drop Bspec reference in comment. add to commit message instead
Test-with: 20230526172221.1438998-2-fei.yang@intel.com
Fei Yang (1):
drm/i915: Allow user to set cache at BO creation
drivers/gpu/drm/i915/gem/i915_gem_create.c | 36 +++++++++++++++++++
drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 ++++
include/uapi/drm/i915_drm.h | 41 ++++++++++++++++++++++
3 files changed, 83 insertions(+)
--
2.40.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [Intel-gfx] [CI v12 1/1] drm/i915: Allow user to set cache at BO creation 2023-05-26 17:29 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti @ 2023-05-26 17:29 ` Andi Shyti 0 siblings, 0 replies; 6+ messages in thread From: Andi Shyti @ 2023-05-26 17:29 UTC (permalink / raw) To: Intel GFX, Andi Shyti, Fei Yang From: Fei Yang <fei.yang@intel.com> To comply with the design that buffer objects shall have immutable cache setting through out their life cycle, {set, get}_caching ioctl's are no longer supported from MTL onward. With that change caching policy can only be set at object creation time. The current code applies a default (platform dependent) cache setting for all objects. However this is not optimal for performance tuning. The patch extends the existing gem_create uAPI to let user set PAT index for the object at creation time. The new extension is platform independent, so UMD's can switch to using this extension for older platforms as well, while {set, get}_caching are still supported on these legacy paltforms for compatibility reason. BSpec: 45101 Test igt@gem_create@create_ext_set_pat posted at https://patchwork.freedesktop.org/series/118314/ Tested with https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878 Signed-off-by: Fei Yang <fei.yang@intel.com> Cc: Chris Wilson <chris.p.wilson@linux.intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> Tested-by: Jordan Justen <jordan.l.justen@intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_create.c | 36 +++++++++++++++++++ drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 ++++ include/uapi/drm/i915_drm.h | 41 ++++++++++++++++++++++ 3 files changed, 83 insertions(+) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c index bfe1dbda4cb75..644a936248ad5 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c @@ -245,6 +245,7 @@ struct create_ext { unsigned int n_placements; unsigned int placement_mask; unsigned long flags; + unsigned int pat_index; }; static void repr_placements(char *buf, size_t size, @@ -394,11 +395,39 @@ static int ext_set_protected(struct i915_user_extension __user *base, void *data return 0; } +static int ext_set_pat(struct i915_user_extension __user *base, void *data) +{ + struct create_ext *ext_data = data; + struct drm_i915_private *i915 = ext_data->i915; + struct drm_i915_gem_create_ext_set_pat ext; + unsigned int max_pat_index; + + BUILD_BUG_ON(sizeof(struct drm_i915_gem_create_ext_set_pat) != + offsetofend(struct drm_i915_gem_create_ext_set_pat, rsvd)); + + if (copy_from_user(&ext, base, sizeof(ext))) + return -EFAULT; + + max_pat_index = INTEL_INFO(i915)->max_pat_index; + + if (ext.pat_index > max_pat_index) { + drm_dbg(&i915->drm, "PAT index is invalid: %u\n", + ext.pat_index); + return -EINVAL; + } + + ext_data->pat_index = ext.pat_index; + + return 0; +} + static const i915_user_extension_fn create_extensions[] = { [I915_GEM_CREATE_EXT_MEMORY_REGIONS] = ext_set_placements, [I915_GEM_CREATE_EXT_PROTECTED_CONTENT] = ext_set_protected, + [I915_GEM_CREATE_EXT_SET_PAT] = ext_set_pat, }; +#define PAT_INDEX_NOT_SET 0xffff /** * i915_gem_create_ext_ioctl - Creates a new mm object and returns a handle to it. * @dev: drm device pointer @@ -418,6 +447,7 @@ i915_gem_create_ext_ioctl(struct drm_device *dev, void *data, if (args->flags & ~I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS) return -EINVAL; + ext_data.pat_index = PAT_INDEX_NOT_SET; ret = i915_user_extensions(u64_to_user_ptr(args->extensions), create_extensions, ARRAY_SIZE(create_extensions), @@ -454,5 +484,11 @@ i915_gem_create_ext_ioctl(struct drm_device *dev, void *data, if (IS_ERR(obj)) return PTR_ERR(obj); + if (ext_data.pat_index != PAT_INDEX_NOT_SET) { + i915_gem_object_set_pat_index(obj, ext_data.pat_index); + /* Mark pat_index is set by UMD */ + obj->pat_set_by_user = true; + } + return i915_gem_publish(obj, file, &args->size, &args->handle); } diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c index 46a19b099ec88..97ac6fb37958f 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -208,6 +208,12 @@ bool i915_gem_object_can_bypass_llc(struct drm_i915_gem_object *obj) if (!(obj->flags & I915_BO_ALLOC_USER)) return false; + /* + * Always flush cache for UMD objects at creation time. + */ + if (obj->pat_set_by_user) + return true; + /* * EHL and JSL add the 'Bypass LLC' MOCS entry, which should make it * possible for userspace to bypass the GTT caching bits set by the diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index f31dfacde6014..4083a23e0614f 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -3679,9 +3679,13 @@ struct drm_i915_gem_create_ext { * * For I915_GEM_CREATE_EXT_PROTECTED_CONTENT usage see * struct drm_i915_gem_create_ext_protected_content. + * + * For I915_GEM_CREATE_EXT_SET_PAT usage see + * struct drm_i915_gem_create_ext_set_pat. */ #define I915_GEM_CREATE_EXT_MEMORY_REGIONS 0 #define I915_GEM_CREATE_EXT_PROTECTED_CONTENT 1 +#define I915_GEM_CREATE_EXT_SET_PAT 2 __u64 extensions; }; @@ -3796,6 +3800,43 @@ struct drm_i915_gem_create_ext_protected_content { __u32 flags; }; +/** + * struct drm_i915_gem_create_ext_set_pat - The + * I915_GEM_CREATE_EXT_SET_PAT extension. + * + * If this extension is provided, the specified caching policy (PAT index) is + * applied to the buffer object. + * + * Below is an example on how to create an object with specific caching policy: + * + * .. code-block:: C + * + * struct drm_i915_gem_create_ext_set_pat set_pat_ext = { + * .base = { .name = I915_GEM_CREATE_EXT_SET_PAT }, + * .pat_index = 0, + * }; + * struct drm_i915_gem_create_ext create_ext = { + * .size = PAGE_SIZE, + * .extensions = (uintptr_t)&set_pat_ext, + * }; + * + * int err = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE_EXT, &create_ext); + * if (err) ... + */ +struct drm_i915_gem_create_ext_set_pat { + /** @base: Extension link. See struct i915_user_extension. */ + struct i915_user_extension base; + /** + * @pat_index: PAT index to be set + * PAT index is a bit field in Page Table Entry to control caching + * behaviors for GPU accesses. The definition of PAT index is + * platform dependent and can be found in hardware specifications, + */ + __u32 pat_index; + /** @rsvd: reserved for future use */ + __u32 rsvd; +}; + /* ID of the protected content session managed by i915 when PXP is active */ #define I915_PROTECTED_CONTENT_DEFAULT_SESSION 0xf -- 2.40.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-05-26 17:29 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-25 16:25 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti 2023-05-25 16:25 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti 2023-05-25 17:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Allow user to set cache at BO creation (rev13) Patchwork 2023-05-25 19:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2023-05-26 8:56 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork -- strict thread matches above, loose matches on Subject: below -- 2023-05-26 17:29 [Intel-gfx] [CI v12 0/1] drm/i915: Allow user to set cache at BO creation Andi Shyti 2023-05-26 17:29 ` [Intel-gfx] [CI v12 1/1] " Andi Shyti
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox