Date: Mon, 11 Nov 2019 14:28:50 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Hans Petter Selasky <hps@selasky.org> Cc: sgk@troutmask.apl.washington.edu, Mark Johnston <markj@freebsd.org>, freebsd-current@freebsd.org, freebsd-x11@freebsd.org Subject: Re: unkillable process consuming 100% cpu Message-ID: <20191111122850.GO2707@kib.kiev.ua> In-Reply-To: <64e980fa-aa9b-e656-92a1-110d9cbf9059@selasky.org> References: <20191107202919.GA4565@troutmask.apl.washington.edu> <20191107203223.GF16978@raichu> <20191108220935.GA856@troutmask.apl.washington.edu> <6a4e5993-623a-ebaa-8180-e11c7d48e706@selasky.org> <dc2aa04a-6f7b-e369-57c8-b9555df4dd15@selasky.org> <3e11232b-e2a6-9169-adb0-da0e94523b39@selasky.org> <64e980fa-aa9b-e656-92a1-110d9cbf9059@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20191111122850.GO2707>