unkillable process consuming 100% cpu

Konstantin Belousov kostikbel at gmail.com
Mon Nov 11 12:29:05 UTC 2019


On Mon, Nov 11, 2019 at 01:22:09PM +0100, Hans Petter Selasky wrote:
> 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
> 

> 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) {
This is really should be spelled as sx_xlocked().

> +		printf("Called unlocked\n");
> +		kdb_backtrace();
> +	}
> +
>  	old = reservation_object_get_list(resv);
>  	if (!old)
>  		return 0;

> _______________________________________________
> freebsd-current at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"



More information about the freebsd-current mailing list