Re: unkillable process consuming 100% cpu
Hans Petter Selasky <[email protected]>
| Newsgroups | gmane.os.freebsd.current,gmane.os.freebsd.devel.x11 |
|---|---|
| Message-ID | <[email protected]> |
On 2019-11-11 11:44, Hans Petter Selasky wrote: > Seems like we can optimise away one more write memory barrier. > > If you are building from ports, simply: > > cd work/kms-drm* > cat seqlock.diff | patch -p1 > Hi, Here is one more debug patch you can try. See if you get that print added in the patch in dmesg. --HPS _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[email protected]"
kdb.diff
(text/x-patch, 782 B)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index a6e0a16ae..0697d70f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -31,6 +31,8 @@
#include "amdgpu_vm.h"
#include "amdgpu_amdkfd.h"
+#include <sys/kdb.h>
+
/* Special VM and GART address alignment needed for VI pre-Fiji due to
* a HW bug.
*/
@@ -236,6 +238,12 @@ static int amdgpu_amdkfd_remove_eviction_fence(struct amdgpu_bo *bo,
*ef_count = 0;
}
+ if (resv != NULL &&
+ (struct thread *)SX_OWNER(resv->lock.base.sx.sx_lock) != curthread) {
+ printf("Called unlocked\n");
+ kdb_backtrace();
+ }
+
old = reservation_object_get_list(resv);
if (!old)
return 0;