[Bug][5.18-rc0] Between commits ed4643521e6a and 34af78c4e616, appears warning "WARNING: CPU: 31 PID: 51848 at drivers/dma-buf/dma-fence-array.c:191 dma_fence_array_create+0x101/0x120" and some games stopped working.
Christian König
christian.koenig at amd.com
Fri Apr 8 11:13:11 UTC 2022
Am 08.04.22 um 13:01 schrieb Mikhail Gavrilov:
> Hi Christian
>
>> those are two independent and already known problems.
>>
>> The warning triggered from the sync_file is already fixed in
>> drm-misc-next-fixes, but so far I couldn't figure out why the games
>> suddenly doesn't work any more.
> I thought that these warnings are related to the stuck of the listed games.
>
>> There is a bug report for that, but bisecting the changes didn't yielded
>> anything valuable so far.
>>
>> So if you can come up with something that would be rather valuable.
> I found how to fix my build problems. They are all related to gcc12.
> And making again git bisect and found which commit lead to stuck the
> games "Forza Horizon 5", "Forza Horizon 4", "Cyberpunk 2077".
> At least it affected hardware Radeon 6900 XT, Radeon 6800M and Radeon VII.
I own you a beer.
I still don't know what happens here, but that makes at least a bit more
sense than a patch which only changes comments :)
Looks like we are missing something here. Can I send you a patch to try
something later today?
Thanks,
Christian.
>
> $ git bisect log
> git bisect start
> # good: [ed4643521e6af8ab8ed1e467630a85884d2696cf] Merge tag
> 'arm-dt-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
> git bisect good ed4643521e6af8ab8ed1e467630a85884d2696cf
> # bad: [34af78c4e616c359ed428d79fe4758a35d2c5473] Merge tag
> 'iommu-updates-v5.18' of
> git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
> git bisect bad 34af78c4e616c359ed428d79fe4758a35d2c5473
> # good: [4a0cb83ba6e0cd73a50fa4f84736846bf0029f2b] netdevice: add
> missing dm_private kdoc
> git bisect good 4a0cb83ba6e0cd73a50fa4f84736846bf0029f2b
> # skip: [2ab82efeeed885c0210a0029df93bb95a316e8c7] Merge tag
> 'drm-intel-gt-next-2022-03-03' of
> git://anongit.freedesktop.org/drm/drm-intel into drm-next
> git bisect skip 2ab82efeeed885c0210a0029df93bb95a316e8c7
> # good: [00598b056aa6d46c7a6819efa850ec9d0d690d76] scsi: smartpqi:
> Expose SAS address for SATA drives
> git bisect good 00598b056aa6d46c7a6819efa850ec9d0d690d76
> # good: [00598b056aa6d46c7a6819efa850ec9d0d690d76] scsi: smartpqi:
> Expose SAS address for SATA drives
> git bisect good 00598b056aa6d46c7a6819efa850ec9d0d690d76
> # skip: [c674c5b9342e5cb0f3d9e9bcaf37dbe2087845e5] drm/i915/xehp: CCS
> should use RCS setup functions
> git bisect skip c674c5b9342e5cb0f3d9e9bcaf37dbe2087845e5
> # good: [f0d4ce59f4d48622044933054a0e0cefa91ba15e] drm/i915: Disable
> DRRS on IVB/HSW port != A
> git bisect good f0d4ce59f4d48622044933054a0e0cefa91ba15e
> # skip: [6de7e4f02640fba2ffa6ac04e2be13785d614175] Merge tag
> 'drm-msm-next-2022-03-01' of https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fdrm%2Fmsm&data=04%7C01%7Cchristian.koenig%40amd.com%7Cfb3893e4302546eb959608da194f3614%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637850125371388430%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=vlmJpTnApB4G9cnTiXK2U%2B8Qc6ZqDESk8sCdZmN0w1I%3D&reserved=0
> into drm-next
> git bisect skip 6de7e4f02640fba2ffa6ac04e2be13785d614175
> # bad: [868f4357ed0d1e2f96bbd67d4ac862aa6335effe] drm/amd/display: Add
> DMUB support for DCN316
> git bisect bad 868f4357ed0d1e2f96bbd67d4ac862aa6335effe
> # good: [39da460fd4c0f8e7290dcc9cbfc9375de9d0eeca] drm/amd/display:
> Fix DP LT sequence on EQ fail
> git bisect good 39da460fd4c0f8e7290dcc9cbfc9375de9d0eeca
> # good: [3f268ef06f8cf3c481dbd5843d564f5170c6df54] drm/ttm: add back a
> reference to the bdev to the res manager
> git bisect good 3f268ef06f8cf3c481dbd5843d564f5170c6df54
> # bad: [123db17ddff007080d464e785689fb14f94cbc7a] Merge tag
> 'amd-drm-next-5.18-2022-02-11-1' of
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fagd5f%2Flinux&data=04%7C01%7Cchristian.koenig%40amd.com%7Cfb3893e4302546eb959608da194f3614%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637850125371388430%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=UVN%2B7LS7%2FWeSJRfRptlnHCYHE1fffbSIw5GbhP7YWM0%3D&reserved=0 into drm-next
> git bisect bad 123db17ddff007080d464e785689fb14f94cbc7a
> # bad: [24992ab0b8b0d2521caa9c3dcbed0e2a56cbe3d0] drm/amdkfd: Fix
> prototype warning for get_process_num_bos
> git bisect bad 24992ab0b8b0d2521caa9c3dcbed0e2a56cbe3d0
> # good: [1cbbc8d4f788af4c260ef3cae05902ef7b191197] drm/radeon/uvd: Fix
> forgotten unmap buffer objects
> git bisect good 1cbbc8d4f788af4c260ef3cae05902ef7b191197
> # good: [69f915cc97c4bb82b34105a47abf613f7c87215d] drm/amdgpu: loose
> check for umc poison mode
> git bisect good 69f915cc97c4bb82b34105a47abf613f7c87215d
> # good: [8bbd4d83a68beaf54ae01b2e2aa2024ff1dfc0ba] drm/amdgpu: Reset
> OOB table error count info
> git bisect good 8bbd4d83a68beaf54ae01b2e2aa2024ff1dfc0ba
> # bad: [1915a433954262ac7466469d1a4684ac54218af4] drm/amdgpu: adjust
> register address calculation
> git bisect bad 1915a433954262ac7466469d1a4684ac54218af4
> # bad: [461fa7b0ac565ef25c1da0ced31005dd437883a7] drm/amdgpu: remove ctx->lock
> git bisect bad 461fa7b0ac565ef25c1da0ced31005dd437883a7
> # first bad commit: [461fa7b0ac565ef25c1da0ced31005dd437883a7]
> drm/amdgpu: remove ctx->lock
>
> 461fa7b0ac565ef25c1da0ced31005dd437883a7 is the first bad commit
> commit 461fa7b0ac565ef25c1da0ced31005dd437883a7
> Author: Ken Xue <Ken.Xue at amd.com>
> Date: Fri Feb 11 16:18:46 2022 -0500
>
> drm/amdgpu: remove ctx->lock
>
> KMD reports a warning on holding a lock from drm_syncobj_find_fence,
> when running amdgpu_test case “syncobj timeline test”.
>
> ctx->lock was designed to prevent concurrent "amdgpu_ctx_wait_prev_fence"
> calls and avoid dead reservation lock from GPU reset. since no reservation
> lock is held in latest GPU reset any more, ctx->lock can be simply removed
> and concurrent "amdgpu_ctx_wait_prev_fence" call also can be prevented by
> PD root bo reservation lock.
>
> call stacks:
> =================
> //hold lock
> amdgpu_cs_ioctl->amdgpu_cs_parser_init->mutex_lock(&parser->ctx->lock);
> …
> //report warning
> amdgpu_cs_dependencies->amdgpu_cs_process_syncobj_timeline_in_dep \
> ->amdgpu_syncobj_lookup_and_add_to_sync -> drm_syncobj_find_fence \
> -> lockdep_assert_none_held_once
> …
> amdgpu_cs_ioctl->amdgpu_cs_parser_fini->mutex_unlock(&parser->ctx->lock);
>
> Signed-off-by: Ken Xue <Ken.Xue at amd.com>
> Reviewed-by: Christian König <christian.koenig at amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 16 +++++++++++-----
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 --
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h | 1 -
> 3 files changed, 11 insertions(+), 8 deletions(-)
>
> After reverting commits 57230f0ce6eda6d47a2029b7b3a39cc5bb63fe32,
> 461fa7b0ac565ef25c1da0ced31005dd437883a7 the games "Forza Horizon 5",
> "Forza Horizon 4", "Cyberpunk 2077" start working again.
> Removing commit 57230f0ce6eda6d47a2029b7b3a39cc5bb63fe32 isn't really
> needed. I made it because I didn't want to resolve conflicts.
>
>
More information about the amd-gfx
mailing list