diff mbox series

[1/2] drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS

Message ID 20220324172143.377104-1-matthew.auld@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS | expand

Commit Message

Matthew Auld March 24, 2022, 5:21 p.m. UTC
We only need this when allocating device local-memory, where this
influences the drm_buddy. Currently there is some funny behaviour where
an "in limbo" system memory object is lacking the relevant placement
flags etc. before we first allocate the ttm_tt, leading to ttm
performing a move when not needed, since the current placement is seen
as not compatible.

Suggested-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Fixes: 2ed38cec5606 ("drm/i915: opportunistically apply ALLOC_CONTIGIOUS")
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Thomas Hellström March 25, 2022, 7:16 a.m. UTC | #1
On 3/24/22 18:21, Matthew Auld wrote:
> We only need this when allocating device local-memory, where this
> influences the drm_buddy. Currently there is some funny behaviour where
> an "in limbo" system memory object is lacking the relevant placement
> flags etc. before we first allocate the ttm_tt, leading to ttm
> performing a move when not needed, since the current placement is seen
> as not compatible.
>
> Suggested-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Fixes: 2ed38cec5606 ("drm/i915: opportunistically apply ALLOC_CONTIGIOUS")
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
> index e4a06fcf741a..97e648fa76bd 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
> @@ -133,6 +133,9 @@ i915_ttm_place_from_region(const struct intel_memory_region *mr,
>   	memset(place, 0, sizeof(*place));
>   	place->mem_type = intel_region_to_ttm_type(mr);
>   
> +	if (mr->type == INTEL_MEMORY_SYSTEM)
> +		return;
> +

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>

>   	if (flags & I915_BO_ALLOC_CONTIGUOUS)
>   		place->flags |= TTM_PL_FLAG_CONTIGUOUS;
>   	if (offset != I915_BO_INVALID_OFFSET) {
Matthew Auld March 25, 2022, 9:48 a.m. UTC | #2
On 25/03/2022 09:22, Patchwork wrote:
> *Patch Details*
> *Series:*	series starting with [1/2] drm/i915/ttm: limit where we apply 
> TTM_PL_FLAG_CONTIGUOUS (rev2)
> *URL:*	https://patchwork.freedesktop.org/series/101749/ 
> <https://patchwork.freedesktop.org/series/101749/>
> *State:*	failure
> *Details:* 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/index.html 
> <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/index.html>
> 
> 
>   CI Bug Log - changes from CI_DRM_11403 -> Patchwork_22677
> 
> 
>     Summary
> 
> *FAILURE*
> 
> Serious unknown changes coming with Patchwork_22677 absolutely need to be
> verified manually.
> 
> If you think the reported changes have nothing to do with the changes
> introduced in Patchwork_22677, please notify your bug team 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_22677/index.html
> 
> 
>     Participating hosts (44 -> 40)
> 
> Missing (4): fi-bsw-cyan shard-rkl shard-tglu fi-bdw-samus
> 
> 
>     Possible new issues
> 
> Here are the unknown changes that may have been introduced in 
> Patchwork_22677:
> 
> 
>       IGT changes
> 
> 
>         Possible regressions
> 
>   * igt@i915_selftest@live@gt_engines:
>       o fi-rkl-guc: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html>
>         -> INCOMPLETE
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html>

Unrelated fail.

> 
> 
>         Suppressed
> 
> The following results come from untrusted machines, tests, or statuses.
> They do not affect the overall result.
> 
>   * igt@i915_selftest@live@uncore:
>       o {bat-rpls-2}: NOTRUN -> INCOMPLETE
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/bat-rpls-2/igt@i915_selftest@live@uncore.html>
> 
> 
>     Known issues
> 
> Here are the changes found in Patchwork_22677 that come from known issues:
> 
> 
>       IGT changes
> 
> 
>         Issues hit
> 
>   * igt@runner@aborted:
>       o fi-rkl-guc: NOTRUN -> FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-rkl-guc/igt@runner@aborted.html>
>         (i915#4312 <https://gitlab.freedesktop.org/drm/intel/issues/4312>)
> 
> 
>         Possible fixes
> 
>   *
> 
>     igt@i915_module_load@reload:
> 
>       o {bat-rpls-2}: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/bat-rpls-2/igt@i915_module_load@reload.html>
>         (i915#4391
>         <https://gitlab.freedesktop.org/drm/intel/issues/4391>) -> PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/bat-rpls-2/igt@i915_module_load@reload.html>
>   *
> 
>     igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
> 
>       o fi-cfl-8109u: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html>
>         (i915#295 <https://gitlab.freedesktop.org/drm/intel/issues/295>)
>         -> PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html>
>         +10 similar issues
>   *
> 
>     igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c:
> 
>       o fi-cfl-8109u: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html>
>         (i915#295 <https://gitlab.freedesktop.org/drm/intel/issues/295>
>         / i915#5341
>         <https://gitlab.freedesktop.org/drm/intel/issues/5341>) -> PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html>
> 
> {name}: This element is suppressed. This means it is ignored when computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
> 
>     Build changes
> 
>   * Linux: CI_DRM_11403 -> Patchwork_22677
> 
> CI-20190529: 20190529
> CI_DRM_11403: 76ccfdacc3c78b22c90127356a2d19241f452208 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
> IGT_6392: 5a78ea9ff9c0a77bec5b094bf7e9d82c9848702b @ 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> Patchwork_22677: 2c1ea7309b6ade223d932cd43b4f7735d57b32d9 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
> 
> == Linux commits ==
> 
> 2c1ea7309b6a drm/i915/migrate: move the sanity check
> 1da8e5cdeb99 drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS
>
Nirmoy Das March 25, 2022, 10:03 a.m. UTC | #3
On 3/25/2022 8:16 AM, Thomas Hellström wrote:
>
> On 3/24/22 18:21, Matthew Auld wrote:
>> We only need this when allocating device local-memory, where this
>> influences the drm_buddy. Currently there is some funny behaviour where
>> an "in limbo" system memory object is lacking the relevant placement
>> flags etc. before we first allocate the ttm_tt, leading to ttm
>> performing a move when not needed, since the current placement is seen
>> as not compatible.
>>
>> Suggested-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Fixes: 2ed38cec5606 ("drm/i915: opportunistically apply 
>> ALLOC_CONTIGIOUS")
>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
>> ---
>>   drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c 
>> b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> index e4a06fcf741a..97e648fa76bd 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> @@ -133,6 +133,9 @@ i915_ttm_place_from_region(const struct 
>> intel_memory_region *mr,
>>       memset(place, 0, sizeof(*place));
>>       place->mem_type = intel_region_to_ttm_type(mr);
>>   +    if (mr->type == INTEL_MEMORY_SYSTEM)
>> +        return;
>> +
>
> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>


Reviewed-by: Nirmoy Das <nirmoy.das@amd.com>


>
>>       if (flags & I915_BO_ALLOC_CONTIGUOUS)
>>           place->flags |= TTM_PL_FLAG_CONTIGUOUS;
>>       if (offset != I915_BO_INVALID_OFFSET) {
Nirmoy Das March 25, 2022, 10:05 a.m. UTC | #4
On 3/25/2022 11:03 AM, Das, Nirmoy wrote:
> Reviewed-by: Nirmoy Das <nirmoy.das@amd.com>
Sorry, I meant this r-b for the  2nd patch and for this one Acked-by: 
Nirmoy Das <nirmoy.das@amd.com>
Nirmoy Das March 25, 2022, 10:06 a.m. UTC | #5
On 3/25/2022 11:05 AM, Das, Nirmoy wrote:
>
> On 3/25/2022 11:03 AM, Das, Nirmoy wrote:
>> Reviewed-by: Nirmoy Das <nirmoy.das@amd.com>
> Sorry, I meant this r-b for the  2nd patch and for this one Acked-by: 
> Nirmoy Das <nirmoy.das@amd.com>
hmm old habit, please use : Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Nirmoy Das March 25, 2022, 10:09 a.m. UTC | #6
On 3/25/2022 11:06 AM, Das, Nirmoy wrote:
>
> On 3/25/2022 11:05 AM, Das, Nirmoy wrote:
>>
>> On 3/25/2022 11:03 AM, Das, Nirmoy wrote:
>>> Reviewed-by: Nirmoy Das <nirmoy.das@amd.com>
>> Sorry, I meant this r-b for the  2nd patch and for this one Acked-by: 
>> Nirmoy Das <nirmoy.das@amd.com>
> hmm old habit, please use : Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Same for patch 1 Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>.  I need 
to some more coffee.
Vudum, Lakshminarayana March 25, 2022, 3:34 p.m. UTC | #7
Regression on RKL is related to 
https://gitlab.freedesktop.org/drm/intel/-/issues/4418

Thanks,
Lakshmi.
-----Original Message-----
From: Auld, Matthew <matthew.auld@intel.com> 
Sent: Friday, March 25, 2022 2:49 AM
To: intel-gfx@lists.freedesktop.org; Vudum, Lakshminarayana <lakshminarayana.vudum@intel.com>
Subject: Re: ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS (rev2)

On 25/03/2022 09:22, Patchwork wrote:
> *Patch Details*
> *Series:*	series starting with [1/2] drm/i915/ttm: limit where we apply 
> TTM_PL_FLAG_CONTIGUOUS (rev2)
> *URL:*	https://patchwork.freedesktop.org/series/101749/ 
> <https://patchwork.freedesktop.org/series/101749/>
> *State:*	failure
> *Details:*
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/index.html
> <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/index.html>
> 
> 
>   CI Bug Log - changes from CI_DRM_11403 -> Patchwork_22677
> 
> 
>     Summary
> 
> *FAILURE*
> 
> Serious unknown changes coming with Patchwork_22677 absolutely need to 
> be verified manually.
> 
> If you think the reported changes have nothing to do with the changes 
> introduced in Patchwork_22677, please notify your bug team 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_22677/index.html
> 
> 
>     Participating hosts (44 -> 40)
> 
> Missing (4): fi-bsw-cyan shard-rkl shard-tglu fi-bdw-samus
> 
> 
>     Possible new issues
> 
> Here are the unknown changes that may have been introduced in
> Patchwork_22677:
> 
> 
>       IGT changes
> 
> 
>         Possible regressions
> 
>   * igt@i915_selftest@live@gt_engines:
>       o fi-rkl-guc: PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-rkl-guc/igt@i915_selftest@live@gt_engines.html>
>         -> INCOMPLETE
>         
> <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-rkl-guc/i
> gt@i915_selftest@live@gt_engines.html>

Unrelated fail.

> 
> 
>         Suppressed
> 
> The following results come from untrusted machines, tests, or statuses.
> They do not affect the overall result.
> 
>   * igt@i915_selftest@live@uncore:
>       o {bat-rpls-2}: NOTRUN -> INCOMPLETE
>         
> <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/bat-rpls-2/i
> gt@i915_selftest@live@uncore.html>
> 
> 
>     Known issues
> 
> Here are the changes found in Patchwork_22677 that come from known issues:
> 
> 
>       IGT changes
> 
> 
>         Issues hit
> 
>   * igt@runner@aborted:
>       o fi-rkl-guc: NOTRUN -> FAIL
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-rkl-guc/igt@runner@aborted.html>
>         (i915#4312 
> <https://gitlab.freedesktop.org/drm/intel/issues/4312>)
> 
> 
>         Possible fixes
> 
>   *
> 
>     igt@i915_module_load@reload:
> 
>       o {bat-rpls-2}: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/bat-rpls-2/igt@i915_module_load@reload.html>
>         (i915#4391
>         <https://gitlab.freedesktop.org/drm/intel/issues/4391>) -> PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/bat-rpls-2/igt@i915_module_load@reload.html>
>   *
> 
>     igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
> 
>       o fi-cfl-8109u: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html>
>         (i915#295 <https://gitlab.freedesktop.org/drm/intel/issues/295>)
>         -> PASS
>         <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html>
>         +10 similar issues
>   *
> 
>     igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c:
> 
>       o fi-cfl-8109u: DMESG-WARN
>         <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11403/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html>
>         (i915#295 <https://gitlab.freedesktop.org/drm/intel/issues/295>
>         / i915#5341
>         <https://gitlab.freedesktop.org/drm/intel/issues/5341>) -> PASS
>         
> <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22677/fi-cfl-8109u
> /igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html>
> 
> {name}: This element is suppressed. This means it is ignored when 
> computing the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
> 
>     Build changes
> 
>   * Linux: CI_DRM_11403 -> Patchwork_22677
> 
> CI-20190529: 20190529
> CI_DRM_11403: 76ccfdacc3c78b22c90127356a2d19241f452208 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
> IGT_6392: 5a78ea9ff9c0a77bec5b094bf7e9d82c9848702b @ 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> Patchwork_22677: 2c1ea7309b6ade223d932cd43b4f7735d57b32d9 @ 
> git://anongit.freedesktop.org/gfx-ci/linux
> 
> == Linux commits ==
> 
> 2c1ea7309b6a drm/i915/migrate: move the sanity check
> 1da8e5cdeb99 drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index e4a06fcf741a..97e648fa76bd 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -133,6 +133,9 @@  i915_ttm_place_from_region(const struct intel_memory_region *mr,
 	memset(place, 0, sizeof(*place));
 	place->mem_type = intel_region_to_ttm_type(mr);
 
+	if (mr->type == INTEL_MEMORY_SYSTEM)
+		return;
+
 	if (flags & I915_BO_ALLOC_CONTIGUOUS)
 		place->flags |= TTM_PL_FLAG_CONTIGUOUS;
 	if (offset != I915_BO_INVALID_OFFSET) {