* [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages.
@ 2024-03-12 14:55 Jonathan Cavitt
2024-03-12 19:06 ` ✗ Fi.CI.BAT: failure for drm/i915/gem: Execbuffer objects must have struct pages. (rev2) Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jonathan Cavitt @ 2024-03-12 14:55 UTC (permalink / raw)
To: intel-gfx
Cc: saurabhg.gupta, jonathan.cavitt, matthew.d.roper,
lionel.g.landwerlin, chris.p.wilson, brian.welty
We cannot write requests to objects without struct pages, so escape
early if the requests are bound to objects that lack them.
Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
---
v2: s/vma-obj/vma->obj
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index d3a771afb083e..adb4f9e78cb49 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -3313,6 +3313,13 @@ eb_requests_create(struct i915_execbuffer *eb, struct dma_fence *in_fence,
unsigned int i;
for_each_batch_create_order(eb, i) {
+ /* Do not write requests to objects without struct pages. */
+ if (eb->batches[i]->vma &&
+ !i915_gem_object_has_struct_page(eb->batches[i]->vma->obj)) {
+ out_fence = ERR_PTR(-EINVAL);
+ return out_fence;
+ }
+
/* Allocate a request for this batch buffer nice and early. */
eb->requests[i] = i915_request_create(eb_find_context(eb, i));
if (IS_ERR(eb->requests[i])) {
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* ✗ Fi.CI.BAT: failure for drm/i915/gem: Execbuffer objects must have struct pages. (rev2)
2024-03-12 14:55 [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Jonathan Cavitt
@ 2024-03-12 19:06 ` Patchwork
2024-03-14 13:51 ` [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Andi Shyti
2024-03-14 16:41 ` Nirmoy Das
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2024-03-12 19:06 UTC (permalink / raw)
To: Jonathan Cavitt; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 11527 bytes --]
== Series Details ==
Series: drm/i915/gem: Execbuffer objects must have struct pages. (rev2)
URL : https://patchwork.freedesktop.org/series/131000/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_14421 -> Patchwork_131000v2
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_131000v2 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_131000v2, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/index.html
Participating hosts (36 -> 33)
------------------------------
Additional (1): fi-glk-j4005
Missing (4): bat-dg2-14 bat-mtlp-8 fi-snb-2520m fi-kbl-8809g
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_131000v2:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_fence@basic-await@bcs0:
- bat-atsm-1: [PASS][1] -> [FAIL][2] +74 other tests fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-atsm-1/igt@gem_exec_fence@basic-await@bcs0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-atsm-1/igt@gem_exec_fence@basic-await@bcs0.html
* igt@gem_exec_fence@basic-wait@vcs1:
- bat-dg2-8: [PASS][3] -> [FAIL][4] +72 other tests fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg2-8/igt@gem_exec_fence@basic-wait@vcs1.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-8/igt@gem_exec_fence@basic-wait@vcs1.html
* igt@gem_softpin@safe-alignment:
- bat-dg2-9: [PASS][5] -> [FAIL][6] +73 other tests fail
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg2-9/igt@gem_softpin@safe-alignment.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-9/igt@gem_softpin@safe-alignment.html
* igt@i915_module_load@load:
- bat-dg2-13: [PASS][7] -> [FAIL][8] +1 other test fail
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg2-13/igt@i915_module_load@load.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-13/igt@i915_module_load@load.html
* igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2:
- bat-dg1-7: [PASS][9] -> [FAIL][10] +97 other tests fail
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg1-7/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2.html
* igt@kms_pm_rpm@basic-rte:
- bat-dg1-7: NOTRUN -> [FAIL][11] +5 other tests fail
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@kms_pm_rpm@basic-rte.html
#### Warnings ####
* igt@kms_pm_rpm@basic-pci-d3-state:
- bat-dg1-7: [ABORT][12] ([i915#10367]) -> [FAIL][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg1-7/igt@kms_pm_rpm@basic-pci-d3-state.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@kms_pm_rpm@basic-pci-d3-state.html
Known issues
------------
Here are the changes found in Patchwork_131000v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-glk-j4005: NOTRUN -> [SKIP][14] ([i915#2190])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/fi-glk-j4005/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-glk-j4005: NOTRUN -> [SKIP][15] ([i915#4613]) +3 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/fi-glk-j4005/igt@gem_lmem_swapping@basic.html
* igt@gem_lmem_swapping@basic@lmem0:
- bat-dg1-7: NOTRUN -> [FAIL][16] ([i915#10378])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@gem_lmem_swapping@basic@lmem0.html
- bat-dg2-9: [PASS][17] -> [FAIL][18] ([i915#10378])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg2-9/igt@gem_lmem_swapping@basic@lmem0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-9/igt@gem_lmem_swapping@basic@lmem0.html
- bat-dg2-8: [PASS][19] -> [FAIL][20] ([i915#10378])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-dg2-8/igt@gem_lmem_swapping@basic@lmem0.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-8/igt@gem_lmem_swapping@basic@lmem0.html
* igt@gem_lmem_swapping@verify-random:
- bat-arls-2: NOTRUN -> [SKIP][21] ([i915#10213]) +3 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@gem_lmem_swapping@verify-random.html
- bat-dg2-8: NOTRUN -> [SKIP][22] ([i915#9643])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg2-8/igt@gem_lmem_swapping@verify-random.html
* igt@i915_pm_rps@basic-api:
- bat-dg1-7: NOTRUN -> [SKIP][23] ([i915#6621])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@i915_pm_rps@basic-api.html
- bat-arls-2: NOTRUN -> [SKIP][24] ([i915#10209])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@hangcheck:
- bat-rpls-3: [PASS][25] -> [DMESG-WARN][26] ([i915#5591])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-glk-j4005: NOTRUN -> [SKIP][27] +10 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/fi-glk-j4005/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_dsc@dsc-basic:
- bat-arls-2: NOTRUN -> [SKIP][28] ([i915#9886])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@kms_dsc@dsc-basic.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-arls-2: NOTRUN -> [SKIP][29] ([i915#10207])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_psr@psr-primary-mmap-gtt@edp-1:
- bat-arls-2: NOTRUN -> [SKIP][30] ([i915#10196] / [i915#4077] / [i915#9688])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
* igt@kms_psr@psr-primary-page-flip:
- bat-dg1-7: NOTRUN -> [SKIP][31] ([i915#9732]) +3 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-arls-2: NOTRUN -> [SKIP][32] ([i915#10208] / [i915#8809])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: NOTRUN -> [SKIP][33] ([i915#3555])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- bat-dg1-7: NOTRUN -> [SKIP][34] ([i915#3708]) +3 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- bat-dg1-7: NOTRUN -> [SKIP][35] ([i915#3708] / [i915#4077]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
- bat-arls-2: NOTRUN -> [SKIP][36] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-arls-2: NOTRUN -> [SKIP][37] ([i915#10212] / [i915#3708])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-read:
- bat-arls-2: NOTRUN -> [SKIP][38] ([i915#10214] / [i915#3708])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@prime_vgem@basic-read.html
* igt@prime_vgem@basic-write:
- bat-arls-2: NOTRUN -> [SKIP][39] ([i915#10216] / [i915#3708])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@prime_vgem@basic-write.html
#### Possible fixes ####
* igt@kms_cursor_legacy@basic-flip-before-cursor-legacy:
- bat-arls-2: [ABORT][40] ([i915#10237]) -> [PASS][41]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14421/bat-arls-2/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/bat-arls-2/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html
[i915#10196]: https://gitlab.freedesktop.org/drm/intel/issues/10196
[i915#10207]: https://gitlab.freedesktop.org/drm/intel/issues/10207
[i915#10208]: https://gitlab.freedesktop.org/drm/intel/issues/10208
[i915#10209]: https://gitlab.freedesktop.org/drm/intel/issues/10209
[i915#10212]: https://gitlab.freedesktop.org/drm/intel/issues/10212
[i915#10213]: https://gitlab.freedesktop.org/drm/intel/issues/10213
[i915#10214]: https://gitlab.freedesktop.org/drm/intel/issues/10214
[i915#10216]: https://gitlab.freedesktop.org/drm/intel/issues/10216
[i915#10237]: https://gitlab.freedesktop.org/drm/intel/issues/10237
[i915#10367]: https://gitlab.freedesktop.org/drm/intel/issues/10367
[i915#10378]: https://gitlab.freedesktop.org/drm/intel/issues/10378
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[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#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
[i915#9643]: https://gitlab.freedesktop.org/drm/intel/issues/9643
[i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
[i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886
Build changes
-------------
* Linux: CI_DRM_14421 -> Patchwork_131000v2
CI-20190529: 20190529
CI_DRM_14421: 1dfbf3ced62236dd318c701e3f21f5a33c226d0d @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7756: 7756
Patchwork_131000v2: 1dfbf3ced62236dd318c701e3f21f5a33c226d0d @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
9ca57c6d226d drm/i915/gem: Execbuffer objects must have struct pages.
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131000v2/index.html
[-- Attachment #2: Type: text/html, Size: 13456 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages.
2024-03-12 14:55 [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Jonathan Cavitt
2024-03-12 19:06 ` ✗ Fi.CI.BAT: failure for drm/i915/gem: Execbuffer objects must have struct pages. (rev2) Patchwork
@ 2024-03-14 13:51 ` Andi Shyti
2024-03-14 16:41 ` Nirmoy Das
2 siblings, 0 replies; 4+ messages in thread
From: Andi Shyti @ 2024-03-14 13:51 UTC (permalink / raw)
To: Jonathan Cavitt
Cc: intel-gfx, saurabhg.gupta, matthew.d.roper, lionel.g.landwerlin,
chris.p.wilson, brian.welty
Hi Jonathan,
On Tue, Mar 12, 2024 at 07:55:06AM -0700, Jonathan Cavitt wrote:
> We cannot write requests to objects without struct pages, so escape
> early if the requests are bound to objects that lack them.
>
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
is this a fix? Do you need
Fixes: 544460c33821 ("drm/i915: Multi-BB execbuf")
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <stable@vger.kernel.org> # v5.16+
?
Andi
> ---
>
> v2: s/vma-obj/vma->obj
>
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index d3a771afb083e..adb4f9e78cb49 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -3313,6 +3313,13 @@ eb_requests_create(struct i915_execbuffer *eb, struct dma_fence *in_fence,
> unsigned int i;
>
> for_each_batch_create_order(eb, i) {
> + /* Do not write requests to objects without struct pages. */
> + if (eb->batches[i]->vma &&
> + !i915_gem_object_has_struct_page(eb->batches[i]->vma->obj)) {
> + out_fence = ERR_PTR(-EINVAL);
> + return out_fence;
> + }
> +
> /* Allocate a request for this batch buffer nice and early. */
> eb->requests[i] = i915_request_create(eb_find_context(eb, i));
> if (IS_ERR(eb->requests[i])) {
> --
> 2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages.
2024-03-12 14:55 [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Jonathan Cavitt
2024-03-12 19:06 ` ✗ Fi.CI.BAT: failure for drm/i915/gem: Execbuffer objects must have struct pages. (rev2) Patchwork
2024-03-14 13:51 ` [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Andi Shyti
@ 2024-03-14 16:41 ` Nirmoy Das
2 siblings, 0 replies; 4+ messages in thread
From: Nirmoy Das @ 2024-03-14 16:41 UTC (permalink / raw)
To: Jonathan Cavitt, intel-gfx
Cc: saurabhg.gupta, matthew.d.roper, lionel.g.landwerlin,
chris.p.wilson, brian.welty
On 3/12/2024 3:55 PM, Jonathan Cavitt wrote:
> We cannot write requests to objects without struct pages, so escape
> early if the requests are bound to objects that lack them.
>
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
>
> v2: s/vma-obj/vma->obj
>
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index d3a771afb083e..adb4f9e78cb49 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -3313,6 +3313,13 @@ eb_requests_create(struct i915_execbuffer *eb, struct dma_fence *in_fence,
> unsigned int i;
>
> for_each_batch_create_order(eb, i) {
> + /* Do not write requests to objects without struct pages. */
> + if (eb->batches[i]->vma &&
> + !i915_gem_object_has_struct_page(eb->batches[i]->vma->obj)) {
As far as I understand, motivation of this patch is to avoid doing
execbuf on dmabuf imported BO which are in error state of something.
i915_gem_object_has_struct_page() checks "obj->mem_flags &
I915_BO_FLAG_STRUCT_PAGE" which is very i915 specific.
So I think this will not work and will cause regression in existing
program which are trying to do the same with valid BO. Unfortunately I
don't have any idea how to better detect that at this moment.
Regards,
Nirmoy
> + out_fence = ERR_PTR(-EINVAL);
> + return out_fence;
> + }
> +
> /* Allocate a request for this batch buffer nice and early. */
> eb->requests[i] = i915_request_create(eb_find_context(eb, i));
> if (IS_ERR(eb->requests[i])) {
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-14 16:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-12 14:55 [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Jonathan Cavitt
2024-03-12 19:06 ` ✗ Fi.CI.BAT: failure for drm/i915/gem: Execbuffer objects must have struct pages. (rev2) Patchwork
2024-03-14 13:51 ` [PATCH v2] drm/i915/gem: Execbuffer objects must have struct pages Andi Shyti
2024-03-14 16:41 ` Nirmoy Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox