[6.1][regression] after commit dd80d9c8eecac8c516da5b240d01a35660ba6cb6 some games (Cyberpunk 2077, Forza Horizon 4/5) hang at start
Thorsten Leemhuis
regressions at leemhuis.info
Mon Nov 14 09:43:19 UTC 2022
Hi, this is your Linux kernel regression tracker. Top-posting for once,
to make this easily accessible to everyone.
Christian, was any progress made to address this? It looks stalled sine
10+ days, as I looked for posts and commits that referenced this report,
but couldn't find anything.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
P.S.: As the Linux kernel's regression tracker I deal with a lot of
reports and sometimes miss something important when writing mails like
this. If that's the case here, don't hesitate to tell me in a public
reply, it's in everyone's interest to set the public record straight.
On 02.11.22 14:43, Christian König wrote:
> Am 02.11.22 um 14:36 schrieb Mikhail Gavrilov:
>> On Tue, Nov 1, 2022 at 10:52 PM Christian König
>> <ckoenig.leichtzumerken at gmail.com> wrote:
>>> Let's focus on one problem at a time.
>>>
>>> The issue here is that somehow userptr handling became racy after we
>>> removed the lock, but I don't see why.
>>>
>>> We need to fix this ASAP since it is probably a much wider problem and
>>> the additional lock just hides it somehow.
>>>
>>> Going to provide you with an updated patch tomorrow.
>>>
>>> Thanks,
>>> Christian.
>> Recently sackboy has been updated and now the kernel log contains a
>> trace very similar to the one in the first post, even with the patch
>> applied.
>>
>> [ 155.948044] ------------[ cut here ]------------
>> [ 155.948164] WARNING: CPU: 3 PID: 4850 at
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:678
>> amdgpu_ttm_tt_get_user_pages+0x14c/0x190 [amdgpu]
>> [ 155.948342] Modules linked in: uinput rfcomm snd_seq_dummy
>> snd_hrtimer nft_objref nf_conntrack_netbios_ns nf_conntrack_broadcast
>> nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet
>> nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat
>> nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables nfnetlink
>> qrtr bnep intel_rapl_msr intel_rapl_common snd_hda_codec_realtek
>> snd_sof_amd_renoir snd_sof_amd_acp snd_hda_codec_generic
>> snd_hda_codec_hdmi snd_sof_pci sunrpc binfmt_misc snd_sof
>> snd_hda_intel snd_sof_utils snd_intel_dspcfg mt7921e
>> snd_intel_sdw_acpi snd_hda_codec mt7921_common snd_soc_core
>> edac_mce_amd mt76_connac_lib btusb snd_hda_core snd_compress snd_hwdep
>> mt76 btrtl ac97_bus kvm_amd snd_pcm_dmaengine btbcm snd_rpl_pci_acp6x
>> snd_pci_acp6x btintel mac80211 btmtk snd_seq snd_seq_device kvm
>> snd_pcm snd_pci_acp5x libarc4 bluetooth irqbypass vfat snd_timer
>> snd_rn_pci_acp3x fat rapl snd_acp_config asus_nb_wmi snd cfg80211
>> snd_soc_acpi wmi_bmof k10temp pcspkr
>> [ 155.948436] snd_pci_acp3x i2c_piix4 soundcore asus_wireless
>> amd_pmc joydev zram amdgpu drm_ttm_helper ttm crct10dif_pclmul
>> hid_asus crc32_pclmul asus_wmi crc32c_intel iommu_v2 ledtrig_audio
>> polyval_clmulni gpu_sched sparse_keymap polyval_generic
>> platform_profile drm_buddy drm_display_helper nvme rfkill
>> ghash_clmulni_intel hid_multitouch ucsi_acpi sha512_ssse3 nvme_core
>> typec_ucsi serio_raw sp5100_tco r8169 ccp cec nvme_common typec
>> i2c_hid_acpi i2c_hid video wmi ip6_tables ip_tables fuse
>> [ 155.948540] CPU: 3 PID: 4850 Comm: Sackboy-Win64-T Tainted: G
>> W L ------- ---
>> 6.1.0-0.rc3.20221101git5aaef24b5c6d.29.fc38.x86_64 #1
>> [ 155.948544] Hardware name: ASUSTeK COMPUTER INC. ROG Strix
>> G513QY_G513QY/G513QY, BIOS G513QY.318 03/29/2022
>> [ 155.948547] RIP: 0010:amdgpu_ttm_tt_get_user_pages+0x14c/0x190
>> [amdgpu]
>> [ 155.948748] Code: 9e f1 e9 32 ff ff ff 4c 89 e9 89 ea 48 c7 c6 a8
>> a3 fd c0 48 c7 c7 88 81 1e c1 e8 af 97 ea f1 eb 8e 66 90 bd f2 ff ff
>> ff eb 8d <0f> 0b eb f5 bd fd ff ff ff eb 82 bd f2 ff ff ff e9 62 ff ff
>> ff 48
>> [ 155.948751] RSP: 0018:ffff960b544d3a50 EFLAGS: 00010282
>> [ 155.948756] RAX: ffff8a4e40d44e00 RBX: ffff8a4f0e564140 RCX:
>> 0000000000000001
>> [ 155.948759] RDX: 0000000000000000 RSI: ffff8a4e40d44e00 RDI:
>> ffff8a4f4b52b400
>> [ 155.948761] RBP: ffff8a4e8c979000 R08: 0000000000000dc0 R09:
>> 00000000ffffffff
>> [ 155.948764] R10: 0000000000000001 R11: 0000000000000000 R12:
>> ffff8a4e8aaad558
>> [ 155.948767] R13: 000000003b910000 R14: ffff8a4f0e667180 R15:
>> ffff8a4f4b52b458
>> [ 155.948770] FS: 00007fa13fe006c0(0000) GS:ffff8a5d16e00000(0000)
>> knlGS:0000000036f80000
>> [ 155.948772] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [ 155.948775] CR2: 0000000025c9e1d0 CR3: 0000000361990000 CR4:
>> 0000000000750ee0
>> [ 155.948778] PKRU: 55555554
>> [ 155.948780] Call Trace:
>> [ 155.948783] <TASK>
>> [ 155.948790] amdgpu_cs_ioctl+0x9fd/0x2030 [amdgpu]
>> [ 155.948992] ? amdgpu_cs_find_mapping+0xe0/0xe0 [amdgpu]
>> [ 155.949155] drm_ioctl_kernel+0xac/0x160
>> [ 155.949165] drm_ioctl+0x1e7/0x450
>> [ 155.949172] ? amdgpu_cs_find_mapping+0xe0/0xe0 [amdgpu]
>> [ 155.949344] amdgpu_drm_ioctl+0x4a/0x80 [amdgpu]
>> [ 155.949528] __x64_sys_ioctl+0x90/0xd0
>> [ 155.949537] do_syscall_64+0x5b/0x80
>> [ 155.949547] ? lock_is_held_type+0xe8/0x140
>> [ 155.949559] ? do_syscall_64+0x67/0x80
>> [ 155.949565] ? lockdep_hardirqs_on+0x7d/0x100
>> [ 155.949573] ? do_syscall_64+0x67/0x80
>> [ 155.949579] ? do_syscall_64+0x67/0x80
>> [ 155.949586] ? do_syscall_64+0x67/0x80
>> [ 155.949592] ? lockdep_hardirqs_on+0x7d/0x100
>> [ 155.949597] entry_SYSCALL_64_after_hwframe+0x63/0xcd
>> [ 155.949603] RIP: 0033:0x7fa1b7fd912f
>> [ 155.949610] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24
>> 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00
>> 00 0f 05 <89> c2 3d 00 f0 ff ff 77 18 48 8b 44 24 18 64 48 2b 04 25 28
>> 00 00
>> [ 155.949615] RSP: 002b:00007fa13fdfe920 EFLAGS: 00000246 ORIG_RAX:
>> 0000000000000010
>> [ 155.949621] RAX: ffffffffffffffda RBX: 00007fa13fdfebe8 RCX:
>> 00007fa1b7fd912f
>> [ 155.949625] RDX: 00007fa13fdfea10 RSI: 00000000c0186444 RDI:
>> 0000000000000165
>> [ 155.949629] RBP: 00007fa13fdfea10 R08: 00007f9ff80018e0 R09:
>> 00007fa13fdfe9c0
>> [ 155.949633] R10: 000000007eb11590 R11: 0000000000000246 R12:
>> 00000000c0186444
>> [ 155.949635] R13: 0000000000000165 R14: 00007f9ff8001860 R15:
>> 0000000000000005
>> [ 155.949647] </TASK>
>> [ 155.949650] irq event stamp: 5375
>> [ 155.949652] hardirqs last enabled at (5383): [<ffffffffb218e8fe>]
>> __up_console_sem+0x5e/0x70
>> [ 155.949657] hardirqs last disabled at (5390): [<ffffffffb218e8e3>]
>> __up_console_sem+0x43/0x70
>> [ 155.949659] softirqs last enabled at (3236): [<ffffffffb21012ed>]
>> __irq_exit_rcu+0xed/0x160
>> [ 155.949663] softirqs last disabled at (3231): [<ffffffffb21012ed>]
>> __irq_exit_rcu+0xed/0x160
>> [ 155.949665] ---[ end trace 0000000000000000 ]---
>> [ 155.949676] [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to
>> process the buffer list -14!
>>
>> [ 155.950689] ================================================
>> [ 155.950690] WARNING: lock held when returning to user space!
>> [ 155.950691] 6.1.0-0.rc3.20221101git5aaef24b5c6d.29.fc38.x86_64 #1
>> Tainted: G W L ------- ---
>> [ 155.950694] ------------------------------------------------
>> [ 155.950695] Sackboy-Win64-T/4850 is leaving the kernel with locks
>> still held!
>> [ 155.950697] 1 lock held by Sackboy-Win64-T/4850:
>> [ 155.950698] #0: ffff8a4e8aaad0a8
>> (&list->bo_list_mutex){+.+.}-{3:3}, at: amdgpu_cs_ioctl+0x903/0x2030
>> [amdgpu]
>>
>> But the most interesting thing is that all previous kernels 6.0, 5.19
>> are affected by the problem. It is not enough to revert the
>> dd80d9c8eecac8c516da5b240d01a35660ba6cb6 commit.
>
> Yeah, that totally confirms what I expected. The context lock just hides
> the problem because userspace tended to use the same context.
>
> What the application now seems to do is to use multiple contexts for its
> submission and in this case re-adding the lock doesn't even help.
>
> Thanks for that information, gets me a lot closer to a solution.
>
> Regards,
> Christian.
>
>>
>> Full kernel log 6.1-rc3 + patch above: https://pastebin.com/6ebmReer
>> Full kernel log 5.19: https://pastebin.com/5dRCgxNW
>>
>> Thanks.
>>
>
More information about the amd-gfx
mailing list