1. 03 2月, 2022 1 次提交
    • Y
      drm/amdgpu: Add judgement to avoid infinite loop · a2170b4a
      yipechai 提交于
      1. The infinite loop causing soft lock occurs on multiple amdgpu cards
         supporting ras feature.
      2. This a workaround patch to fix 6492e1b0.
         It is valid for multiple amdgpu cards of the same type.
      3. The root cause is that each GPU card device has a separate .ras_list
         link header, but the instance and linked list node of each ras block
         are unique. When each device is initialized, each ras instance will
         repeatedly add link node to the device every time. In this way, only
         the .ras_list of the last initialized device is completely correct.
         the .ras_list->prev and .ras_list->next of the device initialzied
         before can still point to the correct ras instance, but the prev
         pointer and next pointer of the pointed ras instance both point to
         the last initialized device's .ras_ list instead of the beginning
         .ras_ list. When using list_for_each_entry_safe searches for
         non-existent Ras nodes on devices other than the last device, the
         last ras instance next pointer cannot always be equal to the
         beginning .ras_list, so that the loop cannot be terminated, the
         program enters a infinite loop.
       BTW: Since the data and initialization process of each card are the same,
            the link list between ras instances will not be destroyed every time
            the device is initialized.
       4. The soft locked logs are as follows:
      [  262.165690] CPU: 93 PID: 758 Comm: kworker/93:1 Tainted: G           OE     5.13.0-27-generic #29~20.04.1-Ubuntu
      [  262.165695] Hardware name: Supermicro AS -4124GS-TNR/H12DSG-O-CPU, BIOS T20200717143848 07/17/2020
      [  262.165698] Workqueue: events amdgpu_ras_do_recovery [amdgpu]
      [  262.165980] RIP: 0010:amdgpu_ras_get_ras_block+0x86/0xd0 [amdgpu]
      [  262.166239] Code: 68 d8 4c 8d 71 d8 48 39 c3 74 54 49 8b 45 38 48 85 c0 74 32 44 89 fa 44 89 e6 4c 89 ef e8 82 e4 9b dc 85 c0 74 3c 49 8b 46 28 <49> 8d 56 28 4d 89 f5 48 83 e8 28 48 39 d3 74 25 49 89 c6 49 8b 45
      [  262.166243] RSP: 0018:ffffac908fa87d80 EFLAGS: 00000202
      [  262.166247] RAX: ffffffffc1394248 RBX: ffff91e4ab8d6e20 RCX: ffffffffc1394248
      [  262.166249] RDX: ffff91e4aa356e20 RSI: 000000000000000e RDI: ffff91e4ab8c0000
      [  262.166252] RBP: ffffac908fa87da8 R08: 0000000000000007 R09: 0000000000000001
      [  262.166254] R10: ffff91e4930b64ec R11: 0000000000000000 R12: 000000000000000e
      [  262.166256] R13: ffff91e4aa356df8 R14: ffffffffc1394320 R15: 0000000000000003
      [  262.166258] FS:  0000000000000000(0000) GS:ffff92238fb40000(0000) knlGS:0000000000000000
      [  262.166261] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  262.166264] CR2: 00000001004865d0 CR3: 000000406d796000 CR4: 0000000000350ee0
      [  262.166267] Call Trace:
      [  262.166272]  amdgpu_ras_do_recovery+0x130/0x290 [amdgpu]
      [  262.166529]  ? psi_task_switch+0xd2/0x250
      [  262.166537]  ? __switch_to+0x11d/0x460
      [  262.166542]  ? __switch_to_asm+0x36/0x70
      [  262.166549]  process_one_work+0x220/0x3c0
      [  262.166556]  worker_thread+0x4d/0x3f0
      [  262.166560]  ? process_one_work+0x3c0/0x3c0
      [  262.166563]  kthread+0x12b/0x150
      [  262.166568]  ? set_kthread_struct+0x40/0x40
      [  262.166571]  ret_from_fork+0x22/0x30
      
      Fixes: 6492e1b0 ("drm/amdgpu: Unify ras block interface for each ras block")
      Signed-off-by: Nyipechai <YiPeng.Chai@amd.com>
      Reviewed-by: NJohn Clements <john.clements@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      a2170b4a
  2. 28 1月, 2022 1 次提交
  3. 26 1月, 2022 1 次提交
  4. 20 1月, 2022 1 次提交
  5. 19 1月, 2022 2 次提交
  6. 15 1月, 2022 18 次提交
  7. 12 1月, 2022 2 次提交
  8. 14 12月, 2021 3 次提交
  9. 08 12月, 2021 2 次提交
  10. 03 12月, 2021 1 次提交
    • S
      drm/amdgpu: skip query ecc info in gpu recovery · bab73f09
      Stanley.Yang 提交于
      this is a workaround due to get ecc info failed during gpu recovery
      
      [  700.236122] amdgpu 0000:09:00.0: amdgpu: Failed to export SMU ecc table!
      [  700.236128] amdgpu 0000:09:00.0: amdgpu: GPU reset begin!
      [  704.331171] amdgpu: qcm fence wait loop timeout expired
      [  704.331194] amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
      [  704.332445] amdgpu 0000:09:00.0: amdgpu: GPU reset begin!
      [  704.332448] amdgpu 0000:09:00.0: amdgpu: Bailing on TDR for s_job:ffffffffffffffff, as another already in progress
      [  704.332456] amdgpu: Pasid 0x8000 destroy queue 0 failed, ret -62
      [  710.360924] amdgpu 0000:09:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000013 SMN_C2PMSG_82:0x00000007
      [  710.360964] amdgpu 0000:09:00.0: amdgpu: Failed to disable smu features.
      [  710.361002] amdgpu 0000:09:00.0: amdgpu: Fail to disable dpm features!
      [  710.361014] [drm:amdgpu_device_ip_suspend_phase2 [amdgpu]] *ERROR* suspend of IP block <smu> failed -62
      Signed-off-by: NStanley.Yang <Stanley.Yang@amd.com>
      Reviewed-by: NHawking Zhang <Hawking.Zhang@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      bab73f09
  11. 02 12月, 2021 1 次提交
  12. 23 11月, 2021 2 次提交
  13. 14 10月, 2021 1 次提交
  14. 07 10月, 2021 1 次提交
  15. 05 10月, 2021 1 次提交
  16. 28 9月, 2021 2 次提交