linux-xiaomi-chiron/drivers/gpu/drm/amd/amdkfd
Yifan Zhang f924f3a1f0 drm/amdkfd: fix random KFDSVMRangeTest.SetGetAttributesTest test failure
KFDSVMRangeTest.SetGetAttributesTest randomly fails in stress test.

Note: Google Test filter = KFDSVMRangeTest.*
[==========] Running 18 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 18 tests from KFDSVMRangeTest
[ RUN      ] KFDSVMRangeTest.BasicSystemMemTest
[       OK ] KFDSVMRangeTest.BasicSystemMemTest (30 ms)
[ RUN      ] KFDSVMRangeTest.SetGetAttributesTest
[          ] Get default atrributes
/home/yifan/brahma/libhsakmt/tests/kfdtest/src/KFDSVMRangeTest.cpp:154: Failure
Value of: expectedDefaultResults[i]
  Actual: 4294967295
Expected: outputAttributes[i].value
Which is: 0
/home/yifan/brahma/libhsakmt/tests/kfdtest/src/KFDSVMRangeTest.cpp:154: Failure
Value of: expectedDefaultResults[i]
  Actual: 4294967295
Expected: outputAttributes[i].value
Which is: 0
/home/yifan/brahma/libhsakmt/tests/kfdtest/src/KFDSVMRangeTest.cpp:152: Failure
Value of: expectedDefaultResults[i]
  Actual: 4
Expected: outputAttributes[i].type
Which is: 2
[          ] Setting/Getting atrributes
[  FAILED  ]

the root cause is that svm work queue has not finished when svm_range_get_attr is called, thus
some garbage svm interval tree data make svm_range_get_attr get wrong result. Flush work queue before
iterate svm interval tree.

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-08-16 15:59:41 -04:00
..
cik_event_interrupt.c
cik_int.h
cik_regs.h
cwsr_trap_handler.h
cwsr_trap_handler_gfx8.asm
cwsr_trap_handler_gfx9.asm
cwsr_trap_handler_gfx10.asm
Kconfig
kfd_chardev.c Revert "drm/amdkfd: Add heavy-weight TLB flush after unmapping" 2021-07-13 11:59:41 -04:00
kfd_crat.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_crat.h
kfd_dbgdev.c
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h
kfd_debugfs.c
kfd_device.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_device_queue_manager.c drm/amdkfd: Walk through list with dqm lock hold 2021-06-18 17:14:13 -04:00
kfd_device_queue_manager.h
kfd_device_queue_manager_cik.c
kfd_device_queue_manager_v9.c
kfd_device_queue_manager_v10.c
kfd_device_queue_manager_vi.c
kfd_doorbell.c
kfd_events.c drm/amdkfd: fix a resource leakage issue 2021-05-19 22:44:12 -04:00
kfd_events.h
kfd_flat_memory.c drm/amdkfd: Disable SVM per GPU, not per process 2021-06-15 17:25:41 -04:00
kfd_int_process_v9.c drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00
kfd_interrupt.c
kfd_iommu.c
kfd_iommu.h
kfd_kernel_queue.c
kfd_kernel_queue.h
kfd_migrate.c drm/amdkfd: Maintain svm_bo reference in page->zone_device_data 2021-07-01 00:05:41 -04:00
kfd_migrate.h
kfd_module.c
kfd_mqd_manager.c
kfd_mqd_manager.h
kfd_mqd_manager_cik.c
kfd_mqd_manager_v9.c
kfd_mqd_manager_v10.c
kfd_mqd_manager_vi.c
kfd_packet_manager.c drm/amdkfd: add yellow carp KFD support 2021-06-04 16:03:09 -04:00
kfd_packet_manager_v9.c
kfd_packet_manager_vi.c
kfd_pasid.c
kfd_pm4_headers.h
kfd_pm4_headers_ai.h
kfd_pm4_headers_aldebaran.h
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: add sysfs counters for vm fault and migration 2021-06-30 00:18:23 -04:00
kfd_process.c Revert "drm/amdkfd: Make TLB flush conditional on mapping" 2021-07-13 11:59:22 -04:00
kfd_process_queue_manager.c drm/amdkfd: fix sysfs kobj leak 2021-06-30 00:18:23 -04:00
kfd_queue.c
kfd_smi_events.c
kfd_smi_events.h
kfd_svm.c drm/amdkfd: fix random KFDSVMRangeTest.SetGetAttributesTest test failure 2021-08-16 15:59:41 -04:00
kfd_svm.h drm/amdkfd: Maintain svm_bo reference in page->zone_device_data 2021-07-01 00:05:41 -04:00
kfd_topology.c drm/amdkfd: Set iolink non-coherent in topology 2021-06-18 17:11:17 -04:00
kfd_topology.h drm/amdkfd: move CoherentHostAccess prop to HSA_CAPABILITY 2021-06-11 16:05:27 -04:00
Makefile
soc15_int.h drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00